Scripting pour l’énumération réseau
Automatisez la reconnaissance avec les scripts NSE de Nmap et des analyseurs Python personnalisés.
Scripting pour l’énumération réseau est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Pourquoi automatiser la reconnaissance ?
Vue d’ensemble des scripts NSE de Nmap
Le moteur de scripts de Nmap (NSE) exécute des scripts Lua sur les services découverts. Les scripts sont organisés en catégories : authentification, force brute, par défaut, découverte, exploitation, sûre et vulnérabilités.
# Run default safe scripts
nmap -sC 192.168.1.100
# List all scripts
ls /usr/share/nmap/scripts/ | grep http
# Run specific script
nmap --script=http-title 192.168.1.100Scripts NSE courants
Scripts essentiels pour l’énumération : http-title, http-headers, smb-enum-shares, ftp-anon, dns-brute et ssh-hostkey.
nmap --script=smb-enum-shares -p 445 192.168.1.100
nmap --script=ftp-anon -p 21 192.168.1.100
nmap --script=dns-brute --script-args dns-brute.domain=target.com 192.168.1.1Scripts de la catégorie des vulnérabilités
La catégorie vuln recherche les vulnérabilités connues. Les scripts vuln génèrent davantage de trafic et peuvent faire tomber des services : utilisez-les uniquement avec une autorisation explicite.
sudo nmap --script=vuln 192.168.1.100
# Specific vuln checks:
nmap --script=ms17-010 -p 445 192.168.1.100 # EternalBlue
nmap --script=http-shellshock 192.168.1.100Analyser la sortie XML de Nmap avec Python
La sortie XML de Nmap produite avec -oX est lisible par une machine. La bibliothèque python-libnmap de Python l’analyse proprement pour créer des rapports personnalisés ou l’envoyer à d’autres outils.
# Install
pip install python-libnmap
# Parse results
from libnmap.parser import NmapParser
report = NmapParser.parse_fromfile("scan.xml")
for host in report.hosts:
for svc in host.services:
if svc.state == "open":
print(f"{host.address}:{svc.port} {svc.service}")Analyseur de ports Python simple
Construisez un analyseur de ports minimal avec le module socket de Python. Cette méthode est utile lorsque Nmap n’est pas disponible ou lorsque vous avez besoin d’une approche d’analyse personnalisée.
import socket
from concurrent.futures import ThreadPoolExecutor
def scan_port(host, port):
try:
s = socket.socket()
s.settimeout(0.5)
s.connect((host, port))
print(f"Open: {port}")
s.close()
except: pass
with ThreadPoolExecutor(100) as ex:
for p in range(1, 1025):
ex.submit(scan_port, "192.168.1.100", p)Commandes Bash d’énumération en une ligne
Bash peut énumérer rapidement les hôtes et les ports en utilisant le pseudo-périphérique /dev/tcp, sans aucun outil externe.
# Check if port is open (bash built-in)
timeout 1 bash -c "echo >/dev/tcp/192.168.1.100/80" && echo open
# Loop over hosts
for i in $(seq 1 254); do
ping -c1 -W1 192.168.1.$i &>/dev/null && echo "192.168.1.$i up"
doneScripts d’énumération DNS
Automatisez l’énumération DNS avec dnsrecon, amass ou des scripts personnalisés qui interrogent les enregistrements A, MX, NS, TXT et CNAME et recherchent les sous-domaines par force brute.
dnsrecon -d target.com -t std
amass enum -d target.com
# Manual zone transfer attempt
dig axfr target.com @ns1.target.comÉnumération SMB avec enum4linux
enum4linux automatise l’énumération SMB : partages, utilisateurs, groupes, stratégies de mots de passe et informations sur le système d’exploitation des hôtes Windows/Samba, sans authentification.
enum4linux -a 192.168.1.100
# -a = all enumeration
# Shows: shares, users, groups,
# password policy, OS versionÉnumération SNMP
SNMP v1/v2c utilise des chaînes de communauté (souvent « public ») pour l’authentification. Les requêtes SNMP révèlent des informations sur le système, les processus en cours, les interfaces réseau et les logiciels installés.
# Query with default community string
snmpwalk -c public -v2c 192.168.1.100
# Get system info only
snmpget -c public -v2c 192.168.1.100 1.3.6.1.2.1.1.1.0
# Brute force community strings
onesixtyone -c community.txt 192.168.1.100Organiser la sortie
Une sortie structurée est essentielle pour les opérations de grande envergure. Utilisez un répertoire par cible, un nommage cohérent (cible_service_date) et des outils comme tmux avec journalisation pour capturer toute la sortie du terminal.
Vérification rapide
Quelle catégorie NSE de Nmap effectue des vérifications concernant les vulnérabilités connues ?
Résumé : scripts d’énumération
Les scripts transforment des commandes individuelles d’outils en chaînes de reconnaissance reproductibles. Combinez les scripts NSE pour effectuer rapidement des vérifications ciblées, Python pour l’analyse personnalisée et l’automatisation, Bash pour découvrir rapidement les hôtes, ainsi que des outils spécialisés (enum4linux, dnsrecon, snmpwalk) pour l’énumération propre à chaque protocole.
Questions Fréquemment Posées
La leçon « Scripting pour l’énumération réseau » est-elle gratuite ?
Oui — le texte complet de « Scripting pour l’énumération réseau » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Scripting pour l’énumération réseau » ?
Automatisez la reconnaissance avec les scripts NSE de Nmap et des analyseurs Python personnalisés. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Scripting pour l’énumération réseau » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Techniques d’analyse des ports avec Nmap
- Empreinte des services et des systèmes d’exploitation
- Netcat : la boîte à outils polyvalente
- Scripting pour l’énumération réseau