
WinDbgプラグイン。マルウェアの動的解析とIOC抽出を自動化します。デバッガ内で実行し、事前定義された指標を収集してディスクに書き込み、インシデント対応と封じ込めに使用します。
マルウェア解析自動化のためのデバッグモジュール
Lupoの使用方法に関するステップバイステップの投稿(画像と手順付き)については、こちらの投稿をご覧ください: https://medium.com/@vishal_thakur/lupo-malware-ioc-extractor-cc86ae76b85d
マルウェアを伴うセキュリティインシデントに取り組んでいると、解析プロセスの一部を自動化する必要性を感じる状況に定期的に直面します。完全な手動解析は、時間、スキル、規模など多くの要因により、ほとんどの場合、すべてのケースで可能ではないからです。
Lupoは主に、そのプロセスを可能な限り自動化し加速するために作成しました。Lupoはデバッガとモジュールとして使用できる動的解析ツールです。最初のバージョンは人気のWindowsデバッガであるWinDbgと連携します。将来的には他のデバッガ向けのバージョンもリリースする予定です。
このツールの動作方法は非常に単純です。Lupoをデバッガにロードして実行します。マルウェアを実行し、事前定義されたIOCを収集してディスク上のテキストファイルに書き込みます。その後、この情報を使用してマルウェアキャンペーンを封じ込め中和したり、取り組んでいるセキュリティインシデントに対応したりできます。

ツール自体の詳細についてはもう少し説明しますが、内部動作についてはあまり詳しくは触れません(少なくともここでは)。マルウェアの作者は、私たちに問題を引き起こすためにコードを迅速に調整できるほど賢いということを念頭に置く必要があります!
このツールはC++で書かれており、Windowsデバッグフレームワークを使用してコードを実行します。解析プロセスの自動化を支援するために、WinDbgの「プラグイン」として使用できます。
ツールについてもっと知りたい場合は、お気軽に連絡するか、以下にコメントしてください。
このリポジトリからすべてのDLLをダウンロードしてください。
また、すべてのVC++依存関係が必要です。最も簡単な方法は、Visual Studio(Communityバージョンで可)をインストールし、すべてのC++コンポーネントを選択することです。
このツールの使用は非常に簡単です。以下のように動作します:
Lupo拡張機能を拡張機能ディレクトリ(デフォルト:インストールディレクトリのsdk\samples\extsサブディレクトリ)に保存します。また、コマンド「.extpath[+] [Directory[;…]]」を使用して拡張機能パスを定義することもできます。
デバッガを起動します
デバッグするプロセス(この場合はマルウェア)をアタッチします
「.load」コマンドを使用してLupoをロードします。
次のコマンドを使用してLupoを実行します:「lupo.go」
すべての結果がコンソールに表示され、ディスク上の新しいテキストファイルにも書き込まれます。このテキストファイルのパスと名前もコンソールに表示されます。以上です!
Lupoの結果は、私が書いた別のツール「Ragno」と組み合わせて使用することもできます。Ragnoは、おそらく対処しているキャンペーンのより広いフットプリントのためにOSINTを集約することで、調査と対応を前進させます。Ragnoについては、こちらの別の投稿で読むことができます: https://medium.com/@vishal_thakur/introducing-ragno-ioc-multiplier-9b75834353bb