Tutorials

Appunti

Appunti su Nmap e il comportamento dell'host discovery ---

#enumeration#nmap

Appunti su Nmap e il comportamento dell'host discovery


🔍 Problema riscontrato

Durante un test con Nmap, ho notato che alcuni comandi di host discovery davano risultati inaspettati. In particolare:

1. nmap -sn -PE 192.168.1.2Non ha rilevato l'host (ICMP bloccato). 2. nmap -sn -PS 192.168.1.2Ha rilevato l'host (TCP SYN su porta 80, che era aperta). 3. nmap -sn 192.168.1.2Non ha rilevato l'host, anche se dovrebbe usare più tecniche di discovery.


📌 Analisi del comportamento di Nmap

#### 1️⃣ nmap -sn -PE 192.168.1.2 → ICMP bloccato
  • Questo comando invia un ICMP Echo Request (Type 8, Code 0).
  • L'host non risulta attivo perché il firewall blocca le richieste ICMP.
#### 2️⃣ nmap -sn -PS 192.168.1.2 → Rilevato come attivo
  • Invia un TCP SYN Ping (di default sulla porta 80).
  • Poiché la porta 80 era aperta, l’host ha risposto con un SYN/ACK, e Nmap lo ha considerato attivo.
#### 3️⃣ nmap -sn 192.168.1.2 → Host non rilevato
  • Questo comando dovrebbe usare più tecniche di discovery, ma ha fallito perché:
- ICMP Echo Request è stato bloccato. - TCP ACK Ping (-PA80) è stato droppato dal firewall. - TCP SYN Ping (-PS443) è stato inviato alla porta 443, che era chiusa → nessuna risposta. - Non ha inviato un ARP Request (probabilmente perché non ha rilevato che il target fosse nella stessa subnet).

💡 Lezioni apprese e soluzioni

1. Se ICMP è bloccato, non fare affidamento su -PE. 2. Se il SYN Ping (-PS) viene inviato su una porta chiusa, l’host non viene rilevato. 3. Verificare sempre le porte usate da Nmap con --packet-trace. 4. Per migliorare il rilevamento, specificare più porte comuni con -PS:
bash
nmap -sn -PS22,80,443 192.168.1.2
5. Se si è nella stessa rete, forzare l'uso di ARP con -PR:
bash
nmap -sn -PR 192.168.1.2
6. Usare Wireshark o tcpdump per analizzare i pacchetti effettivamente inviati e ricevuti.

📌 Comandi utili per il debug

  • Visualizzare i pacchetti inviati:
bash
nmap -sn --packet-trace 192.168.1.2
  • Eseguire una scansione con più tecniche di host discovery:
bash
nmap -sn -PE -PS22,80,443 -PA80 192.168.1.2
  • Forzare l'uso di ARP (solo in LAN):
bash
nmap -sn -PR 192.168.1.2


🎯 Conclusione

  • Nmap non sempre sceglie la porta giusta per il SYN Ping di default.
  • Il comando nmap -sn non garantisce di rilevare sempre un host, perché usa un set predefinito di tecniche che potrebbero fallire.
  • Se l'host non viene rilevato, controllare quali pacchetti vengono inviati e personalizzare la scansione con -PS, -PA e -PR.
🔎 Testare sempre le scansioni con Wireshark per confermare il comportamento! 🚀