Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-41089-PoC — CVE-2026-41089 LongLogon: 未パッチの Windows Server 2025 Netlogon (lsass 0xc0000409) に対する認証前 CLDAP (UDP/389) スタックバッファオーバーフローを引き起こすクラッシャー。標準ライブラリのみを使用した Python PoC とラボでの解説。 | Kitploit
ツール/GitHubGitHub/1posix/cve-2026-41089-poc
脆弱性分析エクスプロイトネットワークセキュリティペネトレーションテストレッドチーミング
GitHub1posix/cve-2026-41089-poc

CVE-2026-41089-PoC

CVE-2026-41089 LongLogon: 未パッチの Windows Server 2025 Netlogon (lsass 0xc0000409) に対する認証前 CLDAP (UDP/389) スタックバッファオーバーフローを引き起こすクラッシャー。標準ライブラリのみを使用した Python PoC とラボでの解説。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-41089 — LongLogon (クラッシャーPoC)

Windows Server 2025のNetlogonサービスにおける認証前のスタックバッファオーバーフロー。ネットワーク上の任意のホストから送信された単一のCLDAPパケット(UDP/389)で十分である。lsass.exeがSTATUS_STACK_BUFFER_OVERRUN (0xc0000409)で停止し、ドメインコントローラーが再起動する。

  • コンポーネント: netlogon.dll、NlGetLocalPingResponse / BuildSamLogonResponse
  • ベクター: UDP/389パケット1つ、未認証
  • 影響: DoS (lsass.exeのクラッシュ、DCの再起動)
  • 修正済み: ビルド10.0.26100.32772以降

仕組み

Netlogon CLDAP pingへの応答は528バイトのスタックバッファにシリアライズされる。サーバーは自身の名前(フォレスト、ドメイン、ホスト名)を書き込み、続いて攻撃者が制御するUserフィールド(最大130ワイド文字)を書き込む。合計の充填量が536バイト(バッファ + スタッククッキー)に達すると、末尾のL'\0'が/GSクッキーを上書きし、プロセスがクラッシュする。

NtVerフィールドがコードパスを決定する: 0x02は脆弱なBuildSamLogonResponseを経由し、0x06 / 0x16は境界チェックされた(安全な)BuildSamLogonResponseExを経由する。このPoCはNtVer = 0x02を送信する。

要件

  • 未修正のWindows Server 2025 DC: netlogon.dll < 10.0.26100.32772
  • 予測充填量(User=130)が536バイト以上に達するような長いDNSドメイン。 Windows Server 2025はADドメイン名を64文字に制限している。63文字の ホスト名と組み合わせると、測定された充填量は581バイト(クラッシュ確実)。より短い 組み合わせ(例: 533バイト)は境界線上である。
  • 攻撃ホストからUDP/389に到達可能であること
  • Python >= 3.9 (標準ライブラリのみ、依存関係なし)

使用方法

python3 longlogon_exploit.py <dc-ip> <dc-dns-domain> [--dry-run] [--shots N] [--confirm-wait S] [--force]

--dry-run User=1 (無害)でプローブし、予測充填量を表示し、発射しない --shots N 送信するオーバーフローパケット数(デフォルト1) --confirm-wait S 無音のショット後に再プローブするまでの待機時間(デフォルト75秒) --force 予測充填量が536バイト未満でも発射する

例(IPとドメインはラボの値に置き換えること):

python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example --dry-run
python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example

発射時の想定出力:

[*] CVE-2026-41089 LongLogon crasher -> 192.168.1.10 (domain 64 chars)
[*] DC alive. Probe fill (User=1) = 323 B; projected fill (User=130) = 581 B (buffer 528, cookie 536)
[*] Firing overflow: NtVer=0x02, User=130 chars, shots=1
    shot #1: NO REPLY (5.01 s) -> possible crash (or lost packet)
[*] Waiting 75 s to let the DC (re)start, then re-probing...
[+] DC STILL DOWN after overflow + re-probe -> CRASH LIKELY (reboot in progress or dump pending)

終了コード: 0 クラッシュの可能性が高い、1 初回プローブでDCが無音、2 充填量が536バイト未満(境界線上)、3 DCが生存。

注: スクリプトが75秒後に再プローブするのは、単一の無音パケットがUDPデータグラムの消失である可能性もあるためである。無音のみでクラッシュと結論付けてはならない。

事前条件チェック(非破壊的)

研究リポジトリの公式チェッカーを使用する。User=1でプローブするため、DCは稼働したままである:

git clone https://github.com/ADScanPro/CVE-2026-41089-LongLogon && cd CVE-2026-41089-LongLogon
python3 run longlogon.py <dc-ip> <dc-dns-domain>

想定: 予測充填量が少なくとも536バイトで「PRECONDITION MET」。

チェッカーはパッチ状態を証明しない。修正済みのDCも同じコードパスをたどり、単に長すぎる書き込みを拒否するだけである。DC上のnetlogon.dllのバージョンを直接確認すること(< 10.0.26100.32772 = 脆弱)。

クラッシュ後の確認

DCが復旧したら、DC上で:

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000} -MaxEvents 5

イベント1000を探す: 障害が発生したアプリケーションlsass.exe、障害が発生したモジュールnetlogon.DLL、例外コード0xc0000409、およびショットよりも後の起動時刻。

ラボ結果

Windows Server 2025、lsass.exe 10.0.26100.7309、netlogon.dll 10.0.26100.32230(未修正)、64文字のドメイン + 63文字のホスト名(予測充填量581バイト)でテスト。パケットを1つ発射:

    Application Error (Id 1000):
      Faulting application: lsass.exe, version: 10.0.26100.7309
      Faulting module:    netlogon.DLL, version: 10.0.26100.32230
      Exception code:     0xc0000409        (STATUS_STACK_BUFFER_OVERRUN)
      Fault offset:       0x000000000002399d

    LastBootUpTime: 17:19:42   (crash logged at 17:18:37)

注記

  • デフォルトではRCEではなくDoSである: /GSクッキーにより、リターンアドレスに到達する前にオーバーフローが制御されたクラッシュに変わる。Userフィールドは完全に攻撃者が制御しており、理論上はコード実行への経路となりうる。
  • 境界線上の範囲: 充填量が528〜535バイトの間ではクラッシュは保証されない(ラボ測定: 535 B = 6/6クラッシュ、534 B = 0/6)。
  • クラッシュは非冪等である: 発射前にDCのスナップショットを取得すること。
  • クラッシュ後、DCはNetlogon DBFlag 0x2080FFFF(修復モード)で復帰することがあるが、これはlsassクラッシュ後は正常である。

免責事項

このPoCは教育および研究目的のみで提供される。Windows Server 2025上の隔離されたラボ環境で開発およびテストされた。自己責任で使用すること。

このスクリプトを使用することにより、データの損失、サービス中断、ハードウェアの損傷、その他の直接的または間接的な結果について、作者が責任を負わないことに同意するものとする。クラッシュは非冪等である: 対象のドメインコントローラーは再起動する。発射前にスナップショットを取得すること。

このPoCが本番環境やWindows Server 2025のすべてのビルドで動作することは保証されない。

参考文献

  • 研究とチェッカー: https://github.com/ADScanPro/CVE-2026-41089-LongLogon
  • 解説記事: https://adscanpro.com/blog/patch-diffing-cve-2026-41089-netlogon
ツールをダウンロード