Scripting per l'enumerazione delle reti
Automatizzate la ricognizione con gli script Nmap NSE e scanner Python personalizzati.
Scripting per l'enumerazione delle reti è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Perché automatizzare la ricognizione?
La scansione manuale è lenta e soggetta a errori nelle reti di grandi dimensioni. Gli script integrano Nmap, Netcat e altri strumenti in pipeline ripetibili che analizzano l'output e inviano i risultati a ulteriori analisi.
Panoramica degli script NSE di Nmap
Il Nmap Scripting Engine (NSE) esegue script Lua sui servizi individuati. Gli script sono organizzati in categorie: auth, brute, default, discovery, exploit, safe e vuln.
# 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.100Script NSE comuni
Script chiave per l'enumerazione: http-title, http-headers, smb-enum-shares, ftp-anon, dns-brute e 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.1Script della categoria vuln
La categoria vuln verifica la presenza di vulnerabilità note. Gli script vuln generano più rumore e possono causare l'arresto anomalo dei servizi: li utilizzi solo con un'autorizzazione esplicita.
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.100Analisi dell'output XML di Nmap con Python
L'output XML di Nmap ottenuto con -oX è leggibile dalle macchine. La libreria Python python-libnmap lo analizza in modo chiaro, così da creare report personalizzati o passarne i dati ad altri strumenti.
# 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}")Semplice scanner di porte in Python
Costruisca uno scanner di porte minimale utilizzando il modulo Python socket. È utile quando Nmap non è disponibile o quando serve un approccio di scansione personalizzato.
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)One-liner per l'enumerazione in Bash
Bash consente di enumerare rapidamente host e porte utilizzando il pseudo-dispositivo /dev/tcp, senza strumenti esterni.
# 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"
doneScripting per l'enumerazione DNS
Automatizzi l'enumerazione DNS con dnsrecon, amass o script personalizzati che interrogano i record A, MX, NS, TXT e CNAME ed eseguono il brute force dei sottodomini.
dnsrecon -d target.com -t std
amass enum -d target.com
# Manual zone transfer attempt
dig axfr target.com @ns1.target.comEnumerazione SMB con enum4linux
enum4linux automatizza l'enumerazione SMB: condivisioni, utenti, gruppi, criteri delle password e informazioni sul sistema operativo degli host Windows/Samba senza autenticazione.
enum4linux -a 192.168.1.100
# -a = all enumeration
# Shows: shares, users, groups,
# password policy, OS versionEnumerazione SNMP
SNMP v1/v2c utilizza le community string (spesso "public") per l'autenticazione. L'interrogazione SNMP rivela informazioni sul sistema, processi in esecuzione, interfacce di rete e software installato.
# 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.100Organizzazione dell'output
Un output strutturato è fondamentale per gli incarichi di grandi dimensioni. Utilizzi directory separate per ogni target, una denominazione coerente (target_service_date) e strumenti come tmux per registrare tutto l'output del terminale.
Verifica rapida
Quale categoria NSE di Nmap esegue controlli per individuare vulnerabilità note?
Riepilogo: scripting per l'enumerazione
Lo scripting trasforma i singoli comandi degli strumenti in pipeline di ricognizione riproducibili. Combini script NSE per controlli mirati rapidi, Python per l'analisi personalizzata e l'automazione, Bash per la rapida individuazione degli host e strumenti specializzati (enum4linux, dnsrecon, snmpwalk) per l'enumerazione specifica dei protocolli.
Domande Frequenti
La lezione «Scripting per l'enumerazione delle reti» è gratuita?
Sì — il testo completo di «Scripting per l'enumerazione delle reti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Scripting per l'enumerazione delle reti»?
Automatizzate la ricognizione con gli script Nmap NSE e scanner Python personalizzati. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Scripting per l'enumerazione delle reti»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tecniche di scansione delle porte con Nmap
- Fingerprinting dei servizi e dei sistemi operativi
- Netcat: il coltellino svizzero
- Scripting per l'enumerazione delle reti