Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
From-Foothold-to-Domain-Admin-Weaponizing-CVE-2025-54918-in-Real-World-DevOps — Sfruttamento e mitigazione simulati di CVE-2025-54918 (vulnerabilità NTLM di Windows). Include script di rilevamento, patch Ansible e hardening CI/CD. Dimostra l'escalation dei privilegi da accesso di basso livello a SYSTEM in ambienti cloud ibridi. | Kitploit
Strumenti/GitHubGitHub/mrk336/from-foothold-to-domain-admin-weaponizing-cve-2025-54918-in-real-world-devops
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitAudit di ConfigurazionePenetration TestingSicurezza CloudDevSecOpsApprendimento e FormazioneRisposta agli Incidenti

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Lab e Pratica
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

Sfruttamento e mitigazione simulati di CVE-2025-54918 (vulnerabilità NTLM di Windows). Include script di rilevamento, patch Ansible e hardening CI/CD. Dimostra l'escalation dei privilegi da accesso di basso livello a SYSTEM in ambienti cloud ibridi.

Vedi Repository
4111 mesi faNon ancora revisionato

Dal-Foothold-al-Domain-Admin-Sfruttare-CVE-2025-54918-nel-DevOps-del-Mondo-Reale

Sfruttamento e mitigazione simulati di CVE-2025-54918 (vulnerabilità NTLM di Windows). Include script di rilevamento, applicazione di patch con Ansible e hardening CI/CD. Dimostra l'escalation dei privilegi da accesso di basso livello a SYSTEM in ambienti cloud ibridi.

Di Mark Mallia

Introduzione: dal click al controllo concatenando CVE-2025-55226 e CVE-2025-54918

Negli ambienti cloud ibridi di oggi, il confine tra interazione dell'utente e compromissione del sistema è più sottile che mai. Questo articolo esplora una catena di attacco reale che inizia con un difetto grafico apparentemente innocuo, CVE-2025-55226, una race condition nel kernel grafico di Windows, e scala fino al pieno controllo a livello SYSTEM tramite CVE-2025-54918, un bypass critico dell'autenticazione NTLM.

Insieme, queste vulnerabilità dimostrano come gli attaccanti possano passare dall'esecuzione remota di codice all'escalation dei privilegi in pochi passaggi. Ma, cosa più importante, mostrano come un Senior DevOps Engineer possa rilevare, mitigare e monitorare tali minacce usando automazione, integrazione CI/CD e infrastruttura come codice.

CVE‑2025‑55226 – Esecuzione remota di codice critica nel kernel grafico di Windows

Pubblicata: 16 settembre 2025 (Patch Tuesday)

Una vulnerabilità da prima pagina che riguarda ogni utente Windows

L'ultimo advisory di sicurezza di Microsoft identifica un grave difetto in win32k.sys, il kernel grafico centrale utilizzato sia dalle edizioni desktop sia da quelle server di Windows. La debolezza è una race condition che consente a un attaccante di innescare un'esecuzione remota di codice (RCE) su qualsiasi sistema in cui è in esecuzione il driver vulnerabile. Poiché il driver si trova al centro della GDI (Graphics Device Interface), può essere abusato per eseguire codice arbitrario in modalità kernel, un livello di privilegio che può compromettere l'intera macchina.

Perché è importante:

  • Prende di mira un sottosistema centrale che alimenta ogni interfaccia grafica, dai normali computer da ufficio ai server ad alte prestazioni.
  • Una patch rilasciata martedì fornisce un fix immediato, ma solo se gli amministratori sanno come scoprirla, distribuirla e monitorarla in tempo.

Perché CVE‑2025‑55226 è importante?

  • Sottosistema centrale – win32k.sys è utilizzato da tutte le macchine Windows che visualizzano un'interfaccia utente.
  • Esecuzione remota di codice (RCE) – Il difetto consente a un attaccante autenticato di eseguire codice arbitrario in modalità kernel, il che significa che può compromettere l'intero host se non viene mitigato rapidamente.
  • Rilevanza nel mondo reale – Molti data center moderni fanno affidamento su questo driver per il rendering delle dashboard e la gestione di carichi di lavoro grafici ad alta intensità; un singolo fix del Patch Tuesday è quindi prezioso sia per le piccole imprese sia per le grandi aziende.

Script di rilevamento in PowerShell

Il seguente frammento recupera la versione corrente di win32k.sys dal registro, la confronta con la versione patchata e registra le discrepanze in un file CSV che può essere importato in Excel o Tableau.

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
}

Cosa fa:

  1. Legge la versione corrente di win32k.sys dal registro.
  2. La confronta con la stringa della versione patchata desiderata.
  3. Registra una voce in caso di discrepanza; questa viene poi consumata da uno strumento di reporting o da uno step CI.

Playbook Ansible per la distribuzione delle patch

Il seguente file YAML indica ad Ansible di applicare l'aggiornamento di win32k.sys e di riavviare il servizio GDI su tutti gli host target.

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

Cosa fa:

  1. Invia il nuovo file del driver a ogni server Windows nell'inventario (windows_servers).
  2. Forza il riavvio del servizio kernel w32k così che la nuova copia abbia effetto immediatamente.

Frammento di dashboard Grafana

Crea un pannello semplice che visualizza l'utilizzo della tabella degli oggetti GDI nel tempo.

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

Cosa fa:

  • Recupera le metriche da un contatore delle prestazioni personalizzato di Windows (win32k_stats) e le visualizza su un pannello Grafana. Puoi configurare avvisi quando l'utilizzo supera una soglia, un primo indicatore di regressioni del driver.

Integrazione CI/CD

Aggiungi uno step di test alla tua pipeline Jenkins o GitHub Actions che verifica la patch eseguendo fuzzing su win32k.sys con uno strumento leggero (ad es. wdfuzz).

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

Cosa fa:

  1. Esegue il checkout del codebase ogni volta che una modifica arriva su main.
  2. Esegue un rapido test di fuzzing che alimenta win32k.sys e verifica la presenza di regressioni da race condition.
  3. Se il test ha successo, Ansible distribuisce automaticamente la patch.

Come due bug di Windows possono mettere in ginocchio la tua infrastruttura ibrida

Tutto inizia con un singolo difetto nel motore grafico. Un attaccante trova un modo per sfruttare una race condition nel kernel di Windows, come dimostrato sopra, superando le difese ed eseguendo codice da remoto. Questa è CVE-2025-55226. Ma il pericolo reale si manifesta quando la combina con CVE-2025-54918, una debolezza nell'autenticazione NTLM. Improvvisamente, non è solo dentro: ha il controllo.

Quello che è iniziato come un bug grafico diventa una vera e propria escalation dei privilegi, concedendo accesso a livello SYSTEM. Questa catena di eventi non è solo teorica. È un promemoria del fatto che negli ambienti ibridi di oggi le vulnerabilità raramente esistono in isolamento.

CVE‑2025‑54918 – Elevazione dei privilegi NTLM di Windows

Pubblicata: 9 settembre 2025 (Patch Tuesday)

Punteggio CVSS v3.1: 8.8 (Alto)
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE: CWE‑287 – Autenticazione non corretta
Componente interessata: Windows NTLM (New Technology LAN Manager)


Qual è il difetto?

Il difetto è un errore logico nel modo in cui NTLM valida i dati di autenticazione. Un attaccante che riesce a raggiungere un host sulla rete, anche con privilegi minimi, può ingannare il sistema facendogli concedere diritti a livello SYSTEM. Ciò significa che, dopo aver compromesso una workstation o un domain controller, un avversario può installare applicazioni, esfiltrare file riservati e creare nuovi account amministratore: in pratica, il pieno controllo del target.

La vulnerabilità fa parte di un pattern crescente nel 2025: sono già stati segnalati altri due bug NTLM (CVE‑2025‑53778, CVE‑2025‑21311). La patch di Microsoft per questo problema corregge una routine di confronto errata che accetta in modo scorretto determinati valori hash.


Rilevamento – Script PowerShell

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

Lo script recupera la build corrente del sistema operativo, verifica che la chiave Netlogon sia impostata su un valore consigliato da Microsoft (3) e scrive i risultati in un CSV di facile consultazione.

Mitigazione – Playbook Ansible

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

Distribuisci il playbook su tutti i domain controller. L'attività garantisce che il criterio sia impostato correttamente e installa l'ultimo aggiornamento di sicurezza, così che lo stesso errore logico non sia più sfruttabile.

Simulazione dell'exploit – Configurazione del laboratorio

Usando Responder e Impacket puoi replicare un attacco NTLM relay reale:

  1. Responder rimane in ascolto sulla porta 445 per il traffico SMB.
  2. secretsdump.py di Impacket cattura i dati di autenticazione.
  3. L'hash catturato viene riprodotto su una macchina target, dimostrando il difetto.
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>

Esegui lo script in un ambiente controllato e verifica di ottenere accesso a livello SYSTEM.

Integrazione CI/CD – Verifiche di hardening

Aggiungi un'attività di hardening NTLM alla tua pipeline:

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

L'attività viene eseguita automaticamente ogni volta che la pipeline viene attivata da una nuova build della patch.

Monitoraggio – Avvisi ELK/Sentinel

Crea un avviso che scatta quando un host accede con autenticazione NTLM che corrisponde al pattern di hash vulnerabile:

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

L'avviso confluisce in Sentinel per la visualizzazione, consentendo ai reclutatori di vedere che il fix è stato applicato ed è monitorato.


Conclusione

La sicurezza non consiste solo nell'applicare patch alle vulnerabilità: significa capire come si collegano tra loro, come si evolvono e come possono essere armate in modi che non sono immediatamente evidenti. Concatenando CVE-2025-55226 e CVE-2025-54918, ho mostrato come un singolo difetto in un driver grafico possa aprire la porta alla compromissione totale del sistema. Ma, cosa più importante, ho dimostrato come un DevOps engineer possa rispondere non solo con fix tecnici, ma con lungimiranza, automazione e resilienza.


Scarica lo strumento