
🚀 Uno scanner e strumento DNS automatizzato 🖱️ (Zone Transfer, DNS Zone Takeover, Subdomain Takeover).
Subrake, inizialmente nato come progetto personale per l'enumerazione dei sottodomini, è ora uno strumento di scansione DNS dettagliato che può aiutarti a identificare Trasferimenti di Zona, Acquisizione di Zona DNS e Acquisizione di Sottodominio in un'unica esecuzione.
I Trasferimenti di Zona esistono da anni e, se abilitati per qualche motivo su un dominio, possono permettere a terze parti di enumerare tutti i record della zona. Sono effettivamente utilizzati quando il proprietario deve trasferire il dominio da un provider a un altro.
L'Acquisizione di Sottodominio, contrariamente a quanto sembra, è l'acquisizione del servizio a cui punta il sottodominio. Il servizio deve essere inattivo o non in uso.
L'Acquisizione di Zona DNS, rispetto all'Acquisizione di Sottodominio, può essere più grave se sfruttata. Si tratta dell'acquisizione di una delle zone del dominio. Ciò permette molto più della semplice creazione del servizio sul backend. Puoi effettivamente impostare i tuoi record DNS e giocare con essi a piacimento.
Per maggiori dettagli approfonditi, puoi leggere il mio blog qui: Una Guida al Trasferimento di Zona, Acquisizione di Zona DNS e Acquisizione di Sottodominio
Subrake è uno strumento di valutazione DNS (per lo più automatizzato) con sia un'interfaccia utente che CLI che attraversa varie fasi per coprire i problemi DNS. Lo strumento è in continuo sviluppo e chiunque è benvenuto a contribuire al progetto.
È stato progettato principalmente per bug bounty e l'industria della sicurezza informatica, ma può essere sfruttato anche per blue teaming e test di penetrazione interni. Supporta sia un'interfaccia CLI che GUI Web e supporta più modalità di installazione. Le caratteristiche principali sono:
csv.Puoi configurare subrake con una modalità automatizzata o clonando manualmente il repository e installando tramite setuptools. La prima offre più controllo ed è flessibile con un'interfaccia utente. Ma se preferisci una semplice modalità CLI o su windows, passa alla sezione manuale.
Clona il repository e spostati al suo interno:
$ git clone https://github.com/hash3liZer/Subrake.git
$ cd ./Subrake
Puoi configurare subrake tramite vagrant (con KVM) dove una macchina verrà creata e tutto sarà configurato automaticamente. Installa prima i requisiti:
$ apt update
$ apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager vagrant vagrant-libvirt
Poi, all'interno del repository, esegui vagrant up:
$ vagrant up
Ci vorrà un po' per il provisioning del server. Una volta terminato, riceverai l'URL: http://127.0.0.1:9090
Le credenziali predefinite sono: subrake/password. Puoi cambiarle anche durante il provisioning:
$ SUBRAKE_USERNAME="username" SUBRAKE_PASSWORD="password" vagrant up
Una volta terminato, puoi gestire lo stato della tua macchina appena creata con questi comandi:
# Visualizza lo stato della macchina
$ vagrant status
# Sospendi la macchina
$ vagrant suspend
# Riprendi la macchina
$ vagrant resume
# Spegni la macchina
$ vagrant halt
# Riavvia
$ vagrant up
# Elimina la macchina
$ vagrant destroy
Con la configurazione manuale, puoi andare direttamente nella directory e utilizzare setuptools per l'installazione
Installa i requisiti ed esegui setup.py:
$ pip3 install -r requirements.txt
$ python3 setup.py install
Verifica se subrake è installato o meno:
subrake --help
Puoi anche costruire l'immagine docker dal Dockerfile:
$ docker build -t subrake:latest .
Verifica il contenitore docker:
$ docker run --rm subrake --help
Puoi anche distribuire lo script su un server baremetal. Per farlo, procurati un server ubuntu 20.04 fresco e avviato ed esegui il seguente comando:
$ chmod +x ./installer.sh
$ ./installer.sh --deploy
Il server è quindi accessibile all'indirizzo: 0.0.0.0:9090. Puoi configurare un servizio nginx e usarlo come proxy inverso.
Con l'interfaccia utente, puoi andare direttamente alla pagina Subtap a Domain ed eseguire una scansione. Aspettati un paio di domande per la scansione:
La scansione viene avviata all'interno di una sessione tmux. Puoi premere CTRL+E => d per uscire dalla schermata in esecuzione e avviare una nuova scansione. Inoltre, per mettere in pausa la schermata e muoverti su e giù, puoi premere CTRL+E => [. Sono solo scorciatoie di TMUX con il tasto di bind globale cambiato in CTRL+E.
Puoi anche tornare a una schermata in esecuzione inserendo di nuovo il suo nome:
Sulla riga di comando, puoi accedere direttamente allo strumento digitando subrake. Ecco alcuni esempi di utilizzo di subrake:
Un'esecuzione semplice con opzioni predefinite:
$ subrake -d google.com
Subrake con Thread Multipli:
$ subtake -d google.com -t 50
Subrake con moduli e una wordlist:
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt
Subrake con risultati OSINT + lista di più sottodomini da SecLists:
Nota: I sottodomini con nomi simili verranno automaticamente filtrati e contati come 1
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt,SecLists/Discovery/DNS/dns-Jhaddix.txt
Subrake senza motore di ricerca + Output combinato da più strumenti + Filtraggio IP (Nota che puoi integrare i tuoi strumenti in subrake):
$ domain="google.com"
$ subfinder -d $domain -nW -o $domain/1.txt && sublist3r -d $domain -o $domain/2.txt && cat $domain/* >> /tmp/output.txt
$ subrake -d $domain -w tmp/output.txt --filter --skip-search
Subrake con Scansione delle Porte:
NOTA: La porta 80,443 verrà scansionata per impostazione predefinita per ogni host sotto banner HTTP/HTTPS. Quindi non è necessario specificarle qui
$ subrake -d google.com --ports 8080,8443,8000,23,445
Sentiti libero di aprire pull request e richiedere funzionalità. Puoi contribuire: