Tutorials

Tecniche di Scansione con Nmap

Nmap offre diverse tecniche di scansione per identificare porte aperte, servizi e sistemi operativi su un target. Di seguito, analizziamo le principali tecniche di scansione e i relativi utilizzi prat

#enumeration#nmap

Tecniche di Scansione con Nmap

Nmap offre diverse tecniche di scansione per identificare porte aperte, servizi e sistemi operativi su un target. Di seguito, analizziamo le principali tecniche di scansione e i relativi utilizzi pratici.


1. Scansione SYN (-sS)

Descrizione: La scansione SYN, detta anche "half-open", invia un pacchetto SYN e analizza la risposta:

  • SYN-ACK → la porta è aperta
  • RST → la porta è chiusa
  • Nessuna risposta → la porta è filtrata

Quando usarla?

  • Quando si ha accesso privilegiato (richiede root/admin)
  • È meno rilevabile dai sistemi di logging rispetto ad altre tecniche

Esempio:

sh
nmap -sS 192.168.1.1

2. Scansione TCP Connect (-sT)

Descrizione: Utilizza il normale handshake TCP, completando la connessione.

Quando usarla?

  • Se non si dispone di privilegi root
  • Maggiore rilevabilità rispetto alla scansione SYN

Esempio:

sh
nmap -sT 192.168.1.1

3. Scansione ACK (-sA)

Descrizione: Invia pacchetti ACK per determinare lo stato di firewall e filtri di rete.

Quando usarla?

  • Per identificare se un firewall sta filtrando pacchetti

Esempio:

sh
nmap -sA 192.168.1.1

4. Scansione Window (-sW)

Descrizione: Simile alla scansione ACK, ma sfrutta le dimensioni della finestra TCP per determinare se la porta è aperta.

Quando usarla?

  • Utile per bypassare firewall che bloccano le scansioni SYN

Esempio:

sh
nmap -sW 192.168.1.1

5. Scansione Maimon (-sM)

Descrizione: Una variante della scansione FIN che sfrutta un comportamento anomalo di alcuni sistemi.

Quando usarla?

  • Per testare dispositivi che non rispondono correttamente agli altri tipi di scansione stealth

Esempio:

sh
nmap -sM 192.168.1.1

6. Scansione UDP (-sU)

Descrizione: Invia pacchetti UDP e analizza la risposta.

Quando usarla?

  • Per scansionare servizi UDP (DNS, SNMP, DHCP, etc.)

Esempio:

sh
nmap -sU 192.168.1.1

7. Scansione Null (-sN)

Descrizione: Non imposta alcun flag TCP nel pacchetto.

Quando usarla?

  • Per eludere firewall basati su stati TCP

Esempio:

sh
nmap -sN 192.168.1.1

8. Scansione FIN (-sF)

Descrizione: Invia un pacchetto con flag FIN.

Quando usarla?

  • Per scansioni stealth su sistemi basati su Unix/Linux

Esempio:

sh
nmap -sF 192.168.1.1

9. Scansione Xmas (-sX)

Descrizione: Invia pacchetti con flag FIN, PSH e URG.

Quando usarla?

  • Per testare sistemi che gestiscono male pacchetti TCP non standard

Esempio:

sh
nmap -sX 192.168.1.1

10. Scansione Idle (-sI)

Descrizione: Utilizza un host "zombie" per mascherare la scansione.

Quando usarla?

  • Per scansioni altamente stealthy

Esempio:

sh
nmap -sI zombie_host 192.168.1.1

11. Scansione SCTP INIT (-sY)

Descrizione: Utilizza il protocollo SCTP per individuare porte aperte su servizi specifici.

Quando usarla?

  • Per verificare servizi basati su SCTP

Esempio:

sh
nmap -sY 192.168.1.1

12. Scansione SCTP COOKIE ECHO (-sZ)

Descrizione: Simile a -sY, ma evita la registrazione nei log.

Quando usarla?

  • Per scansioni stealthy di servizi SCTP

Esempio:

sh
nmap -sZ 192.168.1.1

13. Scansione IP Protocol (-sO)

Descrizione: Scansiona i protocolli supportati da un host.

Quando usarla?

  • Per identificare protocolli non standard

Esempio:

sh
nmap -sO 192.168.1.1

Conclusione

Scegliere la giusta tecnica di scansione dipende dal contesto operativo, dal livello di stealth richiesto e dalla tipologia di target. Una combinazione di queste tecniche può massimizzare l’efficacia di un'analisi.

Tecniche di Host Discovery con Nmap

Nmap fornisce diverse tecniche di rilevamento degli host per identificare quali dispositivi siano attivi su una rete. A seconda delle condizioni di rete e dei firewall presenti, alcune tecniche risultano più efficaci di altre.


1. Scansione List (-sL)

Descrizione: Questa modalità non invia pacchetti alla rete, ma semplicemente risolve i nomi degli host corrispondenti agli IP specificati.

Quando usarla?

  • Per ottenere una lista di host senza eseguire una scansione effettiva.
  • Utile per verificare la risoluzione DNS prima di una scansione completa.

Esempio:

sh
nmap -sL 192.168.1.0/24

2. Scansione No Ping (-sn)

Descrizione: Disattiva la scansione delle porte, eseguendo solo il rilevamento degli host.

Quando usarla?

  • Quando vogliamo sapere quali host sono attivi in una rete.
  • Per evitare di impiegare troppo tempo a scansionare tutte le porte degli host di una rete.

Esempio:

sh
nmap -sn 192.168.1.0/24

3. Nessun Ping (-Pn)

Descrizione: Assume che tutti gli host siano attivi e tenta direttamente la scansione delle porte.

Quando usarla?

  • Se il ping ICMP è bloccato e si vuole comunque testare la presenza di servizi.

Esempio:

sh
nmap -Pn 192.168.1.0/24

4. TCP SYN Ping (-PS)

Descrizione: Invia pacchetti TCP SYN per verificare se una macchina risponde.

Quando usarla?

  • Quando il ping ICMP è bloccato, ma alcune porte sono aperte.

Esempio:

sh
nmap -PS80,443 192.168.1.0/24

5. TCP ACK Ping (-PA)

Descrizione: Invia pacchetti TCP con flag ACK per verificare la presenza di host.

Quando usarla?

  • Per rilevare dispositivi dietro firewall che bloccano pacchetti SYN ma rispondono agli ACK.

Esempio:

sh
nmap -PA22,80 192.168.1.0/24

6. UDP Ping (-PU)

Descrizione: Invia pacchetti UDP per determinare se un host è attivo.

Quando usarla?

  • Quando si sospetta che un firewall blocchi TCP ma permetta il traffico UDP.

Esempio:

sh
nmap -PU161 192.168.1.0/24

7. SCTP INIT Ping (-PY)

Descrizione: Invia pacchetti SCTP INIT per rilevare host attivi.

Quando usarla?

  • Per scansionare reti che usano il protocollo SCTP, come reti di telecomunicazioni.

Esempio:

sh
nmap -PY 192.168.1.0/24

8. ICMP Echo Ping (-PE)

Descrizione: Usa pacchetti ICMP Echo Request per scoprire host attivi.

Quando usarla?

  • Se ICMP non è filtrato.

Esempio:

sh
nmap -PE 192.168.1.0/24

9. ICMP Timestamp Ping (-PP)

Descrizione: Invia pacchetti ICMP Timestamp Request.

Quando usarla?

  • Per identificare host che rispondono solo a timestamp request.

Esempio:

sh
nmap -PP 192.168.1.0/24

10. ICMP Address Mask Ping (-PM)

Descrizione: Invia pacchetti ICMP Address Mask Request.

Quando usarla?

  • Per identificare dispositivi di rete che rispondono a tali richieste.

Esempio:

sh
nmap -PM 192.168.1.0/24

11. Protocol Ping (-PO)

Descrizione: Invia pacchetti di vari protocolli IP per rilevare host attivi.

Quando usarla?

  • Per testare sistemi che rispondono solo a protocolli specifici.

Esempio:

sh
nmap -PO 1,6,17 192.168.1.0/24

12. Nessuna Risoluzione DNS (-n)

Descrizione: Evita la risoluzione DNS per velocizzare la scansione.

Quando usarla?

  • Quando la risoluzione DNS non è necessaria.

Esempio:

sh
nmap -n -Pn 192.168.1.0/24

13. Forza Risoluzione DNS (-R)

Descrizione: Forza la risoluzione DNS anche per gli IP che non hanno un nome associato.

Quando usarla?

  • Per raccogliere informazioni sui nomi host.

Esempio:

sh
nmap -R 192.168.1.0/24

14. Traceroute (--traceroute)

Descrizione: Identifica il percorso dei pacchetti dalla macchina locale fino al target.

Quando usarla?

  • Per mappare la topologia di rete.

Esempio:

sh
nmap --traceroute 192.168.1.1

Conclusione

La scelta della tecnica di host discovery dipende dalla configurazione di rete e dai firewall presenti. È utile combinare diverse modalità per aumentare l'affidabilità del rilevamento.