Capitolo: Gibson Cap 4 — Securing Your Network Concetti: TCP/IP stack, firewall testing, port scanning, DoS simulation
Obiettivo#
hping3 e' un packet crafter interattivo. Dove nmap scopre servizi, hping3 ti fa costruire il pacchetto a mano — scegli flags TCP, TTL, payload, dimensione. Utile per:
- testare regole firewall in modo granulare
- fingerprinting passivo via TCP stack response
- verificare che un IDS/IPS rilevi flooding
- capire a livello operativo come funziona un SYN flood
Prerequisiti#
- Kali Linux su UTM (ha hping3 preinstallato)
- Ubuntu Server come target (
192.168.64.3) - Traffico confinato alla rete host-only — non mandare mai hping3 verso internet
# verifica installazione su Kali
hping3 --versionStep 1 — Ping ICMP base#
hping3 -1 192.168.64.3-1 = ICMP. Confronta il comportamento con ping. Osserva: RTT, TTL ricevuto, sequenza.
Step 2 — TCP SYN scan manuale#
hping3 -S -p 22 192.168.64.3 # SYN su porta 22 (SSH)
hping3 -S -p 80 192.168.64.3 # SYN su porta 80
hping3 -S -p 9999 192.168.64.3 # porta chiusaCosa osservi nella risposta:
- Porta aperta:
SA(SYN-ACK) - Porta chiusa:
RA(RST-ACK) - Porta filtrata (firewall drop): timeout, nessuna risposta
Prova ad aggiungere una regola iptables sul target che droppa la porta 22 e verifica la differenza nella risposta.
Step 3 — Port scan con incremento automatico#
hping3 -S --scan 1-1024 192.168.64.3Confronta il risultato con nmap -sS 192.168.64.3. Qual e' piu' veloce? Quale da' piu' informazioni?
Step 4 — OS fingerprinting via TCP window#
hping3 -S -p 22 -c 3 192.168.64.3Osserva il campo win= nella risposta. La TCP window size iniziale varia per OS (Linux, Windows, BSD hanno valori caratteristici). Non e' deterministica come nmap -O, ma e' un segnale passivo.
Step 5 — Traceroute TCP#
hping3 -S -p 80 --traceroute 192.168.64.3A differenza di traceroute che usa UDP/ICMP, questo usa TCP SYN. Attraversa firewall che bloccano ICMP. Osserva i TTL intermedi.
Step 6 — SYN flood controllato (test IDS)#
Solo verso il tuo target locale, mai verso internet o sistemi altrui.
hping3 -S -p 80 --flood --rand-source 192.168.64.3--flood: nessun ritardo tra pacchetti
--rand-source: IP sorgente randomizzato (spoof)
Lascia girare 5 secondi, poi Ctrl+C. Verifica su Suricata/Wazuh (se installato) che l'alert SYN flood sia stato generato.
Step 7 — Fragmented packets (evasion test)#
hping3 -S -p 22 -f 192.168.64.3-f frammenta il pacchetto IP. Alcuni firewall stateless non riassemblano i frammenti e lasciano passare. I firewall stateful (e IDS moderni) riassemblano prima di ispezionare.
Domande di riflessione#
- Differenza operativa tra
hping3 -S -p 80enmap -sS -p 80: quale dei due e' piu' visibile in un IDS e perche'? - Perche'
--rand-sourcerende difficile il blocco di un SYN flood basato su IP sorgente? - Un firewall stateless vs stateful: quale dei due e' vulnerabile ai pacchetti frammentati di Step 7?
Collegato a#
- cap-04-securing-your-network — firewall types, IDS/IPS, packet filtering
- cap-03-security-architecture — TCP/IP stack, porte, protocolli
- [[[DONE] lab-suricata-ips-inline|lab-suricata-ips-inline]] — verifica che Suricata rilevi il SYN flood del Step 6


