Attaque DoS (Déni de service)

Nous devons toujours être attentifs aux différentes attaques informatiques auxquelles nous sommes exposés. Cette fois, nous allons parler d'un attaque informatique qui attaque la disponibilité d'un service, Il s'agit de Attaque DoS (Déni de service). Cette attaque peut se faire de manière distribuée (DDoS), elle sera normalement effectuée via un botnet. Los atacantes tienen como objetivo que los usuarios de un servicio no puedan utilizarlo, debido a que está saturado, seguro que has oído sobre los ataques que ha sufrido PlayStation Network, incluso es posible que debido a alguno de esos ataques cierto día no hayas podido jugar en ligne.

Vous avez pu constater que le Attaque DoS et DDoSUne différence que nous trouvons entre une attaque et une autre est que dans la première nous utilisons une machine et une connexion, et dans la seconde, de nombreux ordinateurs seront utilisés, donc l'attaque est beaucoup plus dure et plus efficace.

NoterPour bien comprendre l'attaque, il faut que vous sachiez comment fonctionne TCP/IP, ou au moins avoir des notions de base des Réseaux.

Différentes manières de mener l'attaque


Pour apprendre la sécurité et pouvoir se protéger, il faut savoir comment sont menées les attaques. Dans cette attaque, nous pouvons voir qu'elle peut être effectuée de plusieurs manières, en voici quelques-unes, avec une brève explication :

Inondation SYNCette attaque consiste à envoyer des requêtes de connexion (paquets avec flag SYN actif) à la victime à partir de fausses adresses IP sources, qui répondront avec des paquets contenant les flags ACK et SYN actifs, et attendront que l'origine de la connexion réponde avec l'ACK drapeau défini, mais cela n'arrivera jamais.

Inondation ICMPDans ce type, l'attaquant veut consommer la bande passante de la victime en envoyant de nombreux gros paquets ICMP, c'est par ping.

Inondation UDPIci, de grandes quantités de paquets UDP seront créées, qui seront envoyées à la victime sur des ports aléatoires.

Débordement de tamponType d'attaque "classique", l'attaquant enverra à la victime plus de paquets que le tampon du service ne peut en gérer, ce qui fait que le service ne répond pas aux requêtes légitimes, car il est saturé.

Il existe d'autres types, tels que Inondation HTTP, Amplification NTP, etc.

Exemple d'attaque DoS en Python


Maintenant nous allons voir un petit exemple de code en Python qui sera basé sur l'attaque SYN flood, le test sera réalisé de manière contrôlée avec des machines virtuelles.
 import logging logging.getLogger ("scapy.runtime"). setLevel (logging.ERROR) de scapy.all import * conf.verb = 0 host = "192.168.56.1" port = 80 originIP = "192.168.1." endIP = 10 packet_number = 0 tandis que True : packet_number + = 1 packet = IP (src = (sourceIP + str (endIP)), dst = host) / TCP (sport = RandShort (), dport = port) send (packet, inter = 0,0002) print ("Packet% d sent"% packet_number) endIP + = 1 if (endIP == 200): endIP = 10
Le code est assez simple, nous utilisons la version 3 de Python, et nous utilisons la librairie Scapy, qui est très puissante et nous facilite les choses.

La première chose que nous voyons est d'importer les bibliothèques nécessaires, le registre est utilisé pour éviter l'avertissement que Scapy se lance sur IPv6. Ensuite, il est utilisé conf.verb = 0, ceci est fait pour que Scapy n'affiche pas d'informations.

Ensuite, la variable est créée héberger, qui n'est rien de plus que l'IP de la cible de notre attaque et la variable Port qui est le port de notre objectif.

Pour que ce ne soit pas toujours la même adresse source, j'ai créé une variable qui a la base (origineIP) et un autre qui sera ajouté à la fin (IP de fin), comme vous pouvez le voir, ils sont concaténés lors de la création du package originIP + str (endIP).

La variable numéro_paquet il est simplement utilisé pour garder une trace des colis qui ont été envoyés.

La dernière partie est une boucle infinie, qui est celle qui s'occupe de tout, nous créons le package et l'envoyons, nous montrons également que le package a été envoyé, car nous avons les informations, et mettons à jour les variables IP de fin Oui numéro_paquet.
Si nous exécutons le code et utilisons wireshark, nous pouvons voir comment les paquets sont envoyés, nous vérifions que l'IP source est différente à chaque fois, tout comme le port.

Si nous le regardons, la colonne Source de l'image précédente ne cesse de changer, la colonne Destination ne le fait pas, car c'est notre victime.

Contre-mesures


Malheureusement les entreprises subissent de nombreuses pertes tout au long de l'année en raison de ce type d'attaque, il est donc très important que nous mettions en œuvre des contre-mesures, voici quelques-unes de celles que nous devons prendre en compte :
  • Configurer correctement le pare-feu ou les systèmes IDS ou IPS
  • Limiter le nombre de paquets TCP SYN par seconde
  • Analyser le trafic réseau
  • Recherche IP inversée, sert à éviter l'usurpation d'identité

Si vous souhaitez en savoir plus sur les problèmes de sécurité, vous pouvez visiter la catégorie dédiée à la sécurité au sein de Solvetic.

Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave