
Domina il dominio. Inoltra ai reali.

RelayKing è uno strumento completo di rilevamento ed enumerazione dei relay, progettato per identificare opportunità di attacco relay in ambienti Active Directory. Opzioni di reporting reali. Copertura completa degli attacchi. Trova i vettori di relay nascosti e genera report nel tuo formato di output preferito. Fornisci a ntlmrelayx.py di Impacket una lista di target curata di host rilevati e in grado di fare relay. Non perdere mai più un percorso NTLM relay critico e sfruttabile nel dominio.
Consulta il blog associato pubblicato sul sito di Depth Security per maggiori dettagli: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
**RelayKing NON È UNO STRUMENTO OPSEC-FRIENDLY IN ALCUNE MODALITÀ, IN PARTICOLARE IN MODALITÀ --audit.
RelayKing è fornito COSÌ COM'È SENZA ALCUNA GARANZIA. Vedi fondo del readme.
# Use a venv. Save yourself the hassle.
# Clone repo:
git clone https://github.com/depthsecurity/RelayKing-Depth.git
#Navigate to cloned dir:
cd RelayKing-Depth/
# Configure Python venv:
virtualenv --python=python3 .
source bin/activate
# Install deps:
pip3 install -r requirements.txt
# Validate RelayKing installation was successful:
python3 relayking.py -h
--remove-mic di ntlmrelayx. Segnalato come HIGH. Usa l'UBR già interrogato per ogni host, senza richieste di rete aggiuntive.--audit, interroga Active Directory per i Service Principal Name i cui hostname non hanno un record DNS. Un attaccante può registrare il nome DNS mancante per intercettare l'autenticazione NTLM destinata a quel service principal. I risultati sono suddivisi in vulnerabili (nessun record DNS) e probabilmente vulnerabili (risolvono solo tramite DNS wildcard). Segnalato come MEDIUM. I risultati completi vengono scritti in possible-ghost-spns.txt. Sopprimi con --no-ghosts.--ntlmv1 o --ntlmv1-all - rilevamento cross-protocollo solo quando viene scoperto un utilizzo confermato di Net-NTLMv1)--remove-mic)possible-ghost-spns.txt(--audit): Enumera tutti i computer da AD tramite LDAP. Richiede credenziali AD a bassi privilegi e DNS funzionante nell'ambiente. Forza con --dc-ip o modifica /etc/resolv.conf.10.0.0.0/24)10.0.0.1-254)python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)--coerce-all combinato con --audit e credenziali a bassi privilegi per forzare OGNI macchina del dominio per il relay di massa degli account computer. Molto utile in ambienti con Net-NTLMv1 abilitato.--ntlmv1 o --ntlmv1-all per rilevare le GPO LanMan a livello di dominio. --ntlmv1-all controlla TUTTI gli host da AD e i loro valori di registro tramite RemoteRegistry. (richiede admin locale).--gen-relay-list <file> per produrre un file di target prontamente importabile per lo switch -tf di ntlmrelayx.py.--audit quando sono presenti credenziali. Sopprimi con --no-ghosts. I risultati completi vengono scritti in possible-ghost-spns.txt insieme al report principale; il report stesso mostra i primi 5 per evitare confusione.-h, come previsto:python3 relayking.py -h
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1 --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql -o plaintext,json --output-file relayking-scan --proto-portscan --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local -vv --protocols smb,ldap,ldaps,mssql,http,https -o plaintext SERVER1-EXAMPLE.LAB.LOCAL
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1-all --gen-relay-list relaytargets.txt
--threads. Ogni thread principale ottiene thread worker per determinate attività al suo interno. HTTP, ad esempio, usa 20 thread per thread principale. Ciò comporta circa 200 thread HTTP aperti per scansionare l'autenticazione NTLM HTTP. La maggior parte delle volte è tollerato abbastanza bene, ma se causa lag/problemi di rete, riduci i thread. Il default di 10 thread è comunque eccezionalmente veloce.--proto-portscan con tutte le scansioni. Migliora significativamente le prestazioni e impedisce allo scanner di attendere timeout su porte che in realtà non esistono. Se causa problemi, puoi rimuoverlo a scapito delle prestazioni di scansione (ma non dovrebbe!)--max-scangroup, --split-into e --skip possono essere usate per controllare il raggruppamento.--max-scangroup per indicare il numero di target per ciascun gruppo. Ad esempio, --max-scangroup 100 dividerà 299 target in 3 gruppi. I gruppi avranno rispettivamente 100, 100 e 99 target.--split-into per indicare il numero di gruppi. Ad esempio, --split-into 3 dividerà 299 target in 3 gruppi. I gruppi avranno rispettivamente 100, 100 e 99 target. Non puoi specificare --max-scangroup e --split-into allo stesso tempo.--skip per saltare gruppi. Ad esempio, --max-scangroup 3 --skip 1 dividerà 299 target in 3 gruppi di 100, 100 e 99 target, salterà il primo gruppo e inizierà la scansione dal secondo gruppo. Aiuta quando vuoi riavviare questo strumento.--ntlmv1 o -ntlmv1-all: Aggiungere --ntlmv1 recupererà ogni GPO LanMan per il dominio e nient'altro. Richiede credenziali AD a bassi privilegi. --ntlmv1-all richiede credenziali admin e controllerà ogni singolo host nel dominio con SMB aperto per la chiave di registro LMCompatibilityLevel. Eseguire almeno --ntlmv1 è necessario per mostrare/rilevare percorsi relay SMB cross-protocollo.
--ntlmv1-all. Inoltre è molto pesante e non OPSEC-safe, ma accurato. Probabilmente non raccomandato a meno che tu non stia andando alla YOLO o sia disperato.-o json,plaintext) e --output-file relayking-scan produce relayking-scan.json + relayking-scan.txt, quindi non c'è bisogno di eseguirlo due volte per più formati. Disponibili: plaintext, json, xml, csv, grep, markdown (default: plaintext)--coerce-all userà PetitPotam, DFSCoerce e PrinterBug su TUTTI GLI HOST TARGET. Forza anche in massa ogni macchina del dominio senza eseguire l'audit completo dei protocolli. Fornire + allo eseguirà un audit del dominio una coercion di massa. ()--opsec-safe che eviti l'uso di Impacket/altre librerie Python fingerprintate. Non banale da implementare.--ntlmv1, il validatore di credenziali, il modulo ghost SPN E l'analizzatore dei target facciano tutti per conto proprio per l'autenticazione. QUESTO È ASSOLUTAMENTE RIDICOLO e deve essere consolidato per usare un unico modulo per l'autenticazione.-vv o -vvv se riscontri errori. La registrazione (logging) continua a migliorare con ogni versione.--audit e RelayKing non riesce a risolvere alcun host in DNS perché i loro server DNS si rifiutano semplicemente di risolvere gli FQDN dei computer nella zona DNS di destinazione. Non è un problema di RelayKing.Così com'è. Molti bug sicuramente esistono. Vedi sopra. Non progettato o inteso per attività illegali/non autorizzate, ovviamente.
Considera il comportamento e la natura di TUTTI gli strumenti che esegui per un impegno con un cliente e sulle loro reti. Ciò si ottiene leggendo il codice sorgente e comprendendo il funzionamento interno prima dell'esecuzione, non eseguendo alla cieca codice trovato su GitHub. Anche se posso assicurarti che non c'è codice deliberatamente dannoso/distruttivo dentro RelayKing, validare tutti gli strumenti nuovi/inutilizzati prima di eseguirli è, in generale, una buona pratica. Fidati, ma verifica sempre.
Fai attenzione a usarlo in esercitazioni red team, soprattutto con controlli autenticati e --audit. VERRAI rilevato e sarà colpa tua! Avresti dovuto leggere l'avviso in cima al README se in qualche modo stai leggendo questa frase e non lo sapevi già.
Anche se estremamente improbabile/remoto, se RelayKing in qualche modo rompe qualcosa, sei da solo, e né l'Autore né Depth Security sono responsabili per qualsiasi esito/problema/questioni/upside-down-geospatial-bit-flipping-nuclear-explosions che potrebbero eventualmente derivare (per quanto improbabili) dall'esecuzione di RelayKing. Il tuo chilometraggio può variare. RelayKing è, ancora una volta, fornito SENZA GARANZIE O GARANZIA DI ALCUN RISULTATO SPECIFICO, FUNZIONALITÀ, UTILITÀ O COMPORTAMENTO - ESPLICITAMENTE MENZIONATO QUI (E/O NON MENZIONATO) O ALTRIMENTI IMPLICITO.
L'unico repository GitHub legittimo dell'Autore (logansdiomedi) è presente su https://github.com/depthsecurity/RelayKing-Depth - tutti gli altri sono fork/copie/qualsiasi altra cosa, l'Autore probabilmente non li ha letti, validati, testati, analizzati o ispezionati per funzionalità/comportamento/legittimità. Usa la testa.
Licenza MIT - consulta il file LICENSE per i dettagli
--dc-ip--krb-dc-only--dns-tcp-ns--audit--coerce--audit): Dopo il completamento della scansione host, RelayKing interroga AD per gli SPN i cui hostname non hanno un record DNS. Questi sono candidati per attacchi di registrazione DNS che intercettano l'autenticazione NTLM. Il report include fino a 5 risultati per mantenere l'output gestibile; l'elenco completo viene sempre scritto in possible-ghost-spns.txt nella directory di lavoro. Passa --no-ghosts per saltare completamente questo controllo.--remove-mic di ntlmrelayx.