Cum au lucrat 4 oameni și 2 AI-uri pentru a pune pe picioare acest blog după un hack nasol

By | April 17, 2025

În primul rând, îmi pare rău pentru incidentul cu update-ul de Chrome. În cazul în care ați instalat acel spyware, scrieți-mi vă rog, și voi încerca să vă ajut.

În al doilea rând, vă mulțumesc tuturor celor care mi-ați scris pe blog, pe mail, pe Facebook și pe Instagram cu privire la acest hack.

Ce s-a întâmplat?

Pe scurt, joi, pe 10 aprilie am aflat că blogul a fost hack-uit și infectat cu un malware. Malware-ul respectiv afișa anumitor vizitatori o pagină falsă care îi îndemna să facă un update de Chrome. Eu am văzut pagina de pe mobil, dar eram pe fugă, în mașină și nu i-am dat importanță, apoi nu am mai văzut-o. Dacă nu-mi scria un cititor pe mail, probabil dura și mai mult să descopăr.

Primul pas pe care l-am făcut când am văzut mailul a fost să dau update la WordPress core și la toate plugin-urile, inclusiv la cele care nu erau active. Și am crezut că s-a rezolvat. Am zis că a fost un script injectat cumva printr-un plugin găunos și că odată cu update-ul se va șterge acea secvență de cod. De altfel, după update n-am mai văzut script-ul în sursă. Era un cod de javascript care făcea legătura cu ceva site denumit javascripterhub.com și prin acea secvență se încărca pagina falsă de update la Chrome.

L-am întrebat și pe Gemini dacă știe ceva specific de acest malware și nu mi-a dat decât sfaturi generice despre cum să ștergi malware din WordPress..

Doar că vineri, a doua zi, am primit iar mesaje de la voi. Cum este posibil? Se pare că acest script era destul de inteligent. Atunci când mă logam pe blog ca admin, dispărea din sursă și nu se activa decât pentru cititori care nu sunt logați, pe pagini (articole) noi. Mai mult, script-ul știa să păcălească cumva și motoarele de căutare, adică pe Google, ca să nu adauge site-ul pe blacklist și deci să nu avertizeze vizitatorii.

Ce am făcut mai departe?

Păi… am constatat că sunt cam depășit de situație, așa că am vorbit cu un prieten bun (mulțumesc!) care știe mai multă programare decât mine, și a început o vânătoare de vrăjitoare. Sunt cam trei locuri unde un astfel de script se instalează. Într-un plugin, în fișierele temei sau în fișierele core al WordPress-ului. Problema era că nu puteam să identificăm pe baza scriptului acela din sursă unde era localizat codul malițios. Adică unele script-uri apelează funcții și atunci dacă știi în ce fișier se află funcția respectivă, îl găsești. Acesta nu făcea ceva de genul. Am luat toate fișierele și funcțiile blogului la puricat. Între timp am realizat că am făcut o greșeală că am făcut acele update-uri. Dacă nu le-aș fi făcut, aș fi putut să mă loghez pe FTP și să văd care sunt cele mai recente fișiere modificate, iar acelea ar fi fost probabil cele responsabile cu malware-ul.

Vineri…adică sâmbătă deja… ne-am culcat amândoi pe la 02:30, fără să-i dăm de cap.

Sâmbătă dimineața m-am trezit și m-am așezat din nou la birou. Am luat din nou fiecare fișier și căutat prin el după apeluri către script-uri dubioase. Am luat fiecare fișier din temă, am început să modific cod (cam la întâmplare), ca să văd dacă fac problema să dispară. Apoi făcut disable la toate plugin-urile. Apoi luat pe rând fiecare plugin (vreo 30 la număr) și dezactivat, ca să văd dacă problema persistă.

Între timp, un alt prieten bun și-a oferit ajutorul (mulțumesc!). Și când nu trebuia să stea cu cel mic, a început și Alice să caute printre fișierele blogului. Practic 4 oameni care căutau on and off cu lanterna prin întuneric.

Cum i-am dat de cap?

Eu descărcasem deja toată tema și toate plugin-urile pe laptop și foloseam PowerShell pentru a căuta bulk printre fișierele .php ale temei textul “javascripterhub”. Evident că nu am găsit nimic, că viermele era ascuns.

Unul dintre prieteni a venit cu ideea de a căuta bulk prin temă și plugin-uri după “wp_enqueue_script”, pentru că acesta-i o funcție a WordPress-ului prin care include cod javascript în site. Zis și făcut, am dat comanda  de căutare în PowerShell și mi-a generat vreo nouă sute de rezultate.

Apoi m-am gândit să iau toate aceste rezultate și să le pun într-un txt și să i-l dau lui ChatGPT. Le-am deci paste într-un fișier denumit comenzi.txt și apoi l-am băgat în ChatGPT și l-am întrebat dacă vreunul din call-urile astea i se pare suspicios. Rezultatul?

Evident că era un plugin peste care trecusem cu vederea. Chiar văzusem Jealous Whale când le-am luat la mână pe toate pe FTP, am ridicat un pic sprânceana, dar am zis că o fi vreun nume dubios de plugin. Ca să vă faceți o idee, un alt plugin se numește Smash Balloons – deci nu te poți lua neapărat după nume. Ce era interesant însă la acest plugin era faptul că apărea pe FTP (pe server – pe backend), dar nu apărea și în interfața de WordPress (frontend). Iar când le-am dezactivat manual pe fiecare în parte cred că nu am văzut că a dispărut acel cod din codul sursă ori pentru că accesam o pagină cached, ori nu știu. Cert este că după ce am șters acest plugin s-a termina povestea.

Cum și-a găsit malware-ul drum pe server?

Nu știu. Cert este însă că o bună bucată de timp, cam prin 2021, lăsasem update-urile automate oprite, atât la WordPress, cât și la plugin-uri și la temă, pentru că la un moment dat fiecare update de WordPress strica ceva pe care trebuia să-l repar.

Plus că atunci apăruse cel mic printre noi, nu-mi mai ardea mie să stau non stop cu ochii pe ce plugin-uri se actualizează și ce se strică.

Poate că unul dintre plugin-uri a avut vreo vulnerabilitate. Poate la temă a fost o problemă. Nu știu, nu ne-am dat seama pe unde a ajuns bălăria acolo.

Nu a fost targetat specific blogul meu de acest atac. A fost un atac automatizat în masă, unde a putut s-a instalat, unde nu, nu.

Tot răul spre bine…

După două zile de stres în care am zis că mai bine șterg blogul și gata, luând la puricat toate fișierele posibile ale blogului am mai descoperit niște chestii dubioase pe care le-am eliminat. Am șters tot ce părea dubios. Am făcut update la versiunea de WordPress. Am șters toate plugin-urile pe care nu le foloseam. Am făcut update la toate plugin-urile care au rămas (și am activat update-urile automate). Am făcut update la temă. Am făcut update la PHP. Am șters userii care nu mai erau activi. Am schimbat parolele de la bazele de date și de la userii care au rămas activi. Iar acum am 3 plugin-uri de securitate.

În concluzie, mulțumesc tuturor celor care mi-au trimis mesaje, mulțumesc și celor care și-au sacrificat din timpul lor ca să mă ajute să descopăr problema! Îmi pare rău dacă v-am creat neplăceri. Sper să nu se mai întâmple vreodată.


Discover more from revoblog.ro

Subscribe to get the latest posts sent to your email.

Urmărește Revoblog.ro și pe Google News

Share pe Facebook

3 comentarii la “Cum au lucrat 4 oameni și 2 AI-uri pentru a pune pe picioare acest blog după un hack nasol

  1. Marius Cucu

    Eu faceam un pic diferit. Luam baza de date, o curatam pe cat posibil cu tot cu imaginile, iar restul pus din nou, pe instanta noua, ca sa elimin aproape orice sansa de a se reinfesta.
    Actualizarile trebuie sa existe.

    Reply
  2. Mihai

    Se intampla si la case mai mari 🙂 Important e ca i-ai dat de cap.

    Reply

Spune-ți și tu părerea: