
CVE-2024-49112のエクスプロイト。これは重大なWindows LDAP RCE脆弱性であり、細工されたNetlogonおよびLDAPの相互作用を介してクラッシュを引き起こします。
CVE-2024-49112 のエクスプロイト。Yuki Chen(@guhe120)氏によって報告されました。Windows Lightweight Directory Access Protocol(LDAP)の脆弱性です。
SafeBreach Labs によって作成されました(2025年1月1日公開)。脆弱性の完全な技術分析と、私たちがどのようにエクスプロイトに成功したかについては、ブログ記事 こちら をご覧ください。
CVE-2024-49112 は、Microsoft によるとリモートコード実行を可能にする Windows LDAP クライアントの重大な脆弱性です。このエクスプロイトは、Netlogon Remote Protocol(NRPC)と LDAP クライアントと対話することで、対象の Windows Server システムをクラッシュさせるためにこの脆弱性を利用します。
https://github.com/user-attachments/assets/1cbda4a9-943a-4e07-a95a-b20e45863ec3
依存関係のインストール:
必要な Python パッケージがすべてインストールされていることを確認してください。pip と提供されている requirements.txt ファイルを使用してインストールできます:
pip install -r requirements.txt
エクスプロイトの設定:
target_ip: 対象マシンの IP アドレス。port: RPC 通信用の TCP ポート(デフォルト: 49664)。listen_port: エクスプロイトサーバーがリッスンする UDP ポート(デフォルト: 389)。変更しない場合、ツールは管理者または root 権限で実行する必要があります。domain_name: 攻撃者が所有するインターネット上のドメイン名。このドメインには、その下に 2 つの DNS SRV レコードが必要です。(SRV レコードは、ドメインをポートと別のドメインにマッピングします):
domain_name -> listen_port attacker's machine hostnamedomain_name -> listen_port attacker's machine hostnameattacker's machine hostname は、被害者サーバーが NBNS を使用してホスト名で攻撃者マシンを見つけられることを前提に機能します。攻撃者のホスト名の代わりに、脆弱性を悪用する悪意のある LDAP サーバーの IP を指すインターネット上のドメイン名に置き換えることもできます。account: アカウント名パラメータ(デフォルト: Administrator)。site_name: サイト名パラメータ(デフォルト: 空文字列)。python LdapNightmare.py <target_ip> --domain-name <domain_name> [options]
例:
python LdapNightmare.py 192.168.1.100 --domain-name example.com
エクスプロイトサーバーの起動:
スクリプトは、指定された UDP ポートで着信接続をリッスンする非同期 LDAP サーバーを起動します。
DsrGetDcNameEx2 の呼び出し:
スクリプトは、Netlogon Remote Protocol を介して DsrGetDcNameEx2 関数を呼び出し、被害者サーバーに攻撃者への LDAP クエリの送信をトリガーします。
脆弱性のトリガー:
特別に細工された応答を送信することで、エクスプロイトは CVE-2024-49112 の脆弱性をトリガーし、被害者サーバーをクラッシュさせます。
| Or Yair | Shahak Morag | |
|---|---|---|
| Or Yair | Shahak Morag | |
| @oryair1999 | @shahakmo |