Le Denial of Service
est une technique qui consiste à envoyer un flux de données trop important par rapport à ce que la cible peut recevoir et traiter. Si quelqu’un a votre adresse IP et veut vous priver d’internet ou bloquer l'accès à votre site, il pourra le faire s’il dispose d’une connexion suffisamment importante. Il va alors vous flooder et saturer votre bande passante montante, ce qui aura pour effet de perturber énormément votre trafic internet dans les deux sens.
La simple commande ping peut déjà se révéler assez utile si l'on dispose de beaucoup de bande passante et de bonnes options. Mais il existe un programme, hping qui est bien plus puissant. Il ne se contente pas d'envoyer des paquets ICMP, il gère aussi les paquets TCP, UDP et permet en plus de modifier certains champs des en-têtes de ces paquets. Il comporte aussi un traceroute et des capacités à détecter les systèmes d'exploitations d'une cible.
- hping 192.168.0.1 -1 : le ping classique
- hping 192.168.0.1 -a 192.168.0.11 : l'option -a définit l'adresse source du ping et donc l'adresse qui recevra les réponses en provenance de la cible
- hping 192.168.0.1 -i u10 : pour envoyer 1 paquet toutes les 10 s'avérer Cet outil peut s'avérer très puissant et peut être utilisé par exemple pour effectuer une attaque SYN food, Ping food et Smurf.
Pour plus d'informations sur les options, nous vous conseillons le site officiel de Hping http://www.hping.org/.
Une attaque SYN Flood est une attaque visant à provoquer un déni de service en émettant un nombre important de demandes de synchronisation TCP incomplète avec un serveur. Quand un système (client) tente d'établir une connexion TCP vers un système offrant un service (serveur), le client et le serveur échangent une séquence de messages. Le système client commence par envoyer un message SYN au serveur. Le serveur reconnaît ensuite le message en envoyant un SYN-ACK message au client. Le client finit alors d’établir la connexion en répondant par un message ACK. La connexion entre le client et le serveur est alors ouverte, et le service de données spécifiques peut être échangé entre le client et le serveur.
Voici une vue de ce flux de messages:
Le risque d'abus se pose à l'endroit où le système de serveur a envoyé un accusé de réception (SYN-ACK) au client, mais ne reçoit pas le message ACK. Le serveur construit dans sa mémoire système une structure de données décrivant toutes les connexions. Cette structure de données est de taille finie, et elle peut être débordée en créant intentionnellement trop de connexions partiellement ouvertes.
HPING permet d'effectuer un déni de service avec par exemple la commande suivante :
hping3 -i u10 192.168.198.1 -p 80 –S
qui envoi à l'adresse 192.168.198.1, sur le port 80, des paquets de type SYN à l'intervalle de 10 micro-secondes.
Mais avant tout, pour réaliser une attaque, la première étape consiste à scanner les ports ouverts d'une machine donnée pour en chercher les vulnérabilités. Pour cela, nous avons utilisé l'outil nmap:
nmap -p 1-100 192.168.198.1
Cette commande effectue le scan des ports 1 à 100 de la machine 192.168.198.1.
hping 192.168.0.1 -S -fast -a 192.168.0.100 : pour effectuer la même attaque en fessant passer la machine 192.168.0.100 pour l'attaquant
La victime n'aura plus internet jusqu'à ce que vous coupiez l'attaque avec un petit ctrl+c.
hping -1 –i u10 @IP_MACHINE_CIBLE
L’argument -1 précise que les paquets se font en ICMP, ceux-ci sont par défaut des « echo request ».
Cette attaque utilise le protocole ICMP. Quand un ping (message ICMP ECHO) est envoyé à une adresse de broadcast (par exemple 10.255.255.255), celui-ci est démultiplié et envoyé à chacune des machines du réseau. Le principe de l’attaque est de spoofer les paquets ICMP ECHO REQUEST envoyés en mettant comme adresse IP source celle de la cible. Le cracker envoie un flux continu de ping vers l’adresse de broadcast d’un réseau et toutes les machines répondent alors par un message ICMP ECHO REPLY en direction de la cible. Le flux est alors multiplié par le nombre d’hôte composant le réseau. Dans ce cas tout le réseau cible subit le déni de service, car l’énorme quantité de trafic générée par cette attaque entraîne une congestion du réseau.
Hping peut être utilise dans beaucoup de situations pour analyser et effectuer des audits de réseaux informatique ainsi que leurs configurations.
Avantage :
Il permet de générer des paquets TCP, UDP, et ICMP contrairement à l'utilitaire ping(8) d'Unix, qui ne permet lui que d'envoyer des paquets ICMP. « Hping » est principalement utilisé comme un outil de sécurité, mais il peut être utilisé sous diverses formes comme :
Inconvénients :
- Test de firewall et du réseau
- Traceroute avancé
- Outil d'illustration, lors d'une formation à TCP/IP
Les attaques ne proviennent que d?une seule machine, de ce faite les attaques du type PING Flood (ICMP flooding) ralentissent la machine mais pas suffisamment pour l'empêcher d'émettre les RST qui mettent fin à la connexion (la connexion est réinitialisée).