Alpha_h4ck
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

关于Dissect
Dissect是一款功能强大的事件响应和数字取证框架,广大研究人员和企业安全专家可以使用该工具实现快速访问和分析各种磁盘和文件格式的取证数据。该工具是一个元数据包,专为红队研究人员设计,并且执行后会自动安装其他所有的功能组件。
Dissect可以使我们摆脱数据格式和平台的限制,并消除了对如何访问调查数据方面的担忧。在该工具的帮助下,我们可以专注于执行分析、开发复杂的分析插件或执行研究。值得一提的是,具有脚本编写经验的高级分析人员还可以通过使用各种Dissect API和解析器创建新的工具和插件来利用Dissect的全部功能。
功能介绍
1、根据所有取证数据和事件日志一次性生成事件时间轴;
2、识别组件中的异常情况;
3、在虚拟机磁盘中执行勒索软件加密事件响应;
4、在几小时内对上千台主机执行复杂的IoC检测;
5、将Bitlocker加密磁盘中的所有USN日志记录导出到Splunk,而无需等待解密;
6、直接从虚拟机管理程序收集所有实时虚拟机的取证数据;
7、支持将所有的分析数据导出为任何数据格式,例如CSV、JSON或Avro等,也可以直接传输到Splunk或Elastic;
工具要求
由于该项目基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/fox-it/dissect.git
或者直接使用PyPI安装Dissect:
pip install dissect
Docker镜像
docker run -it --rm -v /path/to/targets/:/mnt:ro ghcr.io/fox-it/dissect:3.2
工具使用
安装完成后,直接在命令行窗口中执行“target-”命令并按Tab键,就能够看到下列内容了:
$ target-<TAB> target-fs target-query target-shell target-dd target-mount target-reg
使用target-query获取基本信息
下列命令可以从一个目标收集基本的取证信息,其中包括主机名称、域名、操作系统信息、IP地址和用户信息等:
$ target-query /mnt/SCHARDT.001 -f hostname,domain,os,version,ips -d ';' <Target /mnt/SCHARDT.001> N-1A9ODN6ZXK4LQ;None;windows;Microsoft Windows XP (NT 5.1) 2600 ;['192.168.1.111']
输出结果如下:
$ target-query /mnt/SCHARDT.001 -f users <windows/user hostname='N-1A9ODN6ZXK4LQ' domain=None sid='S-1-5-18' name='systemprofile' home='%systemroot%\\system32\\config\\systemprofile'> <windows/user hostname='N-1A9ODN6ZXK4LQ' domain=None sid='S-1-5-19' name='LocalService' home='%SystemDrive%\\Documents and Settings\\LocalService'> <windows/user hostname='N-1A9ODN6ZXK4LQ' domain=None sid='S-1-5-20' name='NetworkService' home='%SystemDrive%\\Documents and Settings\\NetworkService'> <windows/user hostname='N-1A9ODN6ZXK4LQ' domain=None sid='S-1-5-21-2000478354-688789844-1708537768-1003' name='Mr. Evil' home='%SystemDrive%\\Documents and Settings\\Mr. Evil'>
使用target-shell浏览目标信息
$ target-shell /mnt/SCHARDT.001 N-1A9ODN6ZXK4LQ /> info OS Plugin : WindowsPlugin Disks : - <SplitContainer size=4871268352 vs=<DissectVolumeSystem serial=3965578333>> Volumes : - <Volume name='part_00007e00' size=4869333504 fs=<NtfsFilesystem>> Hostname : N-1A9ODN6ZXK4LQ OS : Microsoft Windows XP (NT 5.1) 2600 Domain : None IPs : ['192.168.1.111'] N-1A9ODN6ZXK4LQ /> cd sysvol N-1A9ODN6ZXK4LQ /sysvol> cat boot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect N-1A9ODN6ZXK4LQ /sysvol> cd Documents and Settings N-1A9ODN6ZXK4LQ /sysvol/Documents and Settings> ls All Users Default User LocalService Mr. Evil NetworkService
使用target-fs计算文件哈希
$ target-fs targets/MSEDGEWIN10.tar cat "C:\Windows\System32\Drivers\null.sys" | sha256sum 32c714dd5588e5cdacc6980044d2a66a28c42b0d5208ac2ffbac5d64be95568 -
使用target-reg查看指定注册表键的子健并输出其内容
$ target-reg targets/MSEDGEWIN10.tar -k "HKLM\\SYSTEM\\CURRENTCONTROLSET\\ENUM\\USB\\VID_0E0F&PID_0003&MI_00" + 'VID_0E0F&PID_0003&MI_00' (2020-12-09 12:06:15.867247+00:00) + '7&3ae26960&0&0000' (2022-08-17 10:56:49.798122+00:00) - 'DeviceDesc' '@input.inf,%hid.devicedesc%;USB Input Device' - 'LocationInformation' '000b.0000.0000.005.000.000.000.000.000' - 'Capabilities' 128 - 'Address' 5 - 'ContainerID' '{ee33e11a-3a16-11eb-bde6-806e6f6e6963}' - 'HardwareID' ['USB\\VID_0E0F&PID_0003&REV_0102&MI_00', 'USB\\VID_0E0F&PID_0003&MI_00'] - 'CompatibleIDs' ['USB\\Class_03&SubClass_00&Prot_00', 'USB\\Class_03&SubClass_00', 'USB\\Class_03'] - 'ClassGUID' '{745a17a0-74d3-11d0-b6fe-00a0c90f57da}' - 'Service' 'HidUsb' - 'Driver' '{745a17a0-74d3-11d0-b6fe-00a0c90f57da}\\0000' - 'Mfg' '@input.inf,%stdmfg%;(Standard system devices)' - 'ConfigFlags' 0 - 'ParentIdPrefix' '8&367bfb7c&0'
Dissect组成
当前版本的Dissect由下列开源项目组成:
Dissect线上体验版本
Dissect线上体验版本:【传送门】
许可证协议
本项目的开发与发布遵循AGPL-3.0开源许可证协议。
项目地址
Dissect:【GitHub传送门】
参考资料
https://docs.dissect.tools/en/latest/
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)