
Erzeugt Listen von aktiven Hosts und URLs für das Targeting, automatisiert die Nutzung von MassDNS, Masscan und nmap, um unerreichbare Hosts herauszufiltern und Dienstinformationen zu sammeln.
Erstellt Listen von aktiven Hosts und URLs für das Targeting und automatisiert die Nutzung von Massdns, Masscan und nmap, um unerreichbare Hosts herauszufiltern.
Bei einer Eingabedatei mit Domainnamen automatisiert dieses Skript die Nutzung von MassDNS, um nicht auflösbare Hosts herauszufiltern, und übergibt die Ergebnisse anschließend an Masscan, um zu bestätigen, dass die Hosts erreichbar sind und auf welchen Ports. Das Skript generiert dann eine Liste vollständiger URLs für das weitere Targeting (Übergabe an Tools wie gobuster oder dirsearch oder das Senden von HTTP-Anfragen), eine Liste erreichbarer Domainnamen und eine Liste erreichbarer IP-Adressen. Als optionalen letzten Schritt können Sie einen nmap-Versionsscan auf dieser reduzierten Hostliste durchführen, um zu überprüfen, ob die zuvor erreichbaren Hosts aktiv sind, und um Serviceinformationen von deren offenen Ports zu sammeln.
Dieses Skript ist besonders nützlich für große Domainsets, wie z.B. Subdomain-Enumerationen, die von einer Apex-Domain mit Tausenden von Subdomains gesammelt wurden. Bei diesen großen Listen würde ein nmap-Scan einfach zu lange dauern. Ziel ist es, zunächst mit dem weniger genauen, aber viel schnelleren MassDNS die Größe Ihrer Eingabeliste schnell zu reduzieren, indem nicht auflösbare Domains entfernt werden. Anschließend kann Masscan die Ausgabe von MassDNS übernehmen und weiter bestätigen, dass die Hosts erreichbar sind und auf welchen Ports. Das Skript parst dann diese Ergebnisse und generiert Listen der gefundenen aktiven Hosts.
Nun sollte die Liste der Hosts ausreichend reduziert sein, um für weitere Scans/Tests geeignet zu sein. Wenn Sie einen Schritt weiter gehen möchten, können Sie das Skript anweisen, einen nmap-Scan auf der Liste der erreichbaren Hosts durchzuführen, was mit der kürzeren Hostliste eine angemessenere Zeit in Anspruch nehmen sollte. Nach dem Ausführen von nmap werden alle von Masscan gelieferten Fehlalarme herausgefiltert. Die rohe nmap-Ausgabe wird im üblichen nmap-XML-Format gespeichert, und zusätzliche Informationen aus der Versionserkennung werden einer SQLite-Datenbank hinzugefügt.

Wenn Sie die nmap-Scan-Option verwenden, wird davon ausgegangen, dass nmap bereits installiert ist
Hinweis: Die Ausführung des Installationsskripts ist nur erforderlich, wenn Sie MassDNS und Masscan nicht bereits installiert haben oder sie in diesem Repository neu installieren möchten. Wenn Sie das Skript nicht ausführen, können Sie die Pfade zu den entsprechenden ausführbaren Dateien als Argumente angeben. Das Skript erwartet zusätzlich, dass die mit MassDNS enthaltene Resolver-Liste unter {massDNS_directory}/lists/resolvers.txt liegt.
git clone https://github.com/allyomalley/LiveTargetsFinder.git
cd LiveTargetsFinder
sudo pip3 install -r requirements.txt
(OPTIONAL)
chmod +x install_deps.sh
./install_deps.sh
Wenn Sie MassDNS und Masscan nicht bereits installiert haben und diese lieber selbst installieren möchten, finden Sie in der Dokumentation Anweisungen:
Ich habe dieses Skript nur auf macOS und Linux getestet – das Python-Skript selbst sollte auf einem Windows-Rechner funktionieren, obwohl ich glaube, dass die Installation von MassDNS und Masscan unterschiedlich sein wird.
python3 liveTargetsFinder.py [domainList] [options]
-s, (--hashmap-size) wurde insbesondere aus Leistungsgründen gewählt – Sie werden dies wahrscheinlich erhöhen können.-c 25 -o J -r ./massdns/lists/resolvers.txt -s 100 -w massdnsOutput -t A targetHosts--max-rate für Masscan – Sie werden dies wahrscheinlich anpassen wollen.
-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}Installationsskript ausgeführt:
python3 liveTargetsFinder.py --target-list victim_domains.txt
Installationsskript NICHT ausgeführt:
python3 liveTargetsFinder.py --target-list victim_domains.txt --massdns-path ../massdns/bin/massdns --masscan-path ../masscan/bin/masscan
Führen Sie einen nmap-Scan durch und schreiben Sie in den Standard-Datenbankpfad (liveTargetsFinder.sqlite3)
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap
Führen Sie einen nmap-Scan durch und schreiben Sie in die angegebene Datenbank
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap --db-path serviceinfo_victim.sqlite3
Eingabe: victimDomains.txt
| Flag | Beschreibung | Standard | Erforderlich |
|---|
--target-list | Eingabedatei mit einer Liste von Domains, z.B. google.com | Ja | |
--massdns-path | Pfad zur MassDNS-Ausführungsdatei, falls nicht standard | ./massdns/bin/massdns | Nein |
--masscan-path | Pfad zur Masscan-Ausführungsdatei, falls nicht standard | ./masscan/bin/masscan | Nein |
--nmap | Führt einen nmap-Versionserkennungsscan auf den gesammelten aktiven Hosts durch | Deaktiviert | Nein |
--db-path | Wenn die --nmap-Option verwendet wird, geben Sie den Pfad zur Datenbank an, an die angehängt werden soll (wird erstellt, falls nicht vorhanden) | output/liveTargetsFinder.sqlite3 | Nein |
| Datei | Beschreibung | Beispiele |
|---|
| output/victimDomains_targetUrls.txt | Liste erreichbarer, aktiver URLs | https://github.com, http://github.com |
| output/victimDomains_domains_alive.txt | Liste aktiver Domainnamen | github.com, google.com |
| output/victimDomains_ips_alive.txt | Liste aktiver IP-Adressen | 10.1.0.200, 52.3.1.166 |
| Angegebener oder Standard-Datenbankpfad | SQLite-Datenbank, die aktive Hosts und Informationen über deren laufende Dienste speichert | |
| output/victimDomains_massdns.txt | Die rohe Ausgabe von MassDNS, im ndjson-Format | |
| output/victimDomains_masscan.txt | Die rohe Ausgabe von Masscan, im ndjson-Format | |
| output/victimDomains_nmap.txt | Die rohe Ausgabe von nmap, im XML-Format |