Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
From-Foothold-to-Domain-Admin-Weaponizing-CVE-2025-54918-in-Real-World-DevOps — Simulierte Ausnutzung und Eindämmung von CVE-2025-54918 (Windows-NTLM-Schwachstelle). Enthält Erkennungsskripte, Ansible-Patching und CI/CD-Härtung. Demonstriert Privilegieneskalation von niedrigem Zugang zu SYSTEM in hybriden Cloud-Umgebungen. | Kitploit
Tools/GitHubGitHub/mrk336/from-foothold-to-domain-admin-weaponizing-cve-2025-54918-in-real-world-devops
Privilege EscalationSchwachstellenanalyseExploitationKonfigurationsprüfungPenetrationstestsCloud-SicherheitDevSecOpsLernen & BildungIncident Response

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Labs & Praxis
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

Simulierte Ausnutzung und Eindämmung von CVE-2025-54918 (Windows-NTLM-Schwachstelle). Enthält Erkennungsskripte, Ansible-Patching und CI/CD-Härtung. Demonstriert Privilegieneskalation von niedrigem Zugang zu SYSTEM in hybriden Cloud-Umgebungen.

Repository anzeigen
41vor 11 MonatenNoch nicht geprüft

Von Foothold zu Domain-Admin – Weaponizing CVE-2025-54918 in realen DevOps-Umgebungen

Simulierte Ausnutzung und Eindämmung von CVE-2025-54918 (Windows NTLM-Fehler). Enthält Erkennungsskripte, Ansible-Patching und CI/CD-Härtung. Demonstriert Privilegieneskalation von niedrigem Zugang zu SYSTEM in hybriden Cloud-Umgebungen.

Von Mark Mallia

Einleitung: Vom Klick zur Kontrolle – Verkettung von CVE-2025-55226 und CVE-2025-54918

In den heutigen hybriden Cloud-Umgebungen ist die Grenze zwischen Benutzerinteraktion und Systemkompromittierung dünner denn je. Dieser Artikel untersucht eine reale Angriffskette, die mit einem scheinbar harmlosen Grafikfehler beginnt – CVE-2025-55226, eine Race-Condition im Windows-Grafikkernel – und über CVE-2025-54918, eine kritische NTLM-Authentifizierungsumgehung, zur vollen SYSTEM-Kontrolle eskaliert.

Zusammen zeigen diese Schwachstellen, wie Angreifer in nur wenigen Schritten von Remote-Code-Ausführung zur Privilegieneskalation übergehen können. Aber noch wichtiger: Sie zeigen, wie ein Senior DevOps Engineer solche Bedrohungen mit Automatisierung, CI/CD-Integration und Infrastructure-as-Code erkennen, entschärfen und überwachen kann.

CVE‑2025‑55226 – Kritische Remote-Code-Ausführung im Windows-Grafikkernel

Veröffentlicht: 16. September 2025 (Patch Tuesday)

Eine Schlagzeilen-würdige Schwachstelle, die jeden Windows-Benutzer betrifft

Die neueste Sicherheitswarnung von Microsoft identifiziert einen schwerwiegenden Fehler in win32k.sys, dem zentralen Grafikkernel, der sowohl von Desktop- als auch von Servereditionen von Windows verwendet wird. Die Schwachstelle ist eine Race-Condition, die es einem Angreifer ermöglicht, Remote-Code-Ausführung (RCE) auf jedem System auszulösen, auf dem der anfällige Treiber läuft. Da der Treiber im Herzen der GDI (Graphics Device Interface) sitzt, kann er missbraucht werden, um beliebigen Code im Kernel-Modus auszuführen – eine Privilegienstufe, die den gesamten Rechner kompromittieren kann.

Warum das wichtig ist:

  • Es betrifft ein Kernsubsystem, das jede grafische Benutzeroberfläche antreibt, von gewöhnlichen Bürocomputern bis hin zu leistungsstarken Servern.
  • Ein am Dienstag veröffentlichter Patch bietet eine sofortige Behebung, aber nur, wenn Administratoren wissen, wie sie ihn rechtzeitig erkennen, bereitstellen und überwachen können.

Warum ist CVE‑2025‑55226 wichtig?

  • Kernsubsystem – win32k.sys wird von allen Windows-Rechnern verwendet, die eine Benutzeroberfläche anzeigen.
  • Remote-Code-Ausführung (RCE) – Der Fehler ermöglicht es einem authentifizierten Angreifer, beliebigen Code im Kernel-Modus auszuführen, was bedeutet, dass er den gesamten Host kompromittieren kann, wenn nicht schnell gemindert wird.
  • Reale Relevanz – Viele moderne Rechenzentren verlassen sich auf diesen Treiber für die Darstellung von Dashboards und die Verwaltung von Grafik-Workloads mit hohem Durchsatz; eine einzige Patch-Tuesday-Korrektur ist daher sowohl für kleine Unternehmen als auch für große Konzerne wertvoll.

PowerShell-Erkennungsskript

Der folgende Ausschnitt zieht die aktuelle Version von win32k.sys aus der Registrierung, vergleicht sie mit der gepatchten Version und protokolliert Abweichungen in eine CSV-Datei, die in Excel oder Tableau importiert werden kann.

root@kitploit:~
# DetectWin32k.ps1 – check for vulnerable win32k.sys
$target = 'Microsoft-Windows-GraphicsKernel'
$patchVersion = '6.0.22.7'   # Expected patched version

$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
}

Was es tut:

  1. Liest die aktuelle Version von win32k.sys aus der Registrierung.
  2. Vergleicht sie mit der gewünschten Patch-Version-Zeichenfolge.
  3. Protokolliert einen Eintrag, wenn eine Abweichung vorliegt; dieser wird später von einem Berichtstool oder einem CI-Schritt verarbeitet.

Ansible-Playbook zur Patch-Bereitstellung

Die folgende YAML-Datei weist Ansible an, das win32k.sys-Update anzuwenden und den GDI-Dienst auf allen Zielhosts neu zu starten.

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

Was es tut:

  1. Kopiert die neue Treiberdatei auf jeden Windows-Server im Inventar (windows_servers).
  2. Erzwingt einen Neustart des Kernel-Dienstes w32k, damit die frische Kopie sofort wirksam wird.

Grafana-Dashboard-Ausschnitt

Erstellen Sie ein einfaches Panel, das die GDI-Objekt-Tabellennutzung im Zeitverlauf visualisiert.

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()"

Was es tut:

  • Holt Metriken von einem benutzerdefinierten Windows-Leistungsindikator (win32k_stats) und zeigt sie auf einem Grafana-Panel an. Sie können Warnungen einrichten, wenn die Nutzung einen Schwellenwert überschreitet – ein früher Indikator für Treiberregressionen.

CI/CD-Integration

Fügen Sie Ihrer Jenkins- oder GitHub-Actions-Pipeline einen Testschritt hinzu, der den Patch durch Fuzzing von win32k.sys mit einem leichten Tool (z.B. wdfuzz) überprüft.

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

Was es tut:

  1. Überprüft die Codebasis, sobald eine Änderung auf main landet.
  2. Führt einen schnellen Fuzz-Test durch, der win32k.sys sät und auf Race-Condition-Regressionen prüft.
  3. Wenn der Test erfolgreich ist, stellt Ansible den Patch automatisch bereit.

Wie zwei Windows-Bugs Ihre hybride Infrastruktur lahmlegen können

Es beginnt mit einem einzigen Fehler in der Grafikengine. Ein Angreifer findet einen Weg, eine Race-Condition im Windows-Kernel auszunutzen, wie oben gezeigt, entkommt den Abwehrmaßnahmen und führt Code aus der Ferne aus. Das ist CVE-2025-55226. Aber die eigentliche Gefahr entfaltet sich, wenn sie ihn mit CVE-2025-54918 kombinieren, einer Schwachstelle in der NTLM-Authentifizierung. Plötzlich sind sie nicht nur drin – sie haben die Kontrolle.

Was als Grafikfehler begann, wird zu einer vollwertigen Privilegieneskalation, die ihnen SYSTEM-Zugriff verschafft. Diese Ereigniskette ist nicht nur theoretisch. Sie ist eine Erinnerung daran, dass Schwachstellen in heutigen hybriden Umgebungen selten isoliert existieren.

CVE‑2025‑54918 – Windows NTLM Erweiterung von Berechtigungen

Veröffentlicht: 9. September 2025 (Patch Tuesday)

CVSS v3.1 Score: 8.8 (Hoch)
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE: CWE‑287 – Fehlerhafte Authentifizierung
Betroffene Komponente: Windows NTLM (New Technology LAN Manager)


Was ist der Fehler?

Der Fehler ist ein Logikfehler in der Art und Weise, wie NTLM Authentifizierungsdaten validiert. Ein Angreifer, der einen Host über ein Netzwerk erreichen kann, selbst mit minimalen Berechtigungen, kann das System dazu bringen, SYSTEM‑Level-Rechte zu gewähren. Das bedeutet, dass ein Angreifer nach der Kompromittierung einer Workstation oder eines Domänencontrollers Anwendungen installieren, vertrauliche Dateien exfiltrieren und neue Administratorkonten erstellen kann – im Grunde die volle Kontrolle über das Ziel.

Die Schwachstelle folgt einem wachsenden Muster im Jahr 2025: Zwei andere NTLM-Fehler wurden bereits gemeldet (CVE‑2025‑53778, CVE‑2025‑21311). Microsofts Patch für dieses Problem behebt eine falsche Vergleichsroutine, die bestimmte Hash-Werte fälschlicherweise akzeptiert.


Erkennung – PowerShell-Skript

root@kitploit:~
# Find hosts with vulnerable NTLM settings
$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

# Check the NTLM policy value
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon" |
    Select-Object "LmCompatibilityLevel"

# Export to CSV for quick review
$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

Das Skript zieht den aktuellen OS-Build, überprüft, ob der Netlogon-Schlüssel auf einen von Microsoft empfohlenen Wert (3) gesetzt ist, und schreibt die Ergebnisse in eine einfach zu konsumierende CSV.

Behebung – Ansible-Playbook

root@kitploit:~
---
- name: Patch NTLM for Windows servers
  hosts: windows_dc01, windows_dc02, windows_dc03
  gather_facts: true
  tasks:
    - name: Enable Netlogon compatibility level
      win_regedit:
        path: HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon
        key: LmCompatibilityLevel
        value: 3
        datatype: dword

    - name: Install Microsoft patch KB5000000
      win_updates:
        category_name: Security
        search_keyword: KB5000000
        reboot_after: true

Stellen Sie das Playbook auf allen Domänencontrollern bereit. Die Aufgabe stellt sicher, dass die Richtlinie korrekt gesetzt ist und installiert das neueste Sicherheitsupdate, sodass der Logikfehler nicht mehr ausnutzbar ist.

Exploit-Simulation – Laboraufbau

Mit Responder und Impacket können Sie einen realen NTLM-Relay-Angriff nachahmen:

  1. Responder hört auf Port 445 auf SMB-Verkehr.
  2. Impacket's secretsdump.py erfasst Authentifizierungsdaten.
  3. Der erfasste Hash wird auf eine Zielmaschine wiedergegeben, was den Fehler beweist.
root@kitploit:~
# Start Responder on the attack box
responder -i eth0 -f

# Dump credentials from the victim
python3 impacket/secretsdump.py <victim-ip> <domain-admin-username>

# Replay hash to the target
python3 impacket/ntlmrelay.py <victim-ip> <target-ip>

Führen Sie das Skript in einer kontrollierten Umgebung aus und validieren Sie, dass Sie SYSTEM-Zugriff erhalten.

CI/CD-Integration – Härtungsprüfungen

Fügen Sie Ihrer Pipeline eine NTLM-Härtungsaufgabe hinzu:

root@kitploit:~
- name: Validate Netlogon compatibility level
  win_regedit:
    path: HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon
    key: LmCompatibilityLevel
    value: 3
    datatype: dword
    state: present

# Trigger when new patches are applied
- name: Reboot if required and restart services
  win_reboot:
    reboot_timeout_sec: 120

Die Aufgabe wird automatisch ausgeführt, sobald die Pipeline durch einen neuen Patch-Build ausgelöst wird.

Überwachung – ELK/Sentinel-Alarmierung

Erstellen Sie einen Alarm, der ausgelöst wird, wenn sich ein Host mit NTLM-Authentifizierung anmeldet, die dem anfälligen Hash-Muster entspricht:

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"
    }
}

Der Alarm geht an Sentinel zur Visualisierung, sodass die Zuständigen sehen können, dass die Behebung angewendet wird und überwacht wird.


Fazit

Sicherheit bedeutet nicht nur das Patchen von Schwachstellen – es geht darum, zu verstehen, wie sie zusammenhängen, wie sie sich entwickeln und wie sie auf Weisen bewaffnet werden können, die nicht sofort offensichtlich sind. Durch die Verkettung von CVE-2025-55226 und CVE-2025-54918 habe ich gezeigt, wie ein einzelner Fehler in einem Grafiktreiber die Tür zu einer vollständigen Systemkompromittierung öffnen kann. Aber noch wichtiger: Ich habe demonstriert, wie ein DevOps-Ingenieur nicht nur mit technischen Korrekturen, sondern auch mit Weitsicht, Automatisierung und Resilienz reagieren kann.


Tool herunterladen