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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
From-Foothold-to-Domain-Admin-Weaponizing-CVE-2025-54918-in-Real-World-DevOps — CVE-2025-54918(Windows NTLM脆弱性)のシミュレートされた悪用と緩和策。検出スクリプト、Ansibleパッチ、CI/CD強化を含む。ハイブリッドクラウド環境における低レベルアクセスからSYSTEMへの権限昇格を実演。 | Kitploit
ツール/GitHubGitHub/mrk336/from-foothold-to-domain-admin-weaponizing-cve-2025-54918-in-real-world-devops
特権昇格脆弱性分析エクスプロイト構成監査ペネトレーションテストクラウドセキュリティDevSecOps学習と教育インシデントレスポンス

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ラボと実践
GitHubmrk336/from-foothold-to-domain-admin-weaponizing-cve-2025-54918-in-real-world-devops

From-Foothold-to-Domain-Admin-Weaponizing-CVE-2025-54918-in-Real-World-DevOps

CVE-2025-54918(Windows NTLM脆弱性)のシミュレートされた悪用と緩和策。検出スクリプト、Ansibleパッチ、CI/CD強化を含む。ハイブリッドクラウド環境における低レベルアクセスからSYSTEMへの権限昇格を実演。

リポジトリを見る
41411ヶ月前未レビュー

From-Foothold-to-Domain-Admin-Weaponizing-CVE-2025-54918-in-Real-World-DevOps

CVE-2025-54918(Windows NTLM の欠陥)のシミュレーションされた悪用と緩和策。検出スクリプト、Ansible パッチ適用、CI/CD 強化が含まれます。ハイブリッドクラウド環境における低レベルアクセスから SYSTEM への権限昇格を示します。

Mark Mallia 著

はじめに: クリックから制御へ – CVE-2025-55226 と CVE-2025-54918 の連鎖

今日のハイブリッドクラウド環境では、ユーザーの操作とシステム侵害の境界線はかつてないほど曖昧になっています。この記事では、一見無害に見えるグラフィックスの欠陥 CVE-2025-55226(Windows グラフィックスカーネルの競合状態)から始まり、CVE-2025-54918(重大な NTLM 認証バイパス)を介して完全な SYSTEM レベルの制御に至る、現実世界の攻撃チェーンを探ります。

これらの脆弱性は、攻撃者がリモートコード実行から権限昇格へとわずか数ステップでどのようにピボットできるかを示しています。しかし、それ以上に重要なのは、シニア DevOps エンジニアが自動化、CI/CD 統合、および Infrastructure-as-Code を使用して、そのような脅威をどのように検出、緩和、監視できるかを示している点です。

CVE‑2025‑55226 – Windows グラフィックスカーネルにおける重大なリモートコード実行

公開日: 2025年9月16日 (Patch Tuesday)

すべての Windows ユーザーに関わる、見出しに値する脆弱性

マイクロソフトの最新のセキュリティアドバイザリは、Windows のデスクトップ版とサーバー版の両方で使用されるコアグラフィックスカーネルである win32k.sys における深刻な欠陥を特定しています。この弱点は競合状態であり、脆弱なドライバーが実行されている任意のシステム上で、攻撃者がリモートコード実行 (RCE) をトリガーすることを可能にします。このドライバーは GDI (Graphics Device Interface) の中核に位置するため、カーネルモードで任意のコードを実行するために悪用される可能性があり、これはマシン全体を危険にさらす可能性のある特権レベルです。

これが重要な理由:

  • これは、通常のオフィスコンピュータから高性能サーバーに至るまで、すべてのグラフィカルユーザーインターフェースを動かすコアサブシステムを標的としています。
  • 火曜日にリリースされたパッチは即座の修正を提供しますが、それは管理者が時間内に発見、展開、監視する方法を知っている場合に限ります。

CVE‑2025‑55226 が重要な理由

  • コアサブシステム – win32k.sys は、ユーザーインターフェースを表示するすべての Windows マシンで使用されます。
  • リモートコード実行 (RCE) – この欠陥により、認証された攻撃者がカーネルモードで任意のコードを実行できるようになり、迅速に緩和されない場合、ホスト全体を危険にさらす可能性があります。
  • 現実世界との関連性 – 多くの現代のデータセンターは、ダッシュボードのレンダリングと高スループットのグラフィックスワークロードの管理のためにこのドライバーに依存しています。したがって、単一の Patch Tuesday 修正は、中小企業と大企業の両方にとって価値があります。

PowerShell 検出スクリプト

次のスニペットは、レジストリから win32k.sys の現在のバージョンを取得し、パッチ適用済みバージョンと比較し、一致しないものを CSV ファイルに記録します。この CSV ファイルは Excel や Tableau にインポートできます。

root@kitploit:~
# DetectWin32k.ps1 – 脆弱な win32k.sys をチェック
$target = 'Microsoft-Windows-GraphicsKernel'
$patchVersion = '6.0.22.7'   # 期待されるパッチ適用済みバージョン

$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$target"
$currentVer = Get-ItemProperty $regPath | Select-Object -ExpandProperty ImagePath
$kernelFile = Join-Path $env:SystemRoot \System32\win32k.sys
$fileVersion = (Get-ChildItem $kernelFile).VersionInfo.FileVersion

if ($fileVersion -ne $patchVersion) {
    Write-Output "vulnerable: $currentVer (actual=$fileVersion, expected=$patchVersion)" | Out-File -Encoding ascii .\report.csv
}

機能:

  1. レジストリから win32k.sys の現在のバージョンを読み取ります。
  2. 目的のパッチ適用済みバージョン文字列と比較します。
  3. 不一致がある場合にレコードを記録します。これは後でレポートツールや CI ステップで使用されます。

パッチ展開用 Ansible Playbook

次の YAML ファイルは、Ansible に win32k.sys アップデートを適用し、すべてのターゲットホストで GDI サービスを再起動するように指示します。

root@kitploit:~
---
- name: Deploy Windows graphics kernel patch
  hosts: windows_servers
  gather_facts: yes
  tasks:
    - name: Copy new win32k.sys
      copy:
        src: /tmp/patches/win32k.sys
        dest: C:\Windows\System32\
        mode: '0644'
        force: yes

    - name: Restart GDI service
      win_service:
        name: w32k
        state: restarted

機能:

  1. 新しいドライバーファイルをインベントリ (windows_servers) 内のすべての Windows サーバーにプッシュします。
  2. w32k カーネルサービスを強制的に再起動し、新しいコピーがすぐに有効になるようにします。

Grafana ダッシュボードスニペット

時間経過に伴う GDI オブジェクトテーブルの使用状況を可視化するシンプルなパネルを作成します。

root@kitploit:~
# grafana-dashboard.yml
apiVersion: 1
dashboard:
  title: “GDI Usage”
  panels:
    - name: “Objects in use”
      type: graph
      targets:
        - query: "SELECT timestamp, gdi_objects FROM win32k_stats WHERE $__timeFilter()"

機能:

  • カスタム Windows パフォーマンスカウンター (win32k_stats) からメトリクスをプルし、Grafana パネルに表示します。使用量がしきい値を超えたときにアラートを設定できます。これはドライバーの回帰の初期指標となります。

CI/CD 統合

Jenkins または GitHub Actions パイプラインにテストステップを追加し、軽量ツール (例: wdfuzz) を使用して win32k.sys をファジングすることでパッチをテストします。

root@kitploit:~
# .github/workflows/cve55226.yml
name: CVE‑2025‑55226 CI

on:
  push:
    branches:
      - main

jobs:
  test_and_deploy:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run fuzzer
        run: |
          wdfuzz.exe -t win32k.sys -c config.yaml
          if ($LASTEXITCODE -eq 0) { Write-Host "Fuzz passed" }
      - name: Deploy patch
        uses: ansible/[email protected]
        with:
          playbook: DetectWin32k.ps1

機能:

  1. 変更が main ブランチにプッシュされるたびにコードベースをチェックアウトします。
  2. win32k.sys をシードし、競合状態の回帰をチェックする簡単なファズテストを実行します。
  3. テストが成功した場合、Ansible が自動的にパッチを展開します。

2 つの Windows バグがどのようにハイブリッドインフラストラクチャをダウンさせるか

それはグラフィックスエンジンの単一の欠陥から始まります。攻撃者は、上記で実証されたように、Windows カーネルの競合状態を悪用し、防御をすり抜けてリモートでコードを実行する方法を見つけます。それが CVE-2025-55226 です。しかし、本当の危険は、彼らがそれを CVE-2025-54918 (NTLM 認証の弱点) と組み合わせたときに現れます。突然、彼らは内部に侵入しただけでなく、制御下に置くことになります。

グラフィックスのバグとして始まったものが、本格的な権限昇格へと変わり、SYSTEM レベルのアクセスを彼らに与えます。この一連のイベントは理論上のものだけではありません。今日のハイブリッド環境では、脆弱性が単独で存在することはほとんどないということを思い出させるものです。

CVE‑2025‑54918 – Windows NTLM の権限昇格

公開日: 2025年9月9日 (Patch Tuesday)

CVSS v3.1 スコア: 8.8 (高)
ベクター: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE: CWE‑287 – 不適切な認証
影響を受けるコンポーネント: Windows NTLM (New Technology LAN Manager)


欠陥の内容

この欠陥は、NTLM が認証データを検証する方法における論理エラーです。最小限の特権であっても、ネットワーク経由でホストに到達できる攻撃者は、システムを欺いて SYSTEM レベルの権限を付与させることができます。これは、ワークステーションまたはドメインコントローラーを侵害した後、攻撃者がアプリケーションをインストールし、機密ファイルを外部に持ち出し、新しい管理者アカウントを作成できることを意味します – 実質的にターゲットを完全に制御できることになります。

この脆弱性は、2025 年に増加しているパターンの一部です。すでに 2 つの他の NTLM バグ (CVE‑2025‑53778、CVE‑2025‑21311) が報告されています。この問題に対するマイクロソフトのパッチは、特定のハッシュ値を誤って受け入れる不正確な比較ルーチンを修正します。


検出 – PowerShell スクリプト

root@kitploit:~
# 脆弱な NTLM 設定を持つホストを検出
$target = "dc01.company.local"
Invoke-Command -ComputerName $target -ScriptBlock {
    Get-WmiObject -Class Win32_OperatingSystem | 
        Select-Object CSName, Version, BuildNumber
} | Out-File -FilePath C:\temp\nlm_detection.txt

# NTLM ポリシー値を確認
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon" |
    Select-Object "LmCompatibilityLevel"

# 簡単な確認用に CSV にエクスポート
$report = @()
foreach ($item in Get-WmiObject -Class Win32_Service | Where { $_.Name -eq "netlogon"}) {
    $report += [pscustomobject]@{
        Service   = $item.Name
        LmCompat  = (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon").LmCompatibilityLevel
    }
}
$report | Export-Csv -Path C:\temp\nlm_report.csv -NoTypeInformation

このスクリプトは、現在の OS ビルドを取得し、Netlogon キーがマイクロソフト推奨の値 (3) に設定されていることを確認し、結果を簡単に利用できる CSV に書き込みます。

緩和 – Ansible Playbook

root@kitploit:~
---
- name: Windows サーバーに NTLM パッチを適用
  hosts: windows_dc01, windows_dc02, windows_dc03
  gather_facts: true
  tasks:
    - name: Netlogon 互換性レベルを有効化
      win_regedit:
        path: HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon
        key: LmCompatibilityLevel
        value: 3
        datatype: dword

    - name: マイクロソフトパッチ KB5000000 をインストール
      win_updates:
        category_name: Security
        search_keyword: KB5000000
        reboot_after: true

すべてのドメインコントローラーに Playbook を展開します。このタスクにより、ポリシーが正しく設定され、最新のセキュリティアップデートがインストールされるため、同じ論理的な欠陥が悪用できなくなります。

エクスプロイトシミュレーション – ラボ設定

Responder と Impacket を使用して、現実世界の NTLM リレー攻撃を模倣できます:

  1. Responder は SMB トラフィックをポート 445 でリッスンします。
  2. Impacket の secretsdump.py は認証データをキャプチャします。
  3. キャプチャされたハッシュはターゲットマシンにリプレイされ、欠陥を証明します。
root@kitploit:~
# 攻撃ボックスで Responder を起動
responder -i eth0 -f

# 被害者から資格情報をダンプ
python3 impacket/secretsdump.py <victim-ip> <domain-admin-username>

# ターゲットにハッシュをリプレイ
python3 impacket/ntlmrelay.py <victim-ip> <target-ip>

管理された環境でスクリプトを実行し、SYSTEM レベルのアクセスが取得されることを検証します。

CI/CD 統合 – 強化チェック

パイプラインに NTLM 強化タスクを追加します:

root@kitploit:~
- name: Netlogon 互換性レベルを検証
  win_regedit:
    path: HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon
    key: LmCompatibilityLevel
    value: 3
    datatype: dword
    state: present

# 新しいパッチが適用されたときにトリガー
- name: 必要に応じて再起動しサービスを再開
  win_reboot:
    reboot_timeout_sec: 120

このタスクは、新しいパッチビルドによってパイプラインがトリガーされるたびに自動的に実行されます。

監視 – ELK/Sentinel アラート

脆弱なハッシュパターンに一致する NTLM 認証でホストがログインしたときに発報するアラートを作成します:

root@kitploit:~
input {
    beats {
        type => "winlogbeat"
    }
}

filter {
    if [event_id] == "4624" and [logon_type] =~ /NTLM/ { 
        mutate {
            add_field => { "[ntlm_match]" => "true" }
        }
    }
}

output {
    elasticsearch {
        hosts => ["es.company.local"]
        index => "ntlm_audit"
    }
}

アラートは可視化のために Sentinel に送られ、採用担当者が修正が適用され監視されていることを確認できるようにします。


結論

セキュリティとは、脆弱性にパッチを当てることだけではありません。それらがどのように接続され、どのように進化し、すぐには明らかではない方法でどのように武器化されるかを理解することです。CVE-2025-55226 と CVE-2025-54918 を連鎖させることで、グラフィックスドライバーの単一の欠陥がどのようにして完全なシステム侵害への扉を開くかを示しました。しかし、それ以上に重要なのは、DevOps エンジニアが技術的な修正だけでなく、先見性、自動化、および回復力をもってどのように対応できるかを実証したことです。


ツールをダウンロード