
Ein schnelles und umfassendes Werkzeug zur Netzwerkscanning in Organisationen
Funktionen • Verwendung • Installation • Verwendung • Mitwirken • Zusätzliche Hinweise
Domainim ist ein schnelles Domain-Reconnaissance-Tool für das Scannen organisatorischer Netzwerke. Das Tool zielt darauf ab, einen kurzen Überblick über die Struktur einer Organisation zu geben, indem Techniken wie OSINT, Bruteforcing, DNS-Auflösung usw. eingesetzt werden.
Aktuelle Funktionen (v1.3.0)-

Enumeration virtueller Hostnamen
Reverse-DNS-Lookup
Erkennt Wildcard-Subdomains. Passive Ergebnisse, die sich nur auf die Wildcard-IPs auflösen, werden ausgeblendet, es sei denn, sie wurden in einem TLS-Zertifikat gesehen. Bruteforcing kann mit --force-brute erzwungen werden; in diesem Fall werden Ergebnisse verworfen, die sich nur auf die Wildcard-IPs auflösen
Grundlegendes TCP-Port-Scanning
Subdomains werden als Eingabe akzeptiert
Export der Ergebnisse in eine JSON-Datei
Einige Funktionen befinden sich in Bearbeitung. Weitere Details finden Sie unter Geplante Funktionen.
Das Projekt ist von Sublist3r inspiriert. Das Port-Scanner-Modul basiert stark auf NimScan.
Sie können dieses Repository aus dem Quellcode erstellen-
git clone [email protected]:pptx704/domainim
nimble build
./domainim <domain> [--ports=<ports>]
Oder Sie können einfach die Binärdatei von der Release-Seite herunterladen. Beachten Sie, dass die Binärdatei nur auf Debian-basierten Systemen getestet wurde.
./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> ist die Domain, die aufgelistet werden soll. Es kann auch eine Subdomain sein.-- ports | -p ist eine String-Angabe der zu scannenden Ports. Sie kann eine der folgenden sein:
all – Alle Ports scannen (1-65535)none – Port-Scan überspringen (Standard)t<n> – Die n häufigsten Ports scannen (wie bei nmap). D.h. t100 scannt die 100 häufigsten Ports. Der Maximalwert ist 5000. Wenn n größer als 5000 ist, wird es auf 5000 gesetzt.80 scannt Port 8080-100 scannt die Ports 80 bis 10080,443,8080 scannt die Ports 80, 443 und 808080,443,8080-8090,t500 scannt die Ports 80, 443, 8080 bis 8090 und die 500 häufigsten Ports--dns | -d ist die Adresse des DNS-Servers. Dies sollte eine gültige IPv4-Adresse sein und kann optional die Portnummer enthalten:
a.b.c.d – DNS-Server unter a.b.c.d auf Port 53 verwendena.b.c.d#n – DNS-Server unter a.b.c.d auf Port n verwenden--wordlist | -l – Pfad zur Wordlist-Datei. Diese wird zum Bruteforcing von Subdomains verwendet. Wenn die Datei ungültig ist, wird das Bruteforcing übersprungen. Leere Zeilen und Zeilen, die mit # beginnen, werden ignoriert. Eine Wordlist finden Sie unter SecLists. Eine Wordlist wird auch auf der Release-Seite bereitgestellt.--force-brute | -f – Bruteforcing auch dann durchführen, wenn ein Wildcard-Eintrag gefunden wird. Subdomains, die nur auf die Wildcard-IPs auflösen, werden verworfen.--rps | -r – Anzahl der Anfragen pro Sekunde während des Bruteforcings. Der Standardwert ist 1024 req/s. Es ist zu beachten, dass DNS-Abfragen in Batches durchgeführt werden und der nächste Batch erst nach Abschluss des vorherigen gestartet wird. Da Abfragen rate-limitiert sein können, garantiert eine Erhöhung des Werts nicht immer schnellere Ergebnisse.--out | -o – Pfad zur Ausgabedatei. Die Ausgabe wird im JSON-Format gespeichert. Der Dateiname muss mit .json enden.Beispiele
./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.1Das Hilfemenü kann mit ./domainim --help oder ./domainim -h aufgerufen werden.
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
Das JSON-Schema für die Ergebnisse lautet wie folgt:
[
{
"subdomain": string,
"data": [
{
"ipv4": string,
"vhosts": [string],
"reverse_dns": string,
"ports": [int]
}
]
}
]
Ein Beispiel-JSON für nmap.org findest du hier.
Beiträge sind willkommen. Du kannst gerne einen Pull Request oder ein Issue eröffnen.