Framework di sfruttamento di Active Directory interamente in Rust: enumerazione LDAP/SMB/Kerberos, pathfinding su grafo di attacco, Kerberoasting, NTLM relay, ticket forging, DCSync e reporting in un unico binario statico.
Framework di sfruttamento per Active Directory.
Ogni trono cade. Overthrone se ne assicura.
Cos'è questo · Installazione · Wordlist · Comandi · Uso del Wizard · Architettura · Funzionalità · Esempi · FAQ
Sai come nella guerra medievale, prendere un castello richiedeva ingegneri d'assedio, esploratori, cavalleria, arcieri, zappatori e qualcuno che aprisse il cancello dall'interno? Il pentesting di Active Directory è esattamente questo, tranne che il castello è una società Fortune 500, il cancello è un Group Policy mal configurato, e il "qualcuno all'interno" è un account di servizio con Password123! che non è stato ruotato da quando Windows Server 2008 era considerato moderno.
Overthrone è un framework red team per AD a spettro completo che gestisce l'intera kill chain - da "ho accesso alla rete e un sogno" a "posseggo ogni dominio in questa foresta ed ecco un PDF di 47 pagine che lo dimostra." Scritto in Rust perché anche i framework C2 meritano la memory safety, e perché fare debug di bug use-after-free durante un engagement è il modo in cui sviluppi problemi di fiducia (sia il tipo Active Directory che quello personale).
Questo non è uno scanner. Questo non è uno strumento "esegui Mimikatz ma in Rust". Questo non è un altro wrapper Python che si rompe se lo guardi in modo strano. Questo è l'intero motore d'assedio. Un singolo binario. Dipendenze runtime minime*. Tutti i rimpianti (per il blue team).
Abbreviazione: Ogni comando funziona sia con
overthroneche conovt. Perché la vita è troppo breve per digitare 10 caratteri quando 3 bastano.ovt wizard=overthrone wizard. Gli stessi crimini di guerra contro Active Directory, meno tasti premuti.
⚠️ Avviso di deprecazione: Il comando
ovt auto-pwndelle beta precedenti è stato rimosso e sostituito daovt wizard. Se la tua memoria muscolare digita ancoraauto-pwn, non preoccuparti - le tue dita si adatteranno. Il wizard è ciò che auto-pwn ha sempre voluto essere quando è cresciuto: interattivo, ripristinabile, ottimizzato con Q-learning, e con pausa/approvazione per ogni fase così non fai accidentalmente DCSync durante una demo.
*Il binario è linkato staticamente con ~35 crate Rust (Tokio, ldap3, kerberos_asn1, ecc.) - niente Python, niente .NET, niente JVM. Le operazioni sui file SMB, la shell in stile smbclient (ovt smb shell), RPC (ovt rpc, set di comandi rpcclient) e l'esecuzione remota girano tutte sul client SMB2 integrato in puro Rust; il binario esterno smbclient è usato solo come fallback di ultima istanza su host dove il client integrato non riesce a negoziare.
sequenceDiagram
participant Op as Operator
participant CLI as overthrone-cli
participant PILOT as overthrone-pilot
participant REAPER as overthrone-reaper
participant HUNTER as overthrone-hunter
participant FORGE as overthrone-forge
participant CORE as overthrone-core
participant DC as Domain Controller
Note over Op,DC: Phase 0: Initial Access (T1078)
Op->>CLI: ovt enum / scan / kerberos commands
CLI->>CORE: TCP/TLS connect to target
Note over CLI,DC: Phase 1: Discovery & Enumeration (T1087, T1069, T1482)
CLI->>REAPER: enum_all(target, domain, credentials)
REAPER->>CORE: LDAP bind + paginated search
CORE->>DC: LDAP query (port 389/636)
DC-->>CORE: RootDSE + namingContexts
CORE->>DC: Search base DN: users, groups, computers
DC-->>CORE: LDAP entries with attributes
CORE-->>REAPER: Structured ADData
Note over REAPER: Enrich: LAPS v1/v2 decrypt, GPP decrypt,<br/>Snaffler share crawl, ADCS template scan
REAPER-->>CLI: ADData { users, groups, trusts, ACLs,<br/>GPOs, LAPS, SPNs, delegations }