ETW-Patcher — トランポリンフックを用いた回避 PoC
概要
ETW-Patcherは、C++で書かれたProof of Concept (PoC) リポジトリで、トランポリンフッキングと呼ばれる手法を使い、Windowsの標準的な検知メカニズムを無効化したりその挙動を検査したりすることを目的としています。主な対象はAMS I(Antimalware Scan Interface)、ETW(Event Tracing for Windows)、およびNtTraceEvent(Sysmonなどによる監視で利用されるAPI)です。本プロジェクトはセキュリティ研究や検知回避技術の理解、対策検討のための教材的価値を提供しますが、誤用や不正利用には注意が必要です。
リポジトリの統計情報
- スター数: 2
- フォーク数: 1
- ウォッチャー数: 2
- コミット数: 4
- ファイル数: 2
- メインの言語: C++
主な特徴
- トランポリンフックによる関数の介入(Trampoline Hooking)を実装したPoC。
- AMSI、ETW、NtTraceEventといった代表的な検知ポイントを対象にしている。
- C++で構成され、軽量なコードベースで挙動確認が可能。
- 研究・教育目的のサンプルとして、検知回避のメカニズム理解に役立つ。
技術的なポイント
ETW-Patcherの技術的核は「トランポリンフック」にあります。トランポリンフックとは、ターゲット関数の先頭数バイトを書き換えて実行フローを別の位置(トランポリン)へ飛ばし、元の関数を拡張・置換する手法です。これにより、オリジナル関数の動作を読み替えたり、フック関数で処理を差し挟んでログや検出イベントを無効化することができる、という概念的解説がリポジトリの中心です。
対象とするモジュールは、Windowsのセキュリティ検査やイベント送信に関わるもの(AMSI、ETW関連API、NtTraceEvent)で、これらを介してセキュリティ製品や監視ツールがイベントを受け取る仕組みを理解・検証できます。実装はC++でシンプルに構成されており、PoCの目的は「どのように検知ポイントに介入できるか」を示すことにあります。
重要なのは本実装が攻撃的なガイドラインを提供するものではなく、セキュリティ担当者がログの欠落や検知の盲点を把握し、適切な対策(整合性検査、アプリケーション署名、メモリ保護やカーネル側の監視など)を検討するための資料として活用する点です。実運用での対策としては、フック検出やコード整合性の定期チェック、ホワイトリスト/ブラックリストだけに頼らない多層防御が重要になります。
(上記は概念的説明に留め、具体的なフック手順やバイパス方法といった詳細な手順は記載していません。)
プロジェクトの構成
主要なファイルとディレクトリ:
- ETW-Patcher: dir
- README.md: file
README抜粋では、AMSI/ETW/NtTraceEventに対するトランポリンフックに関する目的と注意喚起(Disclaimer)が明記されています。リポジトリ自体は小規模で、実験的コードと簡単な説明から成っています。
利用上の注意と防御的見地
本プロジェクトは研究と教育目的で提供されており、正当な管理下での検証以外での使用は法的・倫理的問題を引き起こす可能性があります。組織のセキュリティ担当者は、こうした技術を理解することで次のような対応を検討できます:
- フックやメモリ改変の検出技術(コード整合性チェック、関数先頭のバイト列比較など)。
- エンドポイントの振る舞い検知(異常なAPI呼び出しや通信パターンの監視)。
- カーネルレベルでのより堅牢な監視や、ハードウェア支援の保護機構の導入。
- セキュリティ教育と侵入検知の演習を通じた実践的対応力の向上。
また、公開PoCを閲覧して得た知見は攻撃者にも利用され得るため、情報管理と利用ポリシーの整備が重要です。
まとめ
小規模だが検知回避技術の理解に有用なPoC。研究・防御目的で慎重に扱うべき。
リポジトリ情報:
- 名前: ETW-Patcher
- 説明: Esta é uma PoC (Proof of Concept) em C++ que utiliza a poderosa técnica de Trampoline Hooking para desativar ou verificar as funcionalidades de detecção mais comuns no Windows.
- スター数: 2
- 言語: C++
- URL: https://github.com/137f/ETW-Patcher
- オーナー: 137f
- アバター: https://avatars.githubusercontent.com/u/191657287?v=4
READMEの抜粋:
🚀 ETW-Patcher: Trampoline Evasion Toolkit (AMSI/ETW/Sysmon)
Bem-vindo ao ETW-Patcher! Esta é uma PoC (Proof of Concept) em C++ que utiliza a poderosa técnica de Trampoline Hooking para desativar ou verificar as funcionalidades de detecção mais comuns no Windows.
Especificamente, ela visa:
- AMSI (Antimalware Scan Interface)
- ETW (Event Tracing for Windows)
- NtTraceEvent (comumente usado para monitoramento, como o Sysmon)
⚠️ Disclaimer: Esta ferramenta é es…