Chroniques de DDOS : faire face à l'attaque XMLRPC des bots WordPress

Publié: 2019-04-08

Il y a deux jours, nous avons rencontré des difficultés avec le site Web de l'un de nos clients, Nettsted Limited. Nous ne fournissons normalement pas de support technique à nos clients, mais malheureusement, le service d'hébergement de notre client ne lui fournit aucun support. Puisque nous nous sentions responsables de l'aider, nous avons décidé de prendre des mesures contre les attaques de Botnet . Nous avons été confrontés à des comportements étranges de bots lors de l'attaque. Je vais mentionner ce qui s'est passé heure par heure sur cette page et les actions que nous avons entreprises pour protéger le site Web de notre client.

Table des matières

Le début de l'attaque DDOS : l'attaquant s'identifie

En tant que propriétaire de Nettsted Limited, je travaille 16 à 18 heures par jour pour apporter un soutien à nos clients. Nous avons différents clients du monde entier, donc je dois être éveillé dans différents fuseaux horaires. Pendant des mois plus tard, j'ai d'abord voulu regarder un film et m'amuser avec ma famille. Malheureusement, ce fut l'un des pires jours de ma carrière. Après le film, nous avons décidé de nous reposer. Cependant, juste une chose invisible m'a piqué et m'a dit «hé! tu dois jeter un œil à tes œuvres et puis dormir ». Et oui… Voici ce qui s'est passé pendant mes 5 heures d'absence au travail :

  1. Un de mes clients a supprimé le plugin SEO, supprimé toutes les descriptions et tous les titres du site Web. Il a également cassé la structure des liens du site Web.
  2. L'autre client a supprimé certains plugins que nous avons installés et qui sont liés au référencement. Modification des paramètres des caches et en quelque sorte tous les fichiers .js et .css cassés.
  3. Une de mes clientes recevait une attaque DDOS et elle regardait juste comment son site Web s'effondrait.

Lorsque j'ai rejoint WhatsApp et Skype, j'ai vu beaucoup de plaintes pendant ces 5 heures. 30% des phrases étaient juste "Où es-tu ?!".

Mon client m'a dit qu'il avait reçu un message via WhatsApp. L'agresseur s'est identifié avec le numéro de téléphone et a dit à ma cliente qu'il allait l'attaquer. Cela semble vraiment stupide mais il l'a vraiment fait… Quand je suis revenu au travail, l'attaque avait déjà commencé.

Jour 1-) Prendre les premières mesures contre les attaques

Voici quelques journaux de l'attaque que nous avons obtenus :

103.9.156.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; ; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
216.240.176.141 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.0;
104.236.33.158 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://pmsearchpartners.com; verifying pingback from 93.174.93.163"
149.210.236.96 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.27; http://imageconsultant.mu/; verifying pingback from 149.210.236.96"
185.87.249.33 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1;
158.69.26.84 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.2; http://teensystudios.com; verifying pingback from 93.174.93.163"
103.233.76.243 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://help.worldmart.in; verifying pingback from 93.174.93.163"
203.175.180.254 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://www.cybertechriskcenter.com; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
68.71.60.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://www.itunesalternative.org; verifying pingback from 93.174.93.163"
66.55.132.6 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.8.16;
163.172.103.45 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-"

Dans les journaux, vous pouvez voir que l'attaque provenait d'agents utilisateurs WordPress. Cependant, certaines de ces attaques se produisaient également sans agents. J'ai vérifié tous ces sites Web référés et ils étaient tous des sites Web obsolètes et abandonnés. Il y a une adresse IP qui était presque identique à tous les journaux et il y en avait 2 autres. 93.174.93.163 était une adresse IP néerlandaise mais je pense que c'était le serveur/l'hébergement qui nous préparait une attaque de botnet. D'autres 2 adresses IP étaient également des adresses IP néerlandaises.

Puisqu'il y avait trop de notifications de "vérification du pingback à partir de" sur les attaques, je pensais qu'il utilisait des pingbacks et xmlrpc.php pour attaquer.

Ma première réaction aux attaques a été de changer le nom de xmlrpc.php, puis de le supprimer complètement et de supprimer les pingbacks des paramètres WordPress .

Résultat : Il n'a même pas ralenti les attaques.

Comme je n'ai pas obtenu de bons résultats lors des premiers mouvements, j'ai décidé de supprimer le fichier xmlrpc.php de WordPress des fichiers. Cependant, cela n'a toujours pas aidé.

Cependant, il a prouvé qu'il aidait pour certains types d'attaques DDOS. Si vous êtes également confronté à cela, vous pouvez également l'essayer.

Jour 1-) Première réponse : profitez d'être local

Maintenant, vous allez me dire pourquoi je n'ai pas utilisé cloudflare. CF prenait du temps à s'installer et les changements de serveur de noms peuvent parfois être très pénibles. J'ai donc voulu ralentir les attaques mais j'ai également configuré cloudflare pour le site web. Changé les serveurs de noms. L'attaque était sérieuse et endommageait gravement l'utilisation des E/S, de la bande passante, etc. Je crois qu'il y avait 2-3 personnes qui attaquaient depuis différents serveurs. Le site Web de mon client gagnait 1000 $ par jour et c'était un sérieux problème pour lui. Le site était en panne d'environ 6 heures.

Comme le site était local, j'ai décidé de configurer un htaccess. J'avais besoin de toutes les adresses IP du Danemark. avec l'aide d'un site Web, je parviens à trouver toutes les adresses IP du Danemark. Je fermerais temporairement le site Web à tout trafic étranger. J'ai créé un fichier htaccess et bloqué tout le trafic étranger vers le site Web .

Résultat : C'est un bon résultat provisoire. Tous les robots malveillants atteignaient maintenant 403 pages. Cependant mauvaise nouvelle. Les robots de Google atteignaient également 403. Étant donné que le trafic du bot provenait principalement des États-Unis, je n'ai fait aucune configuration pour les adresses IP des bots des États-Unis ou de Google. Comme c'était temporaire jusqu'à ce que les changements de serveur de noms aient lieu, ce n'était pas un problème.

Pendant tout le processus, je parlais avec ma cliente au téléphone et je la calmais. Elle était assez en colère et bouleversée à cause de la situation. Elle m'a dit qu'elle avait reçu des messages de l'agresseur. Elle avait son numéro de téléphone !

Jour 1-) Serveurs de noms modifiés et problèmes avec les paramètres Cloudflare

Environ 2 heures plus tard que j'ai configuré le htaccess, les serveurs de noms ont changé et j'ai activé cloudflare. Suppression des règles de refus/autorisation du fichier .htaccess. Cependant, il y avait un problème avec les paramètres WAF de Cloudflare. J'ai demandé à ma cliente de changer l'adresse IP du serveur et elle l'a fait. Quelque temps plus tard, je modifierais les enregistrements DNS de cloudflare car les anciennes informations IP étaient toujours là. Cependant, si je le faisais peu de temps après l'achat de l'IP, le site serait à nouveau en panne. Le "Under Attack Mode" était déjà actif sur le site.

Résultat : Après avoir activé le Cloudflare, toutes les attaques ont été stoppées.

Après 6-7 heures d'excitation, je me suis levé de ma chaise et je me suis endormi. Nous pensions avoir gagné mais ce n'est pas encore fini.

Jour 2-) Il est revenu ! Contourné par Cloudflare avec Botnet !

Nous avons changé l'adresse IP dans la matinée et comme je pensais que le site était sécurisé, j'ai changé le mode d'attaque en mode moyen. J'ai fait quelques autres modifications sur .htaccess. J'ai acheté PRO cloudflare pour mon client. J'ai configuré certains paramètres WAF pour rendre le site Web plus sécurisé. Cependant, quelque temps plus tard, il a réussi à revenir avec des attaques plus graves et un nombre important d'attaques frappaient à l'origine. Il contournait Cloudflare.

Certains paramètres WAF de Cloudflare promettaient l'arrêt des attaques de robots WordPress, XMLRPC Attack, mais ils ne l'étaient pas . J'ai décidé de configurer tous les paramètres WAF par défaut sur Cloudflare.

Résultat : toutes les attaques de bot qui n'ont pas d'agent utilisateur commencent à atteindre 403.

Le résultat a soulagé le site Web pendant un certain temps et le serveur était de nouveau opérationnel. Cependant, nous recevions trop d'attaques et c'était proche.

Jour 2-) Blocage de pays sur Cloudflare

Enfin, j'ai pensé que nous devrions investir davantage dans cloudflare pour nous débarrasser de ces attaques. Nous avons presque supprimé 50% de la menace avec mes dernières modifications. Cependant, il y avait encore 50% d'autres. Pour un site Web local, le blocage des pays ne serait pas un problème. De plus, puisque nous avons corrigé 50 % du trafic de bots, les attaques des États-Unis ne seraient pas un problème sérieux pour nous. Nous avons acheté l'entreprise Cloudflare et bloqué tout le trafic étranger à l'exception des États-Unis et du Danemark .

Résultat : Cela a corrigé 90 % du trafic du botnet.

Jour 3-) La vengeance est un plat qui se mange froid

Notre serveur pouvait gérer 90 % du trafic de botnet. Ils n'ont cependant pas arrêté leurs attaques. Ensuite, j'ai trouvé un plugin intéressant sur WordPress. Cependant, je devais d'abord le tester. Sinon, le site Web pourrait tomber en panne et cela gâcherait les choses. J'ai demandé à un ami programmeur d'attaquer l'un de mes sites Web. Cela fonctionnait parfaitement. Ensuite, j'enquête sur l'agresseur. Je comprends qui est-il et pourquoi il nous attaque.

J'ai d'abord contacté l'agresseur. Je lui ai demandé d'arrêter ses attaques. Cependant, il m'a répondu avec beaucoup d'insultes et de jurons. Je viens de le bloquer sur WhatsApp et je ne lui ai même pas répondu. Mon client m'a demandé de payer plus pour ce service mais j'ai refusé. Je le prenais comme une question de fierté. J'ai demandé la permission à mon client et j'ai supprimé le mode sous-attaque. J'ai configuré le plugin.

J'ai commencé à renvoyer ses robots méchants, sanglants et ignobles sur son site Web. Son site web s'est effondré sous mes yeux. Ce que j'ai ressenti était la même chose avec Cersei qui regardait la destruction du Septuaire de Baelor. Ensuite, je leur ai envoyé son autre site Web, puis un autre, puis un autre… Quand ils ont arrêté l'attaque, le système s'arrêtait. Cependant, lorsqu'ils ont commencé à frapper avec des bots, cela les redirigeait vers tous leurs sites Web.