Test de stress avec une attaque par inondation

-

Commençons par un avertissement habituel : cet article est destiné à des fins éducatives uniquement. Suivez ce tutoriel à vos propres risques. Ne vous attaquez pas à des sites Web qui ne vous appartiennent pas ou pour lesquels vous n’avez pas la permission de faire des tests de résistance.

Une attaque par inondation HTTP est une sous-catégorie des attaques DDoS générales, avec une distinction essentielle : lors d’une inondation HTTP, l’attaquant effectue des requêtes HTTP GET/POST/PUT « légitimes » afin d’imposer une charge supplémentaire au serveur/à l’application Web.

Cette approche est particulièrement efficace si vous pouvez déterminer avec précision quelles requêtes sont coûteuses pour le serveur. Il s’agit soit de la récupération ou du calcul de certaines données, ce qui exerce une pression sur la base de données ou le matériel du serveur, soit du téléchargement de fichiers plus volumineux, ce qui entraîne un trafic supplémentaire sur le réseau. Plus une requête HTTP est gourmande en processus, mieux c’est.

Ces attaques peuvent rendre l’application ciblée insensible, déclencher des délais d’attente ou même la faire tomber en panne. Et aujourd’hui, c’est justement ce que nous allons explorer !

Exécution de l’attaque

J’ai découvert un outil spécial pour orchestrer les attaques par inondation HTTP, et je vais vous montrer brièvement comment l’utiliser. Vous pouvez le consulter ici. Si vous voulez suivre ce tutoriel, préparez votre PC/serveur en installant Docker et docker-compose.

Ce sera assez simple, une fois que votre Docker est prêt, il vous suffit de cloner le dépôt, de naviguer dans le dossier racine du projet :

git clone https://github.com/JPLeoRX/tor-flood-attack.git
cd tor-flood-attack

Ne pas oublier de modifier le fichier targets.txt à la racine du projet et renseigner quels sont les sites que vous désirés tester. Ensuite, exécuter docker-compose:

docker-compose up --build -d && docker-compose logs -f -t

Vous verrez le journal de construction, puis les conteneurs seront créés :

...
Successfully built 7d3537fa2051
Successfully tagged tor-flood-attack_app:latest
Creating tor-flood-attack_app_1  ... done
Creating tor-flood-attack_app_2  ... done
Creating tor-flood-attack_app_3  ... done
Creating tor-flood-attack_app_4  ... done
Creating tor-flood-attack_app_5  ... done
Creating tor-flood-attack_app_6  ... done
Creating tor-flood-attack_app_7  ... done
Creating tor-flood-attack_app_8  ... done
Creating tor-flood-attack_app_9  ... done
Creating tor-flood-attack_app_10 ... done
Creating tor-flood-attack_app_11 ... done
Creating tor-flood-attack_app_12 ... done
...

Laissez-lui quelques minutes pour lancer TOR et Privoxy, et lorsque tout fonctionne bien, vous verrez quelque chose de similaire à cette sortie, vous montrant les statistiques de chaque lot de demandes d’attaque :

...
app_1  | 2022-03-29T14:50:39.803225587Z debug_stats(): ----------------------- 
app_1  | 2022-03-29T14:50:39.803292708Z debug_stats(): https://XXXXXX.com
app_1  | 2022-03-29T14:50:39.804966586Z debug_stats(): Total responses count: 390
app_1  | 2022-03-29T14:50:39.805010847Z debug_stats(): Success responses: 390
app_1  | 2022-03-29T14:50:39.805024164Z debug_stats(): Execution time is 1.06 s, speed is 369.1 r/s
...

C’est à peu près tout. Maintenant, détendez-vous et observez comment le site ciblé devient plus lent à répondre. Assurez-vous de choisir une bonne cible.

P.S. Comme pour toute attaque DDoS, le mot clé ici est « distribué », ce déluge HTTP sera encore plus efficace s’il est lancé depuis plusieurs serveurs / PC à la fois. Plus vous avez d’instances en cours d’exécution, plus vous pouvez soumettre le site Web ciblé à un stress important.

P.P.S. Expérimentez également les paramètres de performance tels que décrits dans le fichier README.md, vous pourriez être en mesure d’obtenir plus de requêtes par seconde de votre connexion si vous les modifiez un peu.

Pourquoi cette attaque n’est-elle pas très efficace ?

Problèmes évidents – Le proxy TOR (bien qu’il soit idéal pour dissimuler les adresses IP de vos machines) présente des inconvénients. Tout d’abord, il est lent, les requêtes effectuées via TOR sont beaucoup plus lentes. Ensuite, nous avons des problèmes constants de déconnexion, le proxy TOR peut interrompre des connexions, refuser de se connecter, etc. Dans l’ensemble, ce système peut devenir peu fiable et, dans le pire des cas, environ 1/3 de vos demandes peuvent être perdues à cause de ces problèmes.

Malgré ces inconvénients, ce type d’attaque peut être efficace sur des applications Web non préparées, qui n’ont pas mis en place de mesures de protection DDoS automatisées.

Merci de votre lecture, et bonne chasse !

Alfred
Alfredhttps://www.alfreddagenais.com
Salut ! Moi, c'est Alfred, développeur dans l’âme et explorateur de l'infini Web. Je suis constamment à la recherche de nouvelles idées et je pense que le développement web et l'informatique ont le pouvoir de transformer le monde. Je suis un grand admirateur de l'expérimentation, parce que c'est souvent de là que naissent les idées les plus créatives. Je suis convaincu que l'humour est un ingrédient clé de la vie, alors j'essaie toujours de glisser une blague ou deux dans mon code (pas toujours facile à comprendre, mais c'est le risque à prendre). En dehors de la programmation, j'aime passer du temps avec ma famille et mes amis, découvrir de nouveaux endroits et cuisiner des plats délicieux (du moins, j'essaie). Si vous voulez discuter de développement web, d'innovation, ou tout simplement échanger des blagues, n'hésitez pas à me contacter. Je suis toujours partant pour une bonne conversation !

Share this article

Recent posts

Popular categories

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Recent comments