©2018 by Assouline Jordan.

  • Jordan Assouline

Les attaques de type DoS (Denial of Service) et DDos


Qu'est-ce qu'une attaque par déni de service ?

Une attaque par déni de service consiste à rendre indisponible un service et empêcher les utilisateurs de ce service d'y accéder. Il faut bien les distinguer des attaques par reconnaissance puisque celles-ci ont pour but de passer inaperçues et de récupérer un maximum d'informations.


Les attaques de type déni de service, ont uniquement pour but de saturer le service ciblé en lui envoyant tellement d'informations qu'il n'est plus capable de les gérer correctement. En réalité le service utilise toutes ses ressources pour répondre aux requêtes envoyées par l'attaquant, et n'en possède plus suffisamment, de disponibles, pour répondre aux requêtes des clients légitimes.


Les attaques de type DDoS (Distributed Denial of Service) impliquent l’utilisation de botnets, un groupe d’équipements sous le contrôle de l’attaquant. Ces équipements ont pu être placés sous son contrôle grâce à divers Malwares que le véritable propriétaire a pu télécharger par inadvertance. L’attaquant possède alors à son service des ordinateurs zombies, lui permettant de démultiplier le nombre d’attaquants et leur position géographique.



Attaque par SYN Flood

Il existe plusieurs types d'attaques par déni de service. L’attaque par SYN Flood implique la génération de requêtes bogus qui peuvent être envoyées depuis un seul et même hôte, en demandant par exemple à établir une connexion TCP.


Pour rappel une connexion TCP s’établit de la manière suivante :


On parle également de ThreeHand-Shake pour « poignée de main en trois temps ».


Cependant lors d’une attaque par SYN Flood, la machine ciblée, utilise toutes ses ressources disponibles pour répondre à ces demandes de connexion et n’est plus capable de répondre aux véritables clients. En général l’attaque est effectuée depuis plusieurs machines et on parle alors de DDoS (Distributed Denial of Service) illustrée par le schéma ci-dessous :

On voit bien dans cette situation, que comme les PCs 1 à 4 effectuent des demandes TCP SYN, la table des demandes de connexion du serveur en est pleine au point de ne plus avoir la place pour répondre au PC5 qui est légitime.



Attaque par UDP Flooding

Ce type d'attaque exploite le fait que le protocole UDP utilise un mode non connecté à la différence du protocole TCP. De plus, il est important de savoir que le trafic UDP est prioritaire sur le trafic TCP, ce qui provoque une congestion du réseau plus importante lors de l’utilisation de ce type de paquet.


Le protocole TCP utilise un mécanisme de contrôle de congestion qui adapte la fréquence d'émission des paquets lorsque l'acquittement arrive après un délai trop important. C'est-à-dire que lorsque le ACK (Acknowledge) d’un paquet TCP n’arrive pas, ou arrive après un certain délai, le protocole réduira le nombre de paquets émis permettant ainsi une diminution du débit.


Lorsqu'un paquet UDP est envoyé à destination d'un port ouvert sur une machine, celle-ci répond généralement via le protocole ICMP. En modifiant l'adresse IP source de chaque paquet émis, il est possible d'inonder le réseau de requêtes UDP.


Une des attaques les plus célèbres utilisant l’UDP Flooding, s’appelle le « Chargen Denial of Service Attack ». Elle utilise les ports Chargen (numéro 19) et Echo (numéro 7).


Le port Echo va tout simplement envoyer la même information que celle qu’il a reçu. Par exemple, si la machine A envoie comme contenu « Jordan » sur le port UDP numéro 7 de la machine B, alors A va recevoir à son tour « Jordan » provenant de la machine B.


Le port Chargen fonctionne de manière similaire, à la différence qu’il ajoute des caractères générés aléatoirement au message initialement reçu. Par exemple si la machine A envoie comme contenu « Jordan » sur le port UDP numéro 19 de la machine B, alors A va recevoir potentiellement « Jordan1234ekzlnfzenkjfeznk » en provenance de la machine B.


L’attaquant va donc utiliser une machine qui servira d’intermédiaire, et va lui envoyer un paquet en falsifiant les informations de l’expéditeur, pour se faire passer pour le PC victime. C’est-à-dire que l’attaquant va faire croire au PC intermédiaire qu’il a reçu un paquet (sur son port Chargen) provenant de la victime (depuis son port Echo) :

Schéma explicatif du Chargen Denial of Service :

Le paquet va donc faire une boucle en permanence, en répétant les étapes 2 et 3 et en continuant à générer aléatoirement les caractères. Bien entendu cette attaque ne fonctionne que si les ports 7 et 19 sont ouverts.



Attaque de type Smurfing

Cette attaque utilise le principe de base du fonctionnement du protocole ICMP. En effet lorsqu'une machine effectue un ping, elle émet un paquet ICMP Echo Request vers la cible, et attend en réponse un message ICMP Echo Reply.

Schéma explicatif du fonctionnement d’une requête ICMP :


Le smurfing consiste à usurper l'identité du PC victime, et d'envoyer un paquet ICMP Echo Request sur l'adresse de Broadcast du réseau en mettant comme adresse IP source celle de la victime. En envoyant ce paquet sur l'adresse de Broadcast, toutes les machines du réseau vont recevoir l’Echo Request et y répondre par un Echo Reply vers la machine victime.

En envoyant un flux continu de ping, la machine victime subit alors une énorme quantité de trafic entrant, qu'elle ne va pas être capable de gérer correctement, ce qui provoque à terme un déni de service.

Etape 1 du smurfing :

Une fois que les machines ont toutes reçues une copie du paquet ICMP Echo Request, elles vont toutes répondre en même temps vers la machine victime.

Etape 2 du smurfing :

L’attaque consiste à répéter cette action de très nombreuses fois, jusqu’à ce que la victime soit littéralement saturée de messages, au point de ne plus pouvoir traiter aucune autre demande.


Les Advanced Persistent Threat (APT)


Ce type d'attaque adopte une approche à long terme pour rassembler une grande quantité de renseignements. Souvent l'attaquant commence une APT avec une attaque de social engineering, un phishing puis un spear phishing. Une fois que son but est atteint, l'intrus peut passer des mois ou des années à acquérir silencieusement de l'information. Ces informations peuvent aller du courriel d'entreprise (et personnel) jusqu'aux secrets commerciaux tels que les brevets. On peut d'ailleurs parler d'espionnage industriel.


Alors que, les attaques classiques, ont souvent pour but de réussir à pénétrer dans une infrastructure en lançant une grande quantité d'attaques et en espérant qu'un certain pourcentage puisse aboutir, les APT se concentrent sur une organisation spécifique en multipliant les efforts et les outils pour arriver à leurs fins.


Qu'il s'agisse d'un attaquant récupérant des mails potentiellement embarrassants ou professionnellement sensibles, ou la diffusion d'un ver (comme par exemple le Stuxnet worm utilisé contre le programme nucléaire iranien) le cycle de vie d'une APT reste le même :

  • définir quelle est la cible

  • trouver et organiser les complices potentiels

  • construire ou acquérir des outils

  • rechercher les différents éléments de l'infrastructure

  • effectuer des recherches sur les employés

  • faire des tests de détection et de reconnaissance

  • déployer les outils permettant l'intrusion sur l'infrastructure

  • effectuer une première intrusion

  • établir une connexion depuis l'infrastructure vers l'extérieur

  • tenter d'obtenir des identifiants et des mots de passe

  • effectuer une prise d'empreinte

  • exfiltrer les données vers l'extérieur de l'infrastructure

  • couvrir ses traces et rester indétectable

Les acteurs des APT utilisent divers outils comme : rootkits, kit d’exploits, logiciels malveillants à faire télécharger, informations DNS, modification du

routage, utilisation de bornes Wifi espionnes, développement d’outils en fonction de la société, etc…


On peut cependant se poser la question de savoir quelles sont les types de données que les attaquants cherchent à voler, et comme ils font pour les exfiltrer.



89 vues