Icmp-reset

From aldeid
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.

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