Chronicles of DDOS: Dealing with XMLRPC Attack of WordPress Bots

Publicat: 2019-04-08

Acum două zile ne-am confruntat cu dificultăți cu site-ul web al unuia dintre clienții noștri ca Nettsted Limited. În mod normal, nu oferim asistență tehnică clienților noștri, dar, din păcate, serviciul de găzduire al clientului nostru nu îi oferă niciun fel de asistență. Deoarece am simțit responsabilitatea de a o ajuta, am decis să luăm măsuri împotriva atacurilor Botnet . Ne-am confruntat cu comportamente ciudate ale roboților în timpul atacului. O să menționez despre ceea ce s-a întâmplat oră de oră pe această pagină și ce acțiuni am întreprins pentru a proteja site-ul clientului nostru.

Cuprins

Începutul atacului DDOS: atacatorul se identifică

Deoarece sunt proprietarul Nettsted Limited, lucrez 16-18 ore pe zi pentru a oferi suport clienților noștri. Avem clienți diferiți din întreaga lume, așa că trebuie să fiu treaz diferite fusuri orare. Luni mai târziu, în primul rând am vrut să văd un film și să mă distrez cu familia mea. Din păcate, aceasta a fost una dintre cele mai proaste zile din cariera mea. După film, am decis să ne odihnim. Totuși, doar un lucru nevăzut m-a lovit și mi-a spus „hei! trebuie să te uiți la lucrările tale și apoi să dormi”. Și da... Iată ce s-au întâmplat în absența mea de 5 ore la serviciu:

  1. Unul dintre clienții mei a eliminat pluginul SEO, a șters toate descrierile și titlurile site-ului. De asemenea, a spart structura link-urilor site-ului.
  2. Celălalt client a eliminat unele plugin-uri pe care le-am instalat care au legătură cu SEO. S-au schimbat setările cache-urilor și s-au rupt cumva toate fișierele .js și .css.
  3. Unul dintre clienții mei primea un atac DDOS și doar urmărea cum se prăbușește site-ul ei.

Când m-am alăturat WhatsApp și Skype, am văzut o mulțime de plângeri în acele 5 ore. 30% dintre propoziții au fost doar „Unde ești?!”.

Clientul meu mi-a spus că a primit un mesaj prin WhatsApp. Atacatorul s-a identificat cu numărul de telefon și i-a spus clientului meu că o va ataca. Sună stupid, dar chiar a făcut-o... Când m-am întors la muncă, atacul a început deja.

Ziua 1-) Luarea primei măsuri împotriva atacurilor

Acestea sunt câteva jurnalele de la atacul pe care l-am primit:

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 "-"

În jurnalele puteți vedea că atacul a venit de la agenții utilizatori WordPress. Cu toate acestea, unele dintre aceste atacuri au venit și fără agenți. Am verificat toate acele site-uri web menționate și toate erau site-uri învechite și abandonate. Există un IP care a fost aproape același la toate jurnalele și au fost încă 2. 93.174.93.163 a fost o IP olandeză, dar cred că serverul/găzduirea a fost cel care ne pregătea atacul botnetului. Alte 2 IP-uri au fost, de asemenea, IP-uri din Țările de Jos.

Deoarece au existat prea multe notificări de „verificarea pingback de la” cu privire la atacuri, am crezut că folosește pingback-uri și xmlrpc.php pentru atac.

Prima mea reacție la atacuri a fost schimbarea numelui xmlrpc.php, apoi eliminarea deloc și eliminarea pingback-urilor din setările WordPress .

Rezultat : Nici măcar nu a încetinit atacurile.

Deoarece nu am obținut rezultate bune de la primele mișcări, am decis să elimin fișierul xmlrpc.php al WordPress din fișiere. Totuși, încă nu a ajutat.

Cu toate acestea, s-a dovedit că ajută la un fel de atacuri DDOS. Dacă și tu te confrunți cu asta, poți și să-l încerci.

Ziua 1-) Primul răspuns: Profită de a fi local

Acum o să-mi spui de ce nu am folosit cloudflare. CF a luat timp să se instaleze și modificările serverului de nume pot fi uneori foarte dureroase. Așa că am vrut să încetinesc atacurile, dar am configurat și cloudflare pentru site. S-au schimbat serverele de nume. Atacul a fost grav și a afectat grav utilizarea I/O, lățimea de bandă și așa mai departe. Cred că erau 2-3 oameni care atacau de pe servere diferite. Site-ul clientului meu câștiga 1000$ zilnic și a fost o problemă serioasă pentru el. Site-ul a fost oprit aproximativ 6 ore.

Deoarece site-ul era local, am decis să configurez un htaccess. Aveam nevoie de toate adresele IP din Danemarca. cu ajutorul unui site reusesc sa gasesc toate IP-urile din Danemarca. Aș închide temporar site-ul pentru tot traficul străin. Am creat un fișier htaccess și am blocat tot traficul străin către site .

Rezultat : Acesta este un rezultat temporar bun. Toți roboții rău intenționați ajungeau acum la 403 pagini. Oricum vești proaste. Boții Google atingeau și ei 403. Deoarece traficul de bot venea în principal din SUA, nu am făcut nicio setare pentru IP-urile de bot din SUA sau Google. Deoarece acest lucru a fost temporar până când au loc modificări ale serverului de nume, nu a fost o problemă.

Pe parcursul întregului proces am vorbit cu clientul meu la telefon și am calmat-o. Era destul de supărată și supărată din cauza situației. Mi-a spus că a primit mesaje de la atacator. Avea numărul lui de telefon!

Ziua 1-) Servere de nume schimbate și probleme cu setările Cloudflare

Aproximativ 2 ore mai târziu când am configurat htaccess, serverele de nume s-au schimbat și am activat cloudflare. S-au eliminat regulile de respingere/permitere din fișierul .htaccess. Cu toate acestea, a existat o problemă cu setările WAF ale Cloudflare. I-am cerut clientului meu să schimbe IP-ul serverului și ea a făcut asta. Undeva mai târziu aveam să schimb înregistrările DNS ale cloudflare, deoarece informațiile IP vechi erau încă acolo. Cu toate acestea, dacă aș face-o la scurt timp după achiziționarea IP-ului, site-ul ar fi oprit din nou. „Modul de atac” era deja activ pe site.

Rezultat : După ce am activat Cloudflare, toate atacurile au fost oprite.

După cele 6-7 ore de emoție, m-am ridicat de pe scaun și m-am culcat. Am crezut că am câștigat, dar încă nu s-a terminat.

Ziua 2-) S-a întors! Ocolit la Cloudflare cu Botnet!

Am schimbat IP-ul dimineața și din moment ce am crezut că site-ul este securizat, am trecut în modul de atac în mediu. Am făcut alte modificări pe .htaccess. Am cumpărat PRO cloudflare pentru clientul meu. Am configurat câteva setări WAF pentru a face site-ul mai sigur. Cu toate acestea, ceva timp mai târziu, a reușit să revină cu atacuri mai grave și un număr serios de atacuri au fost lovite la origine. El ocoli Cloudflare.

Unele setări WAF ale Cloudflare promiteau oprirea atacurilor bot WordPress, XMLRPC Attack, dar nu au fost . Am decis să configurez toate setările WAF ca implicite pe Cloudflare.

Rezultat : Toate atacurile bot care nu au user-agent încep să ajungă la 403.

Rezultatul a dat o ușurare site-ului pentru o vreme, iar serverul a fost din nou pornit. Cu toate acestea, primeam prea multe atacuri și era aproape de asta.

Ziua 2-) Blocarea țării pe Cloudflare

În cele din urmă, m-am gândit că ar trebui să investim mai mult în cloudflare pentru a scăpa de aceste atacuri. Am eliminat aproape 50% din amenințare cu ultimele mele modificări. Cu toate acestea, mai erau încă 50%. Pentru un site web local, blocarea țării nu ar fi o problemă. De asemenea, din moment ce am remediat 50% din traficul de bot, atacurile din SUA nu ar fi o problemă serioasă pentru noi. Am achiziționat Cloudflare Enterprise și am blocat tot traficul străin, cu excepția celor din SUA și Danemarca .

Rezultat : Acest lucru a remediat 90% din traficul rețelelor botnet.

Ziua 3-) Răzbunarea este un fel de mâncare cel mai bine servit rece

Serverul nostru ar putea reuși să facă față cu 90% la sută din traficul rețelelor botnet. Totuși, ei nu și-au oprit atacurile. Apoi am găsit un plugin interesant pe WordPress. Totuși a trebuit să-l testez mai întâi. În caz contrar, site-ul web s-ar putea prăbuși și asta va strica lucrurile. Am rugat un prieten programator să atace unul dintre site-urile mele. Funcționa perfect. Apoi investighez despre atacator. Înțeleg cine este și de ce ne atacă.

Am contactat mai întâi atacatorul. L-am rugat să-și oprească atacurile. Cu toate acestea, mi-a răspuns cu multe insulte și înjurături. Pur și simplu l-am blocat de pe WhatsApp și nici nu i-am răspuns. Clientul meu mi-a cerut să plătesc mai mult pentru acest serviciu, dar am refuzat. Am luat-o ca pe o chestiune de mândrie. Mi-am cerut permisiunea clientului și am eliminat modul sub atac. Am configurat pluginul.

Am început să-i trimit roboții urâți, sângeros și ticăloși înapoi pe site-ul lui. Site-ul lui s-a prăbușit în fața ochilor mei. Ceea ce am simțit a fost la fel și cu Cersei care urmărea distrugerea Septembriei lui Baelor. Apoi le-am trimis celălalt site al lui și apoi altul și apoi altul... Când au oprit atacul, sistemul se oprea. Cu toate acestea, când au început să lovească cu roboți, i-a fost redirecționat către toate site-urile lor web.