Dissect:一款功能强大的事件响应和数字取证框架

2023-12-12 18:09:19 浏览数 (1)

关于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环境。

工具安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言: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开源许可证协议。

项目地址

Dissect

https://github.com/fox-it/dissect

0 人点赞