Icmp-reset
Jump to navigation
Jump to search
icmp-reset
Description
Icmp-reset est un outil qui permet d'envoyer des messages d'erreur ICMP dans le but de fermer des sessions distantes. Le schéma suivant montre la typologie de l'attaque type : une connexion est établie entre un client et un serveur. Un attaquant envoie des messages d'erreur ICMP (à l'aide de icmp-reset) vers le serveur afin de fermer la session distante.
(CLIENT) (SERVEUR)
+----------------+ ??? 21 +----------------+
| 172.16.196.128 | <-------------> | 172.16.196.129 |
+----------------+ conn FTP +----------------+
^
|
_________________/
/ attaque
|
+----------------+
| 192.168.1.10 |
+----------------+
(ATTAQUANT)
Site officiel : http://www.gont.com.ar/tools/icmp-attacks/
Installation
Pré-requis
Installation à partir des sources
# cd /usr/local/src/ # wget http://www.securityfocus.com/data/vulnerabilities/exploits/icmp-reset.tar.gz # tar xzvf icmp-reset.tar.gz # cd icmp-reset/ # make
Utilisation
La syntaxe de base est la suivante :
# ./icmp-reset -c CLIENT_IP[:PORT] -s SERVER_IP[:PORT] [-t client|server] [-n | -f SOURCE_ADDRESS] [-r RATE | -d DELAY] [-D PAUSE] [-l IP_TTL] [-L IPP_TTL] [-o IP_TOS] [-O IPP_TOS] [-z IP_SIZE] [-q TCP_SEQ]

Note
Il est important de spécifier au moins un port ou une plage de ports réduite pour le client et/ou le serveur. Effectivement, dans l'éventualité où aucun
port n'est précisé, le nombre de combinaisons testées sera de 65536*65536.
où
-c <client_ip>[:port]
Représente l'adresse IP du client, éventuellement accompagnée du
numéro de port. Il est possible de spécifier une plage de port comme
suit : 1024-1100. Plus la plage est réduite, et plus l'attaque sera
rapide (dans la mesure où moins de ports devrons être testés).
-s <server_ip>[:port]
Représente l'adresse IP du serveur, éventuellement accompagnée d'un port
ou d'une plage de ports.
-t client|server
Spécifie qui, du client ou du serveur, sera destinataire des paquets envoyés
par icmp-reset.
-n
Par défaut, les paquets forgés par icmp-reset spécifient une adresse source
correspondant à celle du client si "-t server" est utilisé, ou à celle du
serveur si "-t client" est utilisé. Si pour une raison quelconque vous
souhaitez utiliser comme adresse source votre propre adresse IP, utilisez
cette option. Ceci peut être utile dans l'éventualité où un filtrage egress
(filtrage IP) serait appliqué.
-f <src_ip>
Ce paramètre permet de spécifier une adresse IP source arbitraire. Cec
peut être utile dans l'éventualité où un filtrage egress serait appliqué.
-r <rate>
L'option -r permet de limiter la bande passante en sortie. Celle-ci est
exprimée en kbps. Cette option peut servir à limiter un trafic transitant
par un routeur appliquant une limitation de sortie des paquets ICMP. En
cas de perte de paquets, cette option peut également être utilisée.
-l IP_TTL (Champ "Time To Live" du paquet IP)
-L IPP_TTL (Champ "Time To Live" de l'en-tête IP)
-o IP_TOS (Champ "Type Of Service" du paquet IP)
-O IPP_TOS (Champ "Type Of Service" de l'en-tête IP)
-z IP_SIZE (taille du paquet IP)
-q TCP_SEQ (numéro de séquence)
Par défaut, les valeurs de ces champs sont fixées aléatoirement lors de
la génération des paquets. Il est possible de forcer leur valeur en
utilisant ces options.
A noter toutefois que la valeur par défaut des champs IP_TOS (Type Of
Service) et IPP_TOS (Champ TOS de l'en-tête IP) sont fixés à 0x00 (trafic
normal).
Note : Si le champ -z permet de modifier l'information sur la taille du
paquet, la véritable taille du paquet forgé s'en trouve en revanche
inchangée.
-i
Par défaut, le message d'erreur ICMP envoyé est un type 3 (destination
unreachable), code 2 (protocol unreachable). L'option -i permet de
spécifier d'autres valeurs.