
Uno strumento veloce e completo per la scansione delle reti organizzative
Funzionalità • Utilizzo • Installazione • Utilizzo • Contribuire • Note aggiuntive
Domainim è uno strumento veloce di ricognizione dei domini per la scansione delle reti aziendali. Lo strumento mira a fornire una panoramica sintetica della struttura di un'organizzazione utilizzando tecniche come OSINT, bruteforcing, risoluzione DNS ecc.
Funzionalità attuali (v1.3.0)-

Enumerazione degli hostname virtuali
Reverse DNS lookup
Rileva i sottodomini wildcard. I risultati passivi che si risolvono solo verso gli IP wildcard vengono nascosti a meno che non siano stati visti in un certificato TLS. Il bruteforcing può essere forzato con --force-brute, nel qual caso i risultati che si risolvono solo verso gli IP wildcard vengono scartati
Scansione di base delle porte TCP
I sottodomini sono accettati come input
Esportazione dei risultati in un file JSON
Alcune funzionalità sono in fase di sviluppo. Consulta Funzionalità pianificate per maggiori dettagli.
Il progetto è ispirato a Sublist3r. Il modulo di scansione delle porte è ampiamente basato su NimScan.
Puoi compilare questo repository dai sorgenti-
git clone [email protected]:pptx704/domainim
nimble build
./domainim <domain> [--ports=<ports>]
Oppure puoi semplicemente scaricare il binario dalla pagina delle release. Tieni presente che il binario è testato solo su sistemi basati su Debian.
./domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | -l:<filename> [--rps=<int> | -r:<int>] [--force-brute | -f]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
<domain> è il dominio da enumerare. Può essere anche un sottodominio.-- ports | -p è una specifica stringa delle porte da scansionare. Può essere uno dei seguenti:
all - Scansiona tutte le porte (1-65535)none - Salta la scansione delle porte (predefinito)t<n> - Scansiona le n porte più comuni (come nmap). Ad esempio t100 scansiona le prime 100 porte. Il valore massimo è 5000. Se n è maggiore di 5000, verrà impostato a 5000.80 scansiona la porta 8080-100 scansiona le porte da 80 a 10080,443,8080 scansiona le porte 80, 443 e 808080,443,8080-8090,t500 scansiona le porte 80, 443, da 8080 a 8090 e le prime 500 porte--dns | -d è l'indirizzo del server DNS. Deve essere un indirizzo IPv4 valido e può opzionalmente contenere il numero di porta:
a.b.c.d - Usa il server DNS all'indirizzo a.b.c.d sulla porta 53a.b.c.d#n - Usa il server DNS all'indirizzo a.b.c.d sulla porta n--wordlist | -l - Percorso del file wordlist. Viene utilizzato per il bruteforcing dei sottodomini. Se il file non è valido, il bruteforcing verrà saltato. Le righe vuote e le righe che iniziano con # vengono ignorate. Puoi ottenere una wordlist da SecLists. Una wordlist è anche fornita nella pagina delle release.--force-brute | -f - Esegue il bruteforcing anche se viene trovato un record wildcard. I sottodomini che risolvono solo agli IP wildcard vengono scartati.--rps | -r - Numero di richieste da effettuare al secondo durante il bruteforcing. Il valore predefinito è 1024 req/s. Va notato che le query DNS vengono effettuate in batch e il batch successivo viene eseguito solo dopo il completamento del precedente. Poiché le query possono essere soggette a rate limiting, aumentare il valore non garantisce sempre risultati più rapidi.--out | -o - Percorso del file di output. L'output verrà salvato in formato JSON. Il nome del file deve terminare con .json.Esempi
./domainim nmap.org --ports=all./domainim google.com --ports=none --dns=8.8.8.8#53./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --rps=1500./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --out=results.json./domainim nmap.org --wordlist=wordlist.txt --force-brute./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1È possibile accedere al menu di aiuto usando ./domainim --help o ./domainim -h.
Usage:
domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | -l:<filename> [--rps=<int> | -r:<int>] [--force-brute | -f]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
domainim (-h | --help)
Options:
-h, --help Show this screen.
-p, --ports Ports to scan. [default: `none`]
Can be `all`, `none`, `t<n>`, single value, range value, combination
-l, --wordlist Wordlist for subdomain bruteforcing. Bruteforcing is skipped for invalid file.
-f, --force-brute Bruteforce even if a wildcard record is found. Results resolving only to wildcard IPs are discarded.
-d, --dns IP and Port for DNS Resolver. Should be a valid IPv4 with an optional port [default: system default]
-r, --rps DNS queries to be made per second [default: 1024 req/s]
-o, --out JSON file where the output will be saved. Filename must end with `.json`
Examples:
domainim domainim.com -p:t500 -l:wordlist.txt --dns:1.1.1.1#53 --out=results.json
domainim sub.domainim.com --ports=all --dns:8.8.8.8 -l:wordlist.txt -r:1500 -f -o:results.json
Lo schema JSON per i risultati è il seguente:
[
{
"subdomain": string,
"data": [
{
"ipv4": string,
"vhosts": [string],
"reverse_dns": string,
"ports": [int]
}
]
}
]
Un esempio di json per nmap.org è disponibile qui.
I contributi sono benvenuti. Sentiti libero di aprire una pull request o una issue.