Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DllNotificationInjection — ローカルおよびリモートプロセスにおけるDLL通知コールバックの概念を利用して動作する、新しい“threadless”プロセスインジェクション技術のPoC。 | Kitploit
ツール/GitHubGitHub/dec0ne/dllnotificationinjection
エクスプロイトシェルコードレッドチーミング
GitHubdec0ne/dllnotificationinjection

DllNotificationInjection

ローカルおよびリモートプロセスにおけるDLL通知コールバックの概念を利用して動作する、新しい“threadless”プロセスインジェクション技術のPoC。

リポジトリを見る
471833年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DllNotificationInjection

image image

主な貢献者

Dec0ne

説明

DllNotificationInection は、ローカルおよびリモートプロセスにおける DLL 通知コールバックの概念を利用した、新しい「スレッドレス」プロセスインジェクション技術の POC です。

詳細は以下のブログ記事をご覧ください:

https://shorsec.io/blog/dll-notification-injection/

動作原理

DllNotificationInection は、リモートプロセス内に新しい LDR_DLL_NOTIFICATION_ENTRY を作成することで動作します。リストヘッドの List.Flink とリストの最初のエントリ(現在は2番目)の List.Blink をパッチすることで、手動でリモートの LdrpDllNotificationList に挿入します。

新しい LDR_DLL_NOTIFICATION_ENTRY は、カスタムトランポリンシェルコード(@C5pider の ShellcodeTemplate プロジェクトで作成)を指します。このシェルコードは変更を復元し、TpWorkCallback を使用して新しいスレッドで悪意のあるシェルコードを実行します。

リモートプロセスに新しいエントリを手動で登録した後は、リモートプロセスが DLL をロードまたはアンロードして DLL 通知コールバックをトリガーするのを待つだけです。明らかにこれはすべてのプロセスで定期的に発生するわけではないため、このインジェクション技術に適した候補を事前に見つける作業が必要です。簡単に調査した限りでは、RuntimeBroker.exe と explorer.exe が適切な候補と思われますが、他のプロセスも探してみることをお勧めします。

OPSEC に関する注意事項

これは POC です。OPSEC 安全で AV/EDR 製品を回避するには、いくつかの修正が必要です。例えば、シェルコード用のメモリを割り当てる際に RWX を使用しましたが、怠けずに変更してください。また、OpenProcess、ReadProcessMemory、WriteProcessMemory をより低レベルの API に置き換え、Indirect Syscalls や(恥知らずですが)HWSyscalls を使用することも検討してください。シェルコードを暗号化したり、さらに一歩進んでトランポリンシェルコードをニーズに合わせて修正したり、少なくともトランポリンシェルコードの作成に利用した @C5pider の ShellcodeTemplate プロジェクトのデフォルトのハッシュ値を変更してください。

デモ

https://github.com/ShorSec/DllNotificationInjection/assets/54464773/96a72dd9-80de-4cb8-ac4a-54dddfecf822

謝辞

  • @C5pider : トランポリンシェルコードの作成に使用した ShellcodeTemplate プロジェクト、および POC デモ動画で使用した Havoc C2 に感謝します。
  • Yxel と @Idov31 : Cronos から使用したバイナリパターンマッチングコードに感謝します。
  • @modexpblog : この POC で使用した DLL 通知コールバックに関連するさまざまな構造体の定義に感謝します。
  • @NinjaParanoid : この POC で使用した TpWorkCallbacks に関するブログ記事に感謝します。
  • @onlymalware : UnregisterAllLdrRegisterDllNotification POC により、いくつかのインスピレーションを得て、LdrpDllNotificationList の内部動作の理解に役立ちました。
  • Sektor7 : この POC で使用した calc シェルコードに感謝します。彼らはとにかく素晴らしく、コースを強くお勧めします!
  • @x86matthew と @Kharosx0 : GetNtdllBase() 関数に関するコメント (1, 2) に感謝します。
ツールをダウンロード