Windowsのスレッドインジェクションの概念検証 - yokohama/oreshic-record GitHub Wiki

Windowsのスレッドインジェクションの概念検証

Date: 2024-03-12 10:27:21

スレッドインジェクションとは、実行中のプロセスを対象にして、そのプロセスの中に新たにスレッドを追加して、悪意あるコードを実行します。

  • 手順
    • 制御するターゲットプロセスを見つけて開きます。今回はPIDで指定します。
    • 悪意のあるコード用にローカルプロセスにメモリ領域を割り当てます。
    • 割り当てられたローカルプロセスのメモリに悪意のあるコードを書き込みます。
    • 全スレッドからPIDをキーに、ハイジャックするターゲットプロセスを特定します。
    • 対象のリモートプロセスにスレッドを開きます。
    • 作成したスレッドを一時停止します。
    • スレッドコンテキストを取得します。
    • コンテキストの命令ポインタを悪意のあるコードの開始位置に更新します。
    • 更新したコンテキストをターゲットのスレッドにセットします。
    • ハイジャックされたスレッドを再開します。

ソースコードはこちらです。

https://github.com/yokohama/winlab/blob/main/thread-injector.cpp

⚠️ **GitHub.com Fallback** ⚠️