溯源取证-内存取证基础篇

admin 2024年11月13日22:05:58评论62 views字数 2326阅读7分45秒阅读模式
回复20230404获取映像工具n使用工具:
volatility_2.6_lin64_standalone
镜像文件:
CYBERDEF-567078-20230213-171333.raw
使用环境:

kali linux 2022.02

我们只有一个RAW映像文件,如何从该映像文件中提取出我们想要的东西呢?

  1. Which volatility profile would be best for this machine?
    我理解为机器的名字是什么

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw imageinfo

溯源取证-内存取证基础篇

-f 是用于指定打开raw映像时要使用的文件名的选项
imageinfo  是用于识别映像信息(如操作系统、Service Pack、硬件体系结构和其他有用信息)的插件命令

2.How many processes were running when the image was acquired?
获取到这个映像的时候,有多少个进程是正在运行的

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw profile=WinXPSP2x86 pslist

溯源取证-内存取证基础篇

pslist  是用于打印所有正在运行的进程的插件命令
profile 用于指定映像的机器名字
题目问的是正在运行的,我们获取的运行总数是25个,需要去掉已经结束的6个进程,这里面我指定的profile 是WinXPSP2x86,但是实际上指定WinXPSP3x86也没影响

溯源取证-内存取证基础篇

3.What is the process ID of cmd.exe?
CMD进程的PID号码是多少

溯源取证-内存取证基础篇

4.What is the name of the most suspicious process?
最可疑的进程是什么名字?

溯源取证-内存取证基础篇

这里其实一目了然,看进程的名字猜测这是一个rootkit病毒

5.Which process shows the highest likelihood of code injection?
哪一个进程被注入的可能性最高
此题其实考验对rootkit病毒的熟知程度,通常情况下rootkit病毒在windows系统中最喜欢干的事就是通过svchost进程进行捆绑,因为svchost是系统守护程序,是不能通过常规手段停止的,那么任何与之关联的程序也都没有办法通过常规杀软去清除,因为svchost启动等级高于常规杀软,所以若是想清除与svchost捆绑的程序,需要进入到系统安全模式下,并使用最小化启动,然后找到svchost注册表项清除对应捆绑关系再删掉木马就行了,这个技巧笔者在2022年的紫狐Rootkit的时候提到过,大家感兴趣的可以翻阅一下

溯源取证-内存取证基础篇

6.There is an odd file referenced in the recent process. Provide the full path of that file.
接上题,该进程在运行过程中引用了一个奇怪的文件,文件完整路径是什么

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw profile=WinXPSP2x86 -p 880 handles -t file

-p  是指定进程 ID 的选项
handles  是用于打印每个进程的打开句柄列表的插件命令
-t  是一个选项,用于指定您希望结果显示的对象类型。
此题依然考验对rootkit病毒的理解,通常情况下rootkit会释放两个文件,一个是sys驱动文件,一个是dll文件,rootkit自身只是一个释放程序,dll文件自身功能通常为通信木马,sys驱动程序为保活文件

7.What is the name of the injected dll file loaded from the recent process?
接上题,该进程在运行过程中被注入的DLL文件是什么

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw profile=WinXPSP2x86 ldrmodules -p 880 | grep -i false

溯源取证-内存取证基础篇

ldrmodules 是用于检测未链接 DLL 的插件命令
grep -i false 这是为了过滤以仅显示带有单词“false”的结果
这里其实就是通过恶意的dll文件是未签名的来寻找,因为正常的dll动态链接库都是通过了签名校验的,但是恶意的dll文件是没有通过签名校验的,PChunter找病毒也是一样的原理

8.What is the base address of the injected dll?
这个注入的dll文件的内存地址是什么

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw profile=WinXPSP2x86 malfind -p 880  

溯源取证-内存取证基础篇

malfind  是查找隐藏和注入代码的插件命令

我们可以把该dll文件导出到我们想要的目录里

./volatility_2.6_lin64_standalone -f CYBERDEF-567078-20230213-171333.raw profile=WinXPSP2x86 dlldump -p 880 --base=0x980000 --dump-dir=.

溯源取证-内存取证基础篇

溯源取证-内存取证基础篇

dlldump 导出dll文件的插件
--base 指定内存地址
--dump-dir 指定存放路径

计算md5

md5sum module.880.9aab590.980000.dll

溯源取证-内存取证基础篇

溯源取证-内存取证基础篇

原文始发于微信公众号(我不懂安全):溯源取证-内存取证基础篇

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月13日22:05:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   溯源取证-内存取证基础篇https://cn-sec.com/archives/1652407.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息