Administratorii WordPress conectați sunt transformați în instalatori de backdoor
Majoritatea administratorilor WordPress țin wp-admin deschis într-un tab în timp ce navighează pe restul internetului. Un lanț de atac analizat recent, urmărit sub numele TRUST#GRAFT, este construit exact în jurul acestui obicei. Nu ghicește, nu fură și nu phishuiește parola administratorului. Pur și simplu așteaptă un administrator deja autentificat, apoi folosește sesiunea de încredere a browserului pentru a instala un plugin malițios pe site. Rezultatul este un backdoor PHP persistent, ascuns într-un folder pe care pagina obișnuită Plugins nu îl afișează niciodată.
Ce s-a întâmplat
Lanțul începe cu un loader JavaScript plasat pe o pagină WordPress compromisă. Modul în care acest prim script ajunge pe pagină nu a fost confirmat, așa că vectorul inițial de acces rămâne o întrebare deschisă, nu un fapt stabilit.
Când un vizitator ajunge pe pagină, loaderul o acoperă cu un iframe pe tot ecranul, stilizat ca un ecran de verificare de tip Cloudflare „Just a moment…”. În timp ce vizitatorul așteaptă, scriptul colectează discret amprenta browserului: dimensiunea ecranului, detalii despre placa grafică, fusul orar și numărul de pluginuri instalate în browser. Caută și semne de sandbox sau de instrumente de analiză automată. Datele ajung la un server de control, care decide dacă acest vizitator merită o a doua etapă.
Dacă vizitatorul este un administrator WordPress autentificat, urmează pasul esențial. Folosind cookie-urile de autentificare deja existente în browser, scriptul cere pagina de încărcare a pluginurilor, citește de acolo nonce-ul de securitate, descarcă o arhivă ZIP numită wm.zip de pe un server intermediar și o trimite prin endpoint-ul standard de instalare a pluginurilor. Apoi deschide pagina Plugins și activează noul plugin. WordPress acceptă fiecare cerere pentru că, din punctul său de vedere, un administrator legitim cu drepturi de instalare face toate aceste lucruri.
Acesta nu este un bypass de autentificare. Contul trebuie să fie deja administrator, cu permisiunea de a instala pluginuri. Dar este o metodă foarte eficientă de a întoarce acea încredere împotriva site-ului.
Backdoor-ul și cum se ascunde
Pluginul încărcat se prezintă drept Web Media Optimizer 2.1. Numele sugerează un instrument inofensiv pentru imagini. Nu este nici pe departe așa. Pluginul:
- injectează JavaScript de la distanță în paginile publice ale site-ului;
- dezactivează validarea certificatelor TLS atunci când își descarcă scriptul de control;
- poate seta un cookie de autentificare de administrator pentru primul cont admin, folosind un token hardcodat, oferind operatorilor o cale de întoarcere fără parolă.
La activare se copiază și în wp-content/mu-plugins/wmedia-recovery.php. WordPress încarcă automat fiecare fișier din folderul mu-plugins, iar aceste fișiere nu apar în lista obișnuită de pluginuri. Ștergerea pluginului vizibil nu afectează deci copia care contează cu adevărat, motiv pentru care această clasă de malware de tip must-use plugin reapare mereu după curățări oprite prea devreme.
De ce contează
Malware-ul care se activează doar într-o sesiune autentificată este greu de prins cu scanări de rutină. Un scanner care accesează site-ul public vede o pagină care poate părea curată, în timp ce comportamentul periculos se declanșează doar pentru un administrator conectat. Oricine folosește un singur profil de browser atât pentru navigarea zilnică, cât și pentru administrarea site-ului este expus, pentru că atacul nu are nevoie de nimic altceva decât o vizită pe pagina greșită cât timp wp-admin este încă deschis.
Ce este de făcut
- Separă navigarea de administrare. Folosește un profil de browser dedicat sau un browser separat pentru wp-admin. Nu naviga pe alte site-uri din el.
- Deconectează-te când ai terminat și imediat după orice overlay de „verificare” neașteptat.
- Rotește credențialele de administrator și invalidează sesiunile active dacă suspectezi o expunere.
- Limitează drepturile de încărcare a pluginurilor. Puține conturi au nevoie să instaleze pluginuri, iar WordPress poate dezactiva complet modificarea fișierelor pe site-urile care livrează pluginuri pe alte căi.
- Supraveghează mu-plugins. Alertează la orice fișier PHP nou în
wp-content/mu-plugins/și verifică folderul la fiecare curățare. - Curăță temeinic. Elimină pluginul vizibil, copia din mu-plugins și orice tag de script extern injectat. Dacă rămâne unul dintre cele trei, reinfectarea este sigură.
Indicatori de urmărit
- Nume plugin: Web Media Optimizer 2.1
- Arhiva din a doua etapă: wm.zip
- Fișier de persistență: wp-content/mu-plugins/wmedia-recovery.php
- Script de control: ads.php
- Domenii de comandă și control (defanged): caapman[.]me, vtevens[.]icu, gerlace[.]com, nutmann[.]club, okuneva[.]sbs, vilialobos[.]lol
- SHA256 wm.zip: 9215d17e5138cee498bb529e69b1cc7267305136535025e9b49fe173cf648720
- SHA256 wmedia-recovery.php: 86d775c2d5cb459541cd2b0b967fac65ce20c60e483c71c9f7e108d5ad0bd564
- SHA256 ads.php: 2dfa9e708fdb92e5d36080065f978a33a692c0fe813a75be9c7cdff03be51b6e
Domeniile sunt intenționat defanged. Refă-le doar într-o platformă controlată de threat intelligence sau în SIEM.
Astfel de atacuri reușesc pentru că semnele sunt mici: un tag de script neașteptat pe o pagină publică, un fișier în plus într-un folder pe care nu îl verifică nimeni, un plugin pe care nimeni nu-și amintește să-l fi instalat. Serviciul nostru de scanare de vulnerabilități este gândit să scoată la suprafață exact aceste semne mici în instalările WordPress, de la core și pluginuri învechite până la scripturi injectate neașteptate, astfel încât o sesiune de administrator împrumutată să nu devină în liniște un punct de sprijin permanent.
