
combase.dll 内の Control Flow Guard ポインターを上書きすることでコード実行をハイジャックします。
ブログ記事 Control Flow Hijacking via Data Pointers で説明したプロセスインジェクションの概念実証を実装したビーコンオブジェクトファイルです。
COM プロキシ関数によって呼び出される combase.dll の Control Flow Guard 関数ポインタを上書きすることで、制御フローを乗っ取ります。
explorer.exe は COM プロキシへの依存度が高いため、トリガーが容易という点で現時点で最良の候補です。実験してみることをお勧めします。Win10 21H2 (19044.5737) と Win11 24H2 (26100.3775) でのみテスト済みです。datainject <pid> <shellcode path>
例として、すべてのプロセス ID は 1234 と仮定しています。
explorer.exe に注入し、COM 呼び出し時にシェルコードを実行します(右クリックまたはエクスプローラーを開くことでトリガー可能)
datainject 1234 C:\users\attacker\payloads\beacon_x64.bin