DumpIt
DumpIt是一个故障转储工具,该工具是免费的Comae Memory Toolkit的一部分(此工具的早期版本由MoonSols发行,已不再可用)。DumpIt可以获取主机物理内存的快照,并支持使用相关内存取证分析工具如Volatility Framework 、Rekall或Redline 等进行分析。
该工具不适用红队渗透过程,因为产生的转储文件非常巨大,该方法通常用于恶意软件分析。
DumpIt下载地址:
https://github.com/thimbleweed/All-In-USB/tree/master/utilities/DumpIt
https://mega.nz/#!gnBR1Q4Y!2jqIWppIM-ENT0eDZNn6t30ygKRlyUQVFr3fdjdKULQ
使用DumpIt
用户密码以散列格式存储在%SystemRoot%/system32/config/SAM
文件中,我们用DumpIt转储内存快照,然后使用Volatility分析SAM文件,从中找到hash。
Volatility安装脚本。从2.4开始,Volatility具有适用于Windows、Linux 和OSX的二进制包,下载链接。
使用Volatility进行分析,需要先根据转储文件的操作系统加载对应的配置文件进行处理。查看转储文件信息,从”Suggested Profile”中选择对应的系统:
1 | $ python vol.py imageinfo -f TEST7-PC-20200117-042206.raw |
接下来使用hivelist参数在内存中定位注册表配置单元的虚拟地址,以及磁盘上相应配置单元的完整路径:
1 | $ python vol.py --profile=Win7SP1x64 -f TEST7-PC-20200117-042206.raw hivelist |
知识补充
百度百科:
注册表相当于Windows系统中所有32位硬件/驱动和32位应用程序的数据文件,是一个系统信息的数据库。注册表文件在系统设置和缺省用户配置数据的情况下,存放在\系统文件夹\SYSTEM32\CONFIG目录下的6个文件,DEFAULT、SAM、SECURITY、SOFTWARE、USERDIFF和SYSTEM中;
用户的配置信息存放在系统所在磁盘的\Documents and Setting\目录,包括ntuser.dat,ntuser.ini和ntuser.dat.log。
其中每个文件的路径都由注册表项HKLM\SYSTEM\CurrentControlSet\Control\Hivelist下的键值指出,通过读取hivelist键值内容可找到SAM密码哈希文件路径。
找到SYSTEM
和SAM
的虚拟内存地址为:
1 | 0xfffff8a00000d010 0x000000002c571010 \REGISTRY\MACHINE\SYSTEM |
从内存中获取hash:
-y:SYSTEM的虚拟地址
-s:SAM配置单元的虚拟地址
1 | $ python vol.py --profile=Win7SP1x64 -f TEST7-PC-20200117-042206.raw hashdump -y 0xfffff8a00000d010 -s 0xfffff8a000c10010 |
获取到了LM:NTML hash格式的数据,解密NTML hash。下面可以尝试使用john或hashcat工具解密hash。
在线解密平台Free Password Hash Cracker
1 | afc44ee7351d61d00698796da06b1ebf NTLM toor |
虚拟机转储分析
vmss2core是创建虚拟机的核心转储工具,如果该虚拟机已挂起 (.vmss) 或快照 (.vmsn) 检查点状态文件,可以使用Volatility工具解析这些文件以提取哈希转储。
vmsnparser工具也是一个分析虚拟机转储的工具。详情参考VMware Snapshot and Saved State Analysis。
Reference
- Post title:使用DumpIt从RAM转储中提取Hash
- Post author:ssooking
- Create time:2020-12-23 15:30:00
- Post link:https://ssooking.github.io/2020/12/使用dumpit从ram转储中提取hash/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.