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环境。
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/fox-it/dissect.git
或者直接使用PyPI安装Dissect:
代码语言:javascript复制pip install dissect
Docker镜像
代码语言:javascript复制docker run -it --rm -v /path/to/targets/:/mnt:ro ghcr.io/fox-it/dissect:3.2
(向右滑动,查看更多)
工具使用
安装完成后,直接在命令行窗口中执行“target-”命令并按Tab键,就能够看到下列内容了:
代码语言:javascript复制$ target-<TAB>
target-fs target-query target-shell
target-dd target-mount target-reg
使用target-query获取基本信息
下列命令可以从一个目标收集基本的取证信息,其中包括主机名称、域名、操作系统信息、IP地址和用户信息等:
代码语言:javascript复制$ 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']
输出结果如下:
代码语言:javascript复制$ 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浏览目标信息
代码语言:javascript复制
$ 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计算文件哈希
代码语言:javascript复制
代码语言:javascript复制$ target-fs targets/MSEDGEWIN10.tar cat "C:WindowsSystem32Driversnull.sys" | sha256sum
32c714dd5588e5cdacc6980044d2a66a28c42b0d5208ac2ffbac5d64be95568 -
(向右滑动,查看更多)
代码语言:javascript复制
使用target-reg查看指定注册表键的子健并输出其内容
代码语言:javascript复制
$ 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.cim dissect.clfs dissect.cstruct dissect.esedb dissect.etl dissect.eventlog dissect.evidence dissect.executable dissect.extfs dissect.fat dissect.ffs dissect.hypervisor dissect.ntfs dissect.ole dissect.regf dissect.sql dissect.squashfs dissect.target dissect.thumbcache dissect.util dissect.vmfs dissect.volume dissect.xfs
Dissect线上体验版本
Dissect线上体验版本:
https://try.dissect.tools/
许可证协议
本项目的开发与发布遵循AGPL-3.0开源许可证协议。
项目地址