
Génère des listes d'hôtes actifs et d'URLs pour le ciblage, en automatisant l'utilisation de MassDNS, Masscan et nmap afin de filtrer les hôtes inaccessibles et de recueillir des informations sur les services.
Génère des listes d'hôtes actifs et d'URLs pour le ciblage, en automatisant l'utilisation de MassDNS, Masscan et nmap pour filtrer les hôtes inaccessibles.
À partir d'un fichier d'entrée contenant des noms de domaine, ce script automatise l'utilisation de MassDNS pour filtrer les hôtes non résolubles, puis transmet les résultats à Masscan pour confirmer que les hôtes sont joignables et sur quels ports. Le script génère ensuite une liste d'URLs complètes à utiliser pour un ciblage plus poussé (à passer dans des outils comme gobuster ou dirsearch, ou pour effectuer des requêtes HTTP), une liste de noms de domaine joignables, et une liste d'adresses IP joignables. En option, vous pouvez exécuter un scan de version nmap sur cette liste réduite d'hôtes, vérifiant que les hôtes précédemment détectés sont bien actifs et récupérant les informations de service sur leurs ports ouverts.
Ce script est particulièrement utile pour de grands ensembles de domaines, comme les énumérations de sous-domaines collectées à partir d'un domaine racine avec des milliers de sous-domaines. Avec de telles listes volumineuses, un scan nmap serait bien trop long. L'objectif ici est d'utiliser d'abord MassDNS, moins précis mais beaucoup plus rapide, pour réduire rapidement la taille de votre liste d'entrée en supprimant les domaines non résolubles. Ensuite, Masscan peut prendre la sortie de MassDNS et confirmer si les hôtes sont joignables et sur quels ports. Le script analyse ensuite ces résultats et génère des listes des hôtes actifs découverts.
Maintenant, la liste d'hôtes devrait être suffisamment réduite pour être adaptée à des scans/tests supplémentaires. Si vous souhaitez aller plus loin, vous pouvez demander au script d'exécuter un scan nmap sur la liste des hôtes joignables, ce qui prendra un temps plus raisonnable avec une liste plus courte. Après avoir exécuté nmap, les faux positifs éventuels fournis par Masscan seront filtrés. La sortie brute de nmap sera stockée au format XML standard, et les informations supplémentaires provenant de la détection de version seront ajoutées à une base de données SQLite.

Si vous utilisez l'option de scan nmap, cet outil suppose que vous avez déjà nmap installé
Remarque : L'exécution du script d'installation n'est nécessaire que si vous n'avez pas déjà MassDNS et Masscan installés, ou si vous souhaitez les réinstaller dans ce dépôt. Si vous n'exécutez pas le script, vous pouvez fournir les chemins vers les exécutables respectifs en arguments. Le script s'attend également à ce que la liste des résolveurs incluse avec MassDNS se trouve à l'emplacement {massDNS_directory}/lists/resolvers.txt.
git clone https://github.com/allyomalley/LiveTargetsFinder.git
cd LiveTargetsFinder
sudo pip3 install -r requirements.txt
(OPTIONNEL)
chmod +x install_deps.sh
./install_deps.sh
Si vous n'avez pas déjà MassDNS et Masscan installés et que vous préférez les installer vous-même, consultez la documentation pour les instructions :
Je n'ai testé ce script que sur macOS et Linux – le script Python lui-même devrait fonctionner sur une machine Windows, bien que l'installation de MassDNS et Masscan soit différente, je pense.
python3 liveTargetsFinder.py [domainList] [options]
-s (--hashmap-size) en particulier a été choisi pour des raisons de performance – vous pourrez probablement l'augmenter.-c 25 -o J -r ./massdns/lists/resolvers.txt -s 100 -w massdnsOutput -t A targetHosts--max-rate pour Masscan – vous voudrez probablement l'ajuster.
-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}Si le script d'installation a été exécuté :
python3 liveTargetsFinder.py --target-list victim_domains.txt
Si le script d'installation n'a PAS été exécuté :
python3 liveTargetsFinder.py --target-list victim_domains.txt --massdns-path ../massdns/bin/massdns --masscan-path ../masscan/bin/masscan
Effectuer un scan nmap et écrire/ajouter à la base de données par défaut (liveTargetsFinder.sqlite3)
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap
Effectuer un scan nmap et écrire/ajouter à la base de données spécifiée
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap --db-path serviceinfo_victim.sqlite3
Entrée : victimDomains.txt
| Drapeau | Description | Par défaut | Requis |
|---|
--target-list | Fichier d'entrée contenant une liste de domaines, ex : google.com | Oui | |
--massdns-path | Chemin vers l'exécutable MassDNS, si non par défaut | ./massdns/bin/massdns | Non |
--masscan-path | Chemin vers l'exécutable Masscan, si non par défaut | ./masscan/bin/masscan | Non |
--nmap | Exécute un scan de détection de version nmap sur les hôtes actifs collectés | Désactivé | Non |
--db-path | Si vous utilisez l'option --nmap, fournissez le chemin vers la base de données à laquelle ajouter les données (sera créée si elle n'existe pas) | output/liveTargetsFinder.sqlite3 | Non |
| Fichier | Description | Exemples |
|---|
| output/victimDomains_targetUrls.txt | Liste des URLs actives et joignables | https://github.com, http://github.com |
| output/victimDomains_domains_alive.txt | Liste des noms de domaine actifs | github.com, google.com |
| output/victimDomains_ips_alive.txt | Liste des adresses IP actives | 10.1.0.200, 52.3.1.166 |
| Chemin de base fourni ou par défaut | Base de données SQLite stockant les hôtes actifs et les informations sur leurs services en cours | |
| output/victimDomains_massdns.txt | Sortie brute de MassDNS, au format ndjson | |
| output/victimDomains_masscan.txt | Sortie brute de Masscan, au format ndjson | |
| output/victimDomains_nmap.txt | Sortie brute de nmap, au format XML |