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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2024-49113-ldap_nightmare_reproduction — cve-2024-49113-ldap_nightmare_reproduction の再現 | Kitploit
ツール/GitHubGitHub/razureink/cve-2024-49113-ldap_nightmare_reproduction
脆弱性分析エクスプロイトペネトレーションテスト学習と教育レッドチーミングバイナリエクスプロイトラボと実践
GitHubrazureink/cve-2024-49113-ldap_nightmare_reproduction

cve-2024-49113-ldap_nightmare_reproduction

人気

すべて見る →

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

すべてのツールを探索

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

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

cve-2024-49113-ldap_nightmare_reproduction の再現

リポジトリを見る
28日前未レビュー

CVE-2024-49113 — LDAP Nightmare

Windows LDAP クライアントのリモートコード実行(ヒープベースのバッファオーバーフロー)

項目値
CVECVE-2024-49113
エイリアスLDAP Nightmare
CVSS 3.19.8 — 緊急
CWECWE-122 — ヒープベースのバッファオーバーフロー
発見者SafeBreach(2025年1月に PoC を公開)
悪用状況実環境での活発な悪用が確認済み
パッチMicrosoft 2024年12月 Patch Tuesday(KB5048685 / KB5048652)

1. 概要

CVE-2024-49113 は、Windows LDAP クライアントライブラリ(wldap32.dll)における深刻なヒープベースのバッファオーバーフローの脆弱性です。認証されていないリモートの攻撃者が、LDAP クエリを発行する被害者の Windows マシン(例:ディレクトリ参照を実行するドメインコントローラ)に対して特別に細工された LDAP 応答を送信することで、この脆弱性を引き起こせます。

Windows ドメインコントローラは他のドメインコントローラ、メンバーサーバー、グローバルカタログサーバーへ日常的に LDAP クエリを送信するため、この欠陥は Active Directory 環境で特に危険です。悪用に成功すると、(ドメインコントローラ上で)Local System アカウントのコンテキストでリモートコード実行が達成され、攻撃者は標的のサーバーを完全に制御できるようになります。

公開された概念実証コード(通称「LDAP Nightmare」)は、Microsoft が2024年12月の Patch Tuesday で修正プログラムを出荷した後、SafeBreach によって 2025年1月に公開されました。


2. 技術的詳細

根本原因

この脆弱性は、RFC 4511 で定義されている Lightweight Directory Access Protocol(LDAP)クライアントの Windows 実装である wldap32.dll に存在します。

LDAP クライアントが検索結果エントリ(Search Result Entry)応答を受信すると、ライブラリは BER(Basic Encoding Rules)デコーダのループ内で LDAP メッセージのプロトコルデータユニット(PDU)を解析します。LDAP 属性値の解析中におけるヒープメモリ割り当てロジックの欠陥により、デコーダがヒープ割り当てバッファの境界を超えてデータを書き込む原因となります。

具体的には:

  1. BER デコーダは LDAP 属性値の長さフィールドを読み取ります。
  2. この長さに基づいてヒープバッファが割り当てられます。
  3. デコード中(特に構築文字列やマルチバイトエンコーディングを処理する場合)、デコーダはバッファ内のオフセットを正しく追跡しません。
  4. これにより、最大数キロバイトに及ぶ制御可能なヒープオーバーフローが発生します。

トリガー条件

  • 被害者は LDAP クエリ(バインド+検索要求)を開始する必要があります。
  • 攻撃者の悪意ある LDAP サーバーが、細工された**検索結果エントリ(LDAP_RES_SEARCH_ENTRY)**応答を送信します。
  • オーバーフローは、応答データのアプリケーションレベルの検証より前に発生します。
  • 認証は不要です — 匿名 LDAP バインド中にオーバーフローをトリガーできます。

影響

  • 機密性: システム上のすべてのデータが完全に侵害されます。
  • 完全性: 完全な書き込み能力を持ち、攻撃者はプログラムのインストール、データの改ざん、アカウントの作成が可能です。
  • 可用性: 標的を完全に制御でき、サービス拒否を引き起こせます。
  • 永続性: ドメインコントローラ上で SYSTEM として RCE を達成すると、ドメイン全体への水平展開が可能になります。

3. 影響を受けるバージョン

Windows Server および Windows Client のサポート対象のすべてのエディションは、2024年12月10日のセキュリティ更新プログラムより前のバージョンで影響を受けます:

Windows Server(ドメインコントローラ — 最もリスクが高い)

  • Windows Server 2025, 2022, 2019, 2016, 2012 R2, 2012, 2008 R2 SP1

Windows Client(トリガーされる可能性は低いが、依然として影響を受けます)

  • Windows 11 24H2 / 23H2 / 22H2 / 21H2
  • Windows 10 22H2 / 21H2

この CVE に対処する 2024年12月の Patch Tuesday 更新プログラムは以下のとおりです:

  • KB5048685 — Windows Server 2025 / Windows 11 24H2
  • KB5048652 — Windows Server 2022 / Windows 11 23H2
  • KB5048661 — Windows 10 22H2
  • その他のバージョン向けの同等の更新プログラム(MSRC アドバイザリ を参照)

4. 再現手順

アーキテクチャ

root@kitploit:~
┌──────────────────┐          LDAP Query           ┌─────────────────────┐
│   Victim Host    │ ──────────────────────────▶   │  Attacker LDAP      │
│  (Windows DC)    │                               │  Server (This PoC)  │
│                  │ ◀──────────────────────────   │                     │
│  wldap32.dll     │    Crafted LDAP Response      │  exploit.py         │
│  overflowed      │    (heap overflow payload)    │  port 389           │
└──────────────────┘                               └─────────────────────┘

前提条件

  • 2024年12月のパッチが適用されていない Windows ドメインコントローラ(または LDAP クエリを実行するように構成された Windows ホスト)
  • 攻撃者マシン上の Python 3.8+(Windows、Linux、macOS のいずれでも可)
  • 被害者から攻撃者への TCP ポート 389 でのネットワーク接続
  • ドメインに参加していない被害者の場合、ホストが攻撃者を LDAP サーバーとして参照するように構成する必要がある場合があります(例:hosts ファイルまたは DNS を使用)

手順

1. ターゲットが未パッチであることを確認する

被害者側で、インストールされている KB を確認します:

root@kitploit:~
Get-HotFix | Where-Object { $_.HotFixID -match "KB5048685|KB5048652" }

結果が返されない場合、そのシステムは未パッチであり脆弱です。

2. 悪意ある LDAP サーバーを起動する

攻撃者マシンで、この PoC を実行します:

root@kitploit:~
python exploit.py --listen-ip 192.168.1.100 --listen-port 389

192.168.1.100 は攻撃者の IP アドレスです。

注記: Linux ではポート 389 へのバインドに root(sudo)権限が必要です。Windows では管理者権限が必要な場合があります。

3. 被害者から LDAP クエリをトリガーする

被害者マシンから(PowerShell を管理者として実行):

root@kitploit:~
# Force an LDAP search against the attacker server
$ldapPath = "LDAP://192.168.1.100/DC=evil,DC=local"
$searcher = New-Object DirectoryServices.DirectorySearcher($ldapPath)
$searcher.Filter = "(objectClass=*)"
$searcher.SearchRoot = $null

try {
    $results = $searcher.FindAll()
} catch {
    Write-Host "Connection attempted — check the PoC server for crash details"
}

あるいは、ldp.exe(Windows Server / RSAT に同梱)を使用します:

  1. ldp.exe を開きます
  2. Connection → Connect → 攻撃者の IP、ポート 389 を入力します
  3. Connection → Bind → (匿名の場合は空欄のままにします)
  4. View → Tree → Base DN:DC=evil,DC=local
  5. Run をクリックします

4. オーバーフローを確認する

  • PoC サーバーは [*] Sending malicious search result entry... を表示し、細工された応答を送信します。
  • 成功した場合、被害者の lsass.exe または LDAP クライアントプロセスがアクセス違反(0xC0000005)でクラッシュするか、システムが BSOD になる可能性があります。
  • 実際の RCE のためには、ヒープレイアウトのグルーミングとオーバーフローの制御が必要です — ここに含まれる PoC は、出発点としてのクラッシュプリミティブ(サービス拒否)を示しています。

Docker ベースの再現(代替手段)

隔離された環境で PoC を実行するための Dockerfile が提供されています:

root@kitploit:~
docker build -t ldap-nightmare .
docker run --rm -p 389:389 --cap-add=NET_ADMIN ldap-nightmare

5. 概念実証(exploit.py)

同梱の exploit.py は以下を実装しています:

  • LDAP バインド応答 — 匿名またはシンプルバインドを受け入れます。
  • 細工された検索結果エントリ — ヒープオーバーフローペイロードを配信します。
  • スレッド化された接続ハンドラ — 複数の被害者接続を処理します。
  • 設定可能 — コマンドライン引数(--listen-ip、--listen-port、--payload-size)で設定できます。

ペイロード構造

ラボ環境のターゲットに対して実行する

root@kitploit:~
# Start the malicious server
sudo python exploit.py --listen-ip 0.0.0.0 --listen-port 389

# In another terminal, watch for connections
tcpdump -i any port 389 -X

6. 緩和策

パッチ

2024年12月10日の Patch Tuesday 更新プログラムをインストールします:

  • Windows Update: 更新プログラムを確認し、2024年12月の累積更新プログラムをインストールします。
  • WSUS / SCCM: KB5048685 / KB5048652 / KB5048661 を承認して展開します(バージョンに依存します)。
  • Microsoft Catalog: Microsoft Update Catalog からスタンドアロンパッケージをダウンロードします。

回避策(パッチ適用が遅れる場合)

パッチを直ちに適用できない場合:

  1. ネットワークのセグメンテーション — 信頼されていないネットワークからドメインコントローラへの LDAP(TCP 389 / 636)トラフィックをブロックします。
  2. 匿名 LDAP クエリの無効化 — ドメインコントローラで匿名アクセスを制限します:
    root@kitploit:~
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" `
      -Name "LDAPServerIntegrity" -Value 2 -Type DWord
    Restart-Service NTDS
    
  3. LDAP クラッシュの監視 — LDAP クライアントのクラッシュに関する監査を有効にします:
    root@kitploit:~
    wevtutil qe "Windows PowerShell" /f:text /q:"*[System[EventID=1000]]"
    

7. 参考情報


8. 法的免責事項

この資料は、教育および許可されたセキュリティテストの目的のみで提供されています。 明示的な許可なくシステムに対して CVE-2024-49113 を悪用することは違法です。著者は、この情報の誤用について一切の責任を負いません。システムをテストする前に、必ず書面による許可を取得してください。


ツールをダウンロード
オフセットフィールド値
0x00LDAP メッセージタグ(0x30)シーケンス
0x01–0x02全長(細工済み)大きな値がオーバーフローをトリガーします
0x03ProtocolOp(0x64)検索結果エントリ
0x04–0x0ELDAP 結果フィールド標準ヘッダー
0x0F+属性リストオーバーフロートリガー(長さ = 0xFFFF)
ソースURL
Microsoft Security Response CenterMSRC CVE-2024-49113
SafeBreach(最初の発見者)SafeBreach ブログ — LDAP Nightmare
NVDNVD CVE-2024-49113
CWE-122ヒープベースのバッファオーバーフロー
RFC 4511LDAPv3 プロトコル
2024年12月 Patch TuesdayMicrosoft リリースノート