电子取证
使用dumpit工具将计算机内存镜像保存。并生成raw文件格式文件。
![](https://i-blog.csdnimg.cn/blog_migrate/3d99f87010e3a4465388e7a60f91c342.png)
检测镜像文件基本信息
volatility -f 2008.raw imageinfo
![](https://i-blog.csdnimg.cn/blog_migrate/bbd71c25b7247bed0ec00bde9dedcffc.png)
检测进程列表及物理内存位置
volatility -f 2008.raw --profile=Win2008R2SP1x64 pslist
![](https://i-blog.csdnimg.cn/blog_migrate/ecb003cae93ad23ab92f3619a1f7ba6e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cc1745fcfc360243eab48ac444dc4b14.png)
产看进程树,可以轻松了解各进程之间的关系:父进程与子进程
volatility -f 2008.raw --profile=Win2008R2SP1x64 pstree
![](https://i-blog.csdnimg.cn/blog_migrate/8b41374818d742dae65d5d04be7afaa7.png)
蜂巢:
在注册表中,有根文件夹。这些根文件夹被称为蜂巢。 以下是5个注册表的配置单元:
![](https://i-blog.csdnimg.cn/blog_migrate/33b575c9fbc505a5fc07914230818a98.png)
注册表结构:
注册表由键、子键和值项构成,一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。通常,值是0或1,意味着开或关,也可以包含通常以十六进制显示的更复杂的信息。
注册表信息取证价值:
对于计算机取证人员来说注册表无疑是块巨大的宝藏。通过注册表取证人员能分析出系统发生了什么,发生的时间以及如何发生的等。
查看注册表蜂巢文件
volatility -f 2008.raw --profile=Win2008R2SP1x64 hivelist
![](https://i-blog.csdnimg.cn/blog_migrate/1358fbd8905f816c0aceba9e4992246f.png)
按虚内存地址来查看注册表内容(计算机是使用虚地址【virtual】寻址的)
通过dump software的虚内存起始地址可以查看电脑上的所有软件的注册表信息
volatility -f 2008.raw --profile=Win2008R2SP1x64 hivedump -o 0xfffff8a0005fc410
![](https://i-blog.csdnimg.cn/blog_migrate/a9b6e11afb275cfb9ba365d90b56b3b2.png)
如果想查看SAM表结构需要右键SAM给管理员增加权限,默认情况下管理员没有查看权限
![](https://i-blog.csdnimg.cn/blog_migrate/9771cd8d119959dd373fdde445eb476e.png)
高级---设置继承权限(子项可以继承父项的权限)
![](https://i-blog.csdnimg.cn/blog_migrate/cbb99d5daa46f6ca056f9d71e2262b12.png)
![](https://i-blog.csdnimg.cn/blog_migrate/716fc19e22b683fd514ed910debb3db8.png)
SAM\Domains\Account\Users\Names 这就是用户账号的物理位置
![](https://i-blog.csdnimg.cn/blog_migrate/6b46806b5f7a0ee6124c53aee6425626.png)
使用volatlity查看当前内存镜像中的用户
volatility -f 2008.raw --profile=Win2008R2SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
![](https://i-blog.csdnimg.cn/blog_migrate/a909fce97d5c6764ee36e91f864ab78d.png)
查看最后登录的用户
volatility -f 2008.raw --profile=Win2008R2SP1x64 printkey -K "SOFTWARE
\Microsoft\Windows NT\CurrentVersion\Winlogon"
![](https://i-blog.csdnimg.cn/blog_migrate/6c8f22527dbd367592b23ec8ba933b2f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f8534fee067c3070caf44a7ca5661036.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a5a3752db64bf7350c917ea1ccd25140.png)
提取hash
volatility -f 2008.raw --profile=Win2008R2SP1x64 hashdump -y <system> -s <SAM>
<system>使用system键值的虚地址
<SAM>使用SAM键值的虚地址
0xfffff8a000024010 0x000000000210e010 \REGISTRY\MACHINE\SYSTEM
0xfffff8a0005e2010 0x00000000390fe010 \SystemRoot\System32\Config\SAM
volatility -f 2008.raw --profile=Win2008R2SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a0005e2010
![](https://i-blog.csdnimg.cn/blog_migrate/da5a0b71d3bb4380de0b0fb3cdb9cd7e.png)
查看正在运行的程序、运行过多少次、最后一次运行时间等。
volatility -f 2008.raw --profile=Win2008R2SP1x64 userassist
当前内存中运行的程序一共2704个,后面只截取了其中的notepad、explorer两个程序信息。
![](https://i-blog.csdnimg.cn/blog_migrate/fd42995bb3de0323b748aa9e9b463b50.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3968d53bcb0d72588cb2f30a55bcfe63.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f7b2930d1b5e9e86d085fa46f96f8c31.png)
![](https://i-blog.csdnimg.cn/blog_migrate/55253667ada3d5066c2a637875e3a702.png)
dump进程ID为2900的进程数据,并将其保存到mem目录下
explorer.exe 2900
volatility -f 2008.raw --profile=Win2008R2SP1x64 memdump -p 2900 -D mem/
![](https://i-blog.csdnimg.cn/blog_migrate/08098301ce1908774c8f38c9ff70ea51.png)
memdump将与explorer.exe 相关的内存全部dump下来保存在2900.dmp中。
![](https://i-blog.csdnimg.cn/blog_migrate/43bacc46e88316d18f185d3a86570183.png)
使用hexediter查看dump生成的dmp文件数据
hexeditor mem/2900.dmp
![](https://i-blog.csdnimg.cn/blog_migrate/07146c069679246572937951be388e43.png)
查看内存中的字符串
strings 2900.dmp | more
也可以将字符串全部导出txt
strings 2900.dmp >> 2900.txt
提取关于password的字符串
strings 2900.dmp | grep password
提取关于@的字符串
strings 2900.dmp | grep @
![](https://i-blog.csdnimg.cn/blog_migrate/bc2cd841637d9921f3477eff6df87344.png)
查看命令行历史
volatility -f 2008.raw --profile=Win2008R2SP1x64 cmdscan
可以看到最近DumpIt.exe程序调用cmd命令执行
![](https://i-blog.csdnimg.cn/blog_migrate/67c1c4265681daac31f2d7d74056d73e.png)
查看网络连接
volatility -f 2008.raw --profile=Win2008R2SP1x64 netscan
![](https://i-blog.csdnimg.cn/blog_migrate/7dc4d3cdcccf16215488ea419de7f22c.png)
查看IE的历史信息
volatility -f 2008.raw --profile=Win2008R2SP1x64 iehistory
![](https://i-blog.csdnimg.cn/blog_migrate/c803a14838d970cee00c3b7c75c08458.png)
从多个位置搜集系统活动信息
volatility -f 2008.raw --profile=Win2008R2SP1x64 timeliner
![](https://i-blog.csdnimg.cn/blog_migrate/a8d2a1a1c7559f2e21acd98a2a92583c.png)
查看已经建立的连接(可以用于发现反弹连接)connscan只支持32位系统
volatility -f 2008.raw --profile=Win2008R2SP1x64 connscan
Firefoxhistory 插件
– http://downloads.volatilityfoundation.org/contest/2014/
DaveLasalle_ForensicSuite.zip
– /usr/lib/python2.7/dist-packages/volatility/plugins/
volatility -f 2008.raw --profile=Win2008R2SP1x64 firefoxhistory
▪ USN日志记录插件
– NTFS特性,用于跟踪硬盘内容变化(不记录具体变更内容)
usnparser.py
volatility -f 2008.raw --profile=Win2008R2SP1x64 usnparser --output=csv --outputfile=usn.csv
Volatility插件
内存取证发现恶意软件
– https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples
– https://code.google.com/archive/p/volatility/wikis/
SampleMemoryImages.wiki
内存取证发现恶意软件
– XP 建立 meterpreter session 后dump ٖ内存分析
– volatility -f xp.raw --profile=WinXPSP3x86 pstree
– volatility connscan 网络连接
– volatility getsids -p 111,222 # SID
– volatility dlllist -p 111,222 # 数量
– volatility malfind -p 111,222 -D mem/ #检查结果查毒
![](https://i-blog.csdnimg.cn/blog_migrate/44a2bd022090708d0fd6b214956ffede.png)