Tutorials

Guida Approfondita agli UDP Scan con Nmap

La scansione UDP “UDP Scan” è una tecnica utilizzata in ambito di penetration testing per identificare le porte UDP aperte su un host target. A differenza del protocollo TCP, che risponde con messaggi

#enumeration#nmap

Guida Approfondita agli UDP Scan con Nmap

Cos'è una scansione UDP

La scansione UDP (“UDP Scan”) è una tecnica utilizzata in ambito di penetration testing per identificare le porte UDP aperte su un host target. A differenza del protocollo TCP, che risponde con messaggi di conferma (es. SYN/ACK), il protocollo UDP è connectionless e non fornisce feedback espliciti, rendendo la scansione più lenta e meno affidabile in termini di risultati immediati.

Caratteristiche della Scansione UDP

  • Silenziosa ma Lenta: UDP non stabilisce una connessione completa, quindi molti host non rispondono affatto.
  • Alta percentuale di falsi negativi: una porta UDP aperta potrebbe non inviare alcuna risposta.
  • Richiede tempo: le scansioni complete delle 65535 porte possono durare ore.
  • Spesso filtrate: i firewall e IDS/IPS spesso bloccano o limitano il traffico UDP.

Obiettivi della Scansione UDP

  • Identificare servizi in esecuzione su porte UDP (es. DNS, SNMP, TFTP, NTP)
  • Scoprire configurazioni errate o vulnerabilità
  • Estendere la superficie di attacco

Comando Base per una Scansione UDP

bash
nmap -sU <target>

Tuttavia, è consigliato utilizzare una combinazione di opzioni per ottimizzare la scansione.

Esempio Avanzato

bash
nmap -sU -sV -T4 -p- --max-retries 2 --min-rate 100 <target>

Spiegazione delle opzioni:

  • -sU: abilita lo scan UDP
  • -sV: rileva la versione del servizio
  • -T4: aumenta la velocità della scansione (attenzione a falsi negativi)
  • -p-: scansione di tutte le 65535 porte
  • --max-retries 2: riduce i tentativi per porta (default è 10)
  • --min-rate 100: forza un throughput minimo di pacchetti al secondo

Combinazione TCP/UDP

bash
nmap -sS -sU -T4 -p T:1-1000,U:1-1000 <target>

Questo comando permette di eseguire in parallelo una scansione TCP SYN (-sS) e UDP (-sU) sulle prime 1000 porte di entrambi i protocolli.

Output Verboso

bash
nmap -sU -v -p- <target>

L'opzione -v o -vv aumenta la verbosità dell'output per analisi più dettagliata.

Uso di Script NSE con UDP

Nmap offre una vasta gamma di script specifici per servizi UDP:

bash
nmap -sU -T4 -p161 --script=snmp-* <target>

Gli script NSE possono automatizzare test e enumeration di servizi comuni come SNMP, NTP, e altri.

Consigli Operativi

1. Usa --open per visualizzare solo le porte aperte:

bash
nmap -sU --open -p- <target>
2. Filtra risultati con grep per analisi più rapida:
bash
nmap -sU -p- <target> | grep open
3. Effettua scansioni mirate su porte note (es. DNS - 53, SNMP - 161, TFTP - 69, NTP - 123) per ridurre il tempo:
bash
nmap -sU -p 53,69,123,161,162 <target>

Considerazioni Finali

  • Verifica sempre i risultati manualmente: la natura silenziosa di UDP può causare falsi positivi/negativi.
  • Evita scan troppo aggressivi in ambienti di produzione, poiché possono generare allarmi nei sistemi di monitoraggio.
  • Strumenti alternativi: in alcuni casi, strumenti dedicati come unicornscan o masscan possono aiutare a velocizzare l'enumerazione UDP.

La scansione UDP rappresenta un elemento chiave nella fase di Information Gathering durante un penetration test: trascurarla può significare ignorare vettori di attacco potenzialmente critici.


Se desideri, posso integrare questa guida con una checklist di validazione manuale post-scan o script personalizzati per l'analisi dei risultati.