このツールは、C++の学習と、Windowsシステムにインストールされているドライバの初期評価(例:OEMや企業が開発したマスターイメージ)のために作成しています。ターゲットの選択、簡単に取れる脆弱性の発見、深掘りバイナリ分析の補助に役立つことを目的としています。現在不安定で、活発に開発中です。
これらのユースケースでは、DeviceTree、WinObjEx64、WinDbgを組み合わせて使用していました。面倒で手作業が多く、簡単にスケールしないため、DIRTはより便利にすることを試みています。
これはVisual Studio 2015以降でコンパイルできるはずです。
bcdedit -debug on を使用してデバッグモードを有効にします。kldbgdrv.sys (WinDbgに付属) を DIRT.exe と同じディレクトリに配置します。DIRT.exe > output.txt を実行します。--lp-only および --no-msft スイッチを使用して結果をフィルタリングできます。
以下は、出力イメージのサンプルです:
DIRT v0.1.0: Driver Initial Reconnaisance Tool (@Jackson_T)
Repository: https://github.com/jthuraisamy/DIRT
Compiled on: Aug 22 2018 00:01:04
INFO: Hiding Microsoft drivers (--no-msft).
INFO: Only showing drivers that low-privileged users can interface with (--lp-only).
Capcom: Capcom
Path: C:\Windows\System32\Capcom.sys
DispatchDeviceControl: 0xFFFFF8024C9A0590
Devices: 1
└── \Device\Htsysm72FB (open DACL, 1 symlinks)
└── \\.\Global\Htsysm72FB
SmbDrvI: SmbDrvI (Synaptics Incorporated)
Path: C:\WINDOWS\System32\drivers\Smb_driver_Intel.sys - Hooked by Wdf01000 (Microsoft Corporation)
DispatchDeviceControl: 0xFFFFF808212C72B0
Devices: 1
└── \Device\SmbDriver (open DACL, 1 symlinks)
└── \\.\Global\SmbDriver
nvlddmkm: nvlddmkm
Path: C:\Windows\System32\DriverStore\FileRepository\nvlt.inf_amd64_ed3ba3fb30d4dd86\nvlddmkm.sys
DispatchDeviceControl: 0xFFFFF80822D074D0
Devices: 2
├── \Device\NvAdminDevice (open DACL, 1 symlinks)
│ └── \\.\Global\NvAdminDevice
└── \Device\UVMLiteController0x1 (open DACL, 1 symlinks)
└── \\.\Global\UVMLiteController
また、DIRT::Main::ExportCSV() を使用したCSV出力も利用可能です:

Jackson Thuraisamy (2018). このコードは、@hFireF0X による WinObjEx64 プロジェクトから多大に派生しています。
MIT