Skip to main content
  1. Lab-blue/

[TODO] Lab - hping3 Packet Crafting

·3 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

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 --version

Step 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 chiusa

Cosa 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.3

Confronta 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.3

Osserva 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.3

A 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
#

  1. Differenza operativa tra hping3 -S -p 80 e nmap -sS -p 80: quale dei due e' piu' visibile in un IDS e perche'?
  2. Perche' --rand-source rende difficile il blocco di un SYN flood basato su IP sorgente?
  3. 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

Related