
Genera elenchi di host attivi e URL per il targeting, automatizzando l'uso di MassDNS, Masscan e nmap per filtrare gli host irraggiungibili e raccogliere informazioni sui servizi.
Genera elenchi di host live e URL per il targeting, automatizzando l'uso di Massdns, Masscan e nmap per filtrare host non raggiungibili
Dato un file di input con nomi di dominio, questo script automatizza l'uso di MassDNS per filtrare gli host non risolvibili, e poi passa i risultati a Masscan per confermare che gli host siano raggiungibili e su quali porte. Lo script genera quindi un elenco di URL completi da utilizzare per ulteriori attività di targeting (da passare a strumenti come gobuster o dirsearch, o per effettuare richieste HTTP), un elenco di nomi di dominio raggiungibili e un elenco di indirizzi IP raggiungibili. Come passaggio opzionale finale, è possibile eseguire una scansione delle versioni con nmap su questo elenco ridotto di host, verificando che gli host precedentemente raggiungibili siano attivi e raccogliendo informazioni sui servizi dalle loro porte aperte.
Questo script è particolarmente utile per insiemi di domini di grandi dimensioni, come le enumerazioni di sottodomini raccolte da un dominio apex con migliaia di sottodomini. Con questi elenchi grandi, una scansione nmap richiederebbe semplicemente troppo tempo. L'obiettivo è utilizzare prima MassDNS, meno accurato ma molto più veloce, per ridurre rapidamente la dimensione dell'elenco di input rimuovendo i domini non risolvibili. Poi Masscan sarà in grado di prendere l'output di MassDNS e confermare ulteriormente se gli host sono raggiungibili e su quali porte. Lo script analizzerà quindi questi risultati e genererà elenchi degli host live scoperti.
Ora, l'elenco di host dovrebbe essere sufficientemente ridotto per essere adatto a ulteriori scansioni/test. Se si desidera fare un passo avanti, si può indicare allo script di eseguire una scansione nmap sull'elenco di host raggiungibili, che richiederà un tempo più ragionevole con l'elenco più breve di host. Dopo l'esecuzione di nmap, eventuali falsi positivi forniti da Masscan verranno filtrati. L'output grezzo di nmap verrà salvato nel normale formato XML di nmap, e le informazioni aggiuntive dalla rilevazione delle versioni verranno aggiunte a un database SQLite.

Se si utilizza l'opzione di scansione nmap, questo strumento presuppone che nmap sia già installato
Nota: L'esecuzione dello script di installazione è necessaria solo se non si dispone già di MassDNS e Masscan installati, o se si desidera reinstallarli all'interno di questo repository. Se non si esegue lo script, è possibile fornire i percorsi agli eseguibili corrispondenti come argomenti. Lo script si aspetta inoltre che l'elenco dei resolver incluso con MassDNS si trovi in {massDNS_directory}/lists/resolvers.txt.
git clone https://github.com/allyomalley/LiveTargetsFinder.git
cd LiveTargetsFinder
sudo pip3 install -r requirements.txt
(OPZIONALE)
chmod +x install_deps.sh
./install_deps.sh
Se non si dispone già di MassDNS e Masscan installati e si preferisce installarli da soli, consultare la documentazione per le istruzioni:
Ho testato questo script solo su macOS e Linux - lo script Python stesso dovrebbe funzionare su una macchina Windows, anche se credo che l'installazione per MassDNS e Masscan differisca.
python3 liveTargetsFinder.py [domainList] [options]
-s, (``) in particolare è stato scelto per motivi di prestazioni - probabilmente si potrà aumentare questo valore.-c 25 -o J -r ./massdns/lists/resolvers.txt -s 100 -w massdnsOutput -t A targetHosts--max-rate per Masscan - probabilmente si vorrà regolarlo.
-iL ipFile -oD masscanOutput --open-only --max-rate 5000 -p80,443 --max-retries 10--script http-server-header.nse,http-devframework.nse,http-headers -sV -T4 -p80,443 -oX {output.xml}Eseguendo lo script di installazione:
python3 liveTargetsFinder.py --target-list victim_domains.txt
NON eseguendo lo script di installazione:
python3 liveTargetsFinder.py --target-list victim_domains.txt --massdns-path ../massdns/bin/massdns --masscan-path ../masscan/bin/masscan
Eseguire una scansione nmap e scrivere/aggiungere al percorso DB predefinito (liveTargetsFinder.sqlite3)
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap
Eseguire una scansione nmap e scrivere/aggiungere al database specificato
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap --db-path serviceinfo_victim.sqlite3
Input: victimDomains.txt
| Flag | Descrizione | Default | Obbligatorio |
|---|
--target-list | File di input contenente l'elenco di domini, ad es. google.com | Sì | |
--massdns-path | Percorso dell'eseguibile MassDNS, se non predefinito | ./massdns/bin/massdns | No |
--masscan-path | Percorso dell'eseguibile Masscan, se non predefinito | ./masscan/bin/masscan | No |
--nmap | Esegue una scansione di rilevamento versioni con nmap sugli host live raccolti | Disabilitato | No |
--db-path | Se si utilizza l'opzione --nmap, fornisce il percorso del database a cui aggiungere (verrà creato se non esiste) | output/liveTargetsFinder.sqlite3 | No |
| File | Descrizione | Esempi |
|---|
| output/victimDomains_targetUrls.txt | Elenco di URL live raggiungibili | https://github.com, http://github.com |
| output/victimDomains_domains_alive.txt | Elenco di nomi di dominio live | github.com, google.com |
| output/victimDomains_ips_alive.txt | Elenco di indirizzi IP live | 10.1.0.200, 52.3.1.166 |
| Percorso DB fornito o predefinito | Database SQLite che memorizza host live e informazioni sui servizi in esecuzione | |
| output/victimDomains_massdns.txt | L'output grezzo di MassDNS, in formato ndjson | |
| output/victimDomains_masscan.txt | L'output grezzo di Masscan, in formato ndjson | |
| output/victimDomains_nmap.txt | L'output grezzo di nmap, in formato XML |