
Console d'énumération de sous-domaines et de reconnaissance pour les travaux de red team. Collecte passive + active, corrélation approfondie, découverte de buckets, shell interactif de style msfconsole.
Un outil d'énumération de sous-domaines et de reconnaissance pour le travail en red team. Aucune clé API requise pour les fonctionnalités de base ; il s'exécute soit en CLI one-shot, soit en console interactive persistante de style msfconsole.
N'exécutez cet outil que contre des domaines que vous êtes autorisé à tester. Voir « Légal » ci-dessous pour plus de détails.
setcap), avec
repli automatique sur une simple connexion TCP et une passe de nouvelle tentative pour les ports
qui n'ont pas répondu la première fois.set, show options, run, setup) et un
CLI one-shot piloté par options, tous deux construits sur le même moteur.git clone https://github.com/Rebellionxkid/NoWRecon
cd NoWRecon
pip install -r requirements.txt
Pour un véritable scan SYN (sans cela, l'outil se rabat sur une connexion TCP) :
sudo setcap cap_net_raw+ep $(readlink -f $(which python3))
Console (recommandé pour commencer) :
python -m subscout.cli
Affiche la bannière, vous guide à travers une configuration assistée (choisissez un mode : passive / active / deep / custom), propose un préréglage par défaut ou une configuration manuelle de chaque paramètre, puis vous amène à une invite :
nowrecon (example.com) > show options
nowrecon (example.com) > set MODE deep
nowrecon (example.com) > set EXPAND_ORG true
nowrecon (example.com) > run
...
nowrecon (example.com) > set DOMAIN other-target.com
nowrecon (other-target.com) > run
nowrecon (other-target.com) > exit
La console ne se ferme pas après un scan. Commandes :
set OPTION VALUE : modifier un paramètre, par ex. set MODE deep.unset OPTION : réinitialiser un paramètre à sa valeur par défaut.show options : tableau de tous les paramètres et de leur valeur actuelle.show banner / banner : réafficher la bannière de démarrage.setup : relancer le flux de configuration guidée.run (ou scan) : lancer un scan avec les paramètres actuels.help : lister toutes les commandes.Pendant un scan, appuyer sur Entrée à tout moment ignore l'étape en cours et passe à la suivante.
Flags, exécution unique :
python -m subscout.cli example.com --mode deep --buckets --expand-org
| Option CLI | Option console | Description |
|---|---|---|
--mode | MODE | passive / active / deep |
--out-dir | OUT_DIR | où écrire json/csv/txt |
--wordlist | WORDLIST | liste de mots personnalisée pour le brute-force |
--db | DB | chemin vers la base de données SQLite d'historique/diff |
--ptr-prefix | PTR_PREFIX | rayon CIDR pour les balayages PTR en mode deep |
--no-vhost | NO_VHOST | désactiver le sondage vhost en mode deep |
--dns-rate | DNS_RATE | nombre maximal de requêtes DNS par seconde et par résolveur |
--ip-rate | IP_RATE | nombre maximal de requêtes HTTP par seconde contre une IP cible |
--connect-timeout | CONNECT_TIMEOUT | délai d'expiration par tentative dans le scan de ports par connexion TCP |
--expand-org | EXPAND_ORG | scanner aussi les domaines frères de l'organisation, pas seulement les lister |
--expand-mode | EXPAND_MODE | mode utilisé pour les sous-scans des domaines frères |
--buckets | BUCKETS | deviner les noms de buckets de stockage cloud à partir de la marque |
--deep-brute | DEEP_BRUTE | passe supplémentaire de mutation de motifs sur les noms déjà trouvés |
--github-token | GITHUB_TOKEN | jeton pour la reconnaissance par recherche de code GitHub |
--nsec-walk | NSEC_WALK | tenter un parcours complet de zone NSEC (NSEC simple uniquement) |
--user-agent | USER_AGENT | User-Agent personnalisé pour chaque requête |
--random-user-agent | RANDOM_USER_AGENT | User-Agent aléatoire d'un vrai navigateur pour toute l'exécution |
-v / --verbose | VERBOSE | afficher les lignes de journal par étape |
--debug | DEBUG | afficher quelle source a trouvé chaque nom |
Remarques :
DEAD, augmentez CONNECT_TIMEOUT
(3 secondes par défaut). Sans root/setcap, le scan de ports se rabat sur
une simple connexion TCP, et une cible sous charge, ou cette machine elle-même
occupée par un scan concurrent volumineux, peut faire manquer à un port
réellement ouvert une courte fenêtre. Chaque port bénéficie déjà d'une nouvelle
tentative automatique ; augmenter le délai d'expiration donne simplement plus de temps à chaque tentative.--debug ajoute une ligne antérieure indiquant quelle source
a trouvé le nom ; désactivé par défaut pour garder la sortie propre.EXPAND_ORG liste uniquement les domaines frères candidats et ne les scanne pas
sans être explicitement activé : la preuve d'une propriété commune
n'est pas la même chose qu'une autorisation de le scanner.deep évite d'attirer des domaines non liésIl s'agissait d'une contrainte de conception délibérée :