Pe scurt: Dacă doriți să eliminați malware-ul de pe site-ul dumneavoastră, ștergerea câtorva fișiere izolate este rareori suficientă. Mai întâi conservăm constatările, găsim webshell-uri, uși dosnice și sarcini ascunse, reconstruim din surse de încredere și închidem punctul de intrare. Abia atunci curățarea este solidă.
Cum recunoașteți malware-ul pe site
Codul malițios de pe site-uri se observă adesea abia indirect. Tipice sunt redirecționările către site-uri străine, conținutul spam vizibil doar pentru motoarele de căutare sau pentru dispozitive mobile, un avertisment Google în rezultatul căutării, reclamații din partea clienților sau o blocare de către furnizorul de hosting din cauza trimiterii de spam. Pe server apar fișiere PHP necunoscute, conturi noi de administrator, fișiere .htaccess modificate sau cronjoburi inexplicabile.
După PHP2Shell se adaugă o grijă în plus: prin CVE-2026-109618 și CVE-2026-109619, atacatorii pot executa cod fără autentificare. Nu există Indicators of Compromise publicați și confirmați; detecția se bazează pe analiza comportamentului. Cum arată de obicei webshell-urile și unde se află ele descrie Cum recunoașteți și eliminați webshell-urile.
Eliminarea malware-ului de pe site: de ce contează mai mult temeinicia decât viteza
Atacatorii rareori depun un singur fișier. Obișnuite sunt mai multe uși dosnice în locuri diferite: în dosarele de încărcare, în plugin-uri sau teme, în plugin-uri must-use, în baza de date, în cronjoburi sau în conturi suplimentare de utilizator. Dacă se șterge doar fișierul cel mai vizibil, codul malițios revine.
În același timp, starea infectată este un mijloc de probă. Cine curăță prea repede pierde posibilitatea de a stabili dacă datele clienților sunt afectate. De aceea salvăm înainte de orice modificare. Costă puțin timp și vă păstrează toate căile deschise, inclusiv o notificare ulterioară către autoritatea de supraveghere sau asigurător.
O actualizare PHP sau a CMS-ului nu elimină software-ul malițios aflat deja pe server. Iar un site curățat este infectat din nou cât timp punctul de intrare rămâne deschis.
Unde se ascunde de obicei codul malițios
Următoarele locuri le verificăm la fiecare curățare, pentru că în practică sunt afectate mereu:
| Loc | Constatare tipică |
|---|---|
| Dosare de încărcare | fișiere PHP cu nume inofensive sau deghizate în imagini |
| Plugin-uri, teme, module | fișiere suplimentare sau fișiere originale modificate |
| Configurație | linii introduse în .htaccess, .user.ini sau în fișierele de intrare |
| Baza de date | conturi străine de administrator, scripturi în conținut sau în opțiuni |
| Sistem | cronjoburi, chei SSH suplimentare, procese fără scop evident |
| Cache-uri și dosare temporare | copii ale codului malițios care reapar după ștergere |
Important este contextul: o singură constatare rareori explică întregul incident. Abia imaginea de ansamblu arată cum a procedat atacatorul și dacă a luat cu el date de acces.
Cum ajută PHP SOS concret?
- Salvarea: Realizăm o copie a fișierelor, a bazei de date și a logurilor în starea infectată. Ea rămâne păstrată pentru o analiză ulterioară.
- Căutarea: Comparăm fișierele de program cu originalele producătorului, verificăm dosarele de încărcare pentru cod executabil, căutăm în baza de date, în cronjoburi, în conturile de utilizator și în configurația serverului. Pentru mediile WordPress procedăm așa cum este descris în Cum găsiți backdoor-uri în WordPress.
- Curățarea: Nucleul, extensiile și temele le reinstalăm din surse de încredere, în loc să reparăm fișierele suspecte unul câte unul. Conținutul propriu și încărcările le verificăm separat și preluăm doar ce este nevinovat.
- Închiderea cauzei: Aplicăm patchul PHP și al aplicației, eliminăm conturile străine și schimbăm toate datele de acces și cheile pe care atacatorul le-ar fi putut vedea.
- Controlul ulterior: Urmărim site-ul după curățare pentru noi modificări și vă sprijinim să solicitați verificarea unui avertisment Google prin Search Console. Mai multe la Cum eliminați avertismentul Google.
Pentru administratori, o primă privire inofensivă asupra fișierelor PHP modificate recent:
# fișiere PHP din directorul web, modificate în ultimele 10 zile
find /var/www -type f -name "*.php" -mtime -10 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort
Rezultatul este un indiciu, nu o dovadă: atacatorii pot modifica marcajele de timp.
Ce primiți și de ce avem nevoie
Primiți un raport cu componentele malițioase găsite și locul unde au fost găsite, măsurile de curățare, lista datelor de acces înlocuite și punctul probabil de intrare. Separăm clar ce este dovedit, ce este probabil și ce este necunoscut.
De la dumneavoastră avem nevoie de:
- acces la server sau la panoul de hosting, la backendul CMS și la baza de date
- un interlocutor care poate aproba schimbarea parolelor și opririle
- informații despre agenție, dezvoltator sau furnizorul de hosting și despre adaptările proprii ale sistemului
- backupurile existente cu dată, pentru a putea estima ce stadiu ar putea fi curat
- acces la Google Search Console, dacă este afișat un avertisment
Ce nu promitem
Nu promitem că fiecare ușă dosnică de pe fiecare sistem va fi găsită cu siguranță dacă logurile lipsesc sau dacă infectarea este veche. În situații neclare recomandăm reconstruirea pe un server proaspăt, pe care se transferă doar conținut verificat. Este mai laborios, dar adesea calea mai fiabilă. Nici nu putem prezice când Google sau alte servicii vor elimina un avertisment; aceasta o decid furnizorii respectivi.
Dacă trebuie clarificat cu valoare în fața instanței ce s-a întâmplat exact și ce date sunt afectate, implicăm criminalistica IT cu parteneri specializați. La un atac acut, încă în desfășurare, lucrul începe cu ajutorul de urgență pentru site hackuit.
Întrebări frecvente
Este suficient un plugin scanner de malware pentru a-mi curăța site-ul?
Un scanner găsește tipare cunoscute, dar nu orice ușă dosnică. Webshell-urile sunt adesea ofuscate, se află în imagini, cache-uri sau în baza de date ori sunt ancorate ca cronjob. Un scanner este un instrument auxiliar, nu o curățare completă.
Pot pur și simplu să restaurez un backup vechi?
Doar dacă este sigur că backupul a fost făcut înaintea intruziunii și dacă punctul de intrare este închis după aceea. Altfel, site-ul este curat pentru scurt timp și este infectat din nou pe aceeași cale.
De ce reapare malware-ul după ce l-am șters?
De regulă există o a doua ușă dosnică, un cronjob, un cont de administrator manipulat sau vulnerabilitatea este încă deschisă. Curățarea rezistă abia după ce au fost găsite toate mecanismele de persistență și cauza a fost eliminată.
O actualizare PHP elimină malware-ul existent?
Nu. Un patch închide vulnerabilitatea, dar nu elimină software-ul malițios deja introdus. Sunt două etape de lucru separate.