Skip to content
Verificare site WordPress compromis

Cum verificați dacă site-ul WordPress a fost compromis

Cum verificați dacă site-ul WordPress a fost compromis. Detectarea timpurie a unei compromisuri WordPress poate face diferența între o curățare rapidă și o pierdere totală a datelor și reputației online.

Mulți proprietari de site-uri descoperă compromiterea abia când Google le blochează site-ul. Verificarea proactivă previne consecințele grave ale unui atac nedetectat.

Cum verificați dacă site-ul WordPress a fost compromis

Un site WordPress compromis poate prezenta simptome vizibile sau poate funcționa aparent normal în timp ce distribuie malware vizitatorilor. Atacatorii sofisticați ascund indiciile de compromitere pentru a menține accesul cât mai mult timp.

Verificarea sistematică a mai multor indicatori vă ajută să descoperiți chiar și compromiterile bine ascunse.

Semne vizibile de compromitere

Unele compromisuri WordPress lasă urme evidente pe care le puteți observa prin simpla navigare pe site sau în panoul de administrare.

Acordați atenție oricărei modificări neașteptate, indiferent cât de mică pare.

  • Redirecționări neașteptate către site-uri externe, mai ales pe dispozitive mobile
  • Conținut nou apărut pe care nu l-ați creat: pagini, articole sau comentarii spam
  • Pop-up-uri sau reclame care nu au fost configurate de dumneavoastră
  • Încetinirea dramatică a site-ului fără o explicație evidentă
  • Avertismente de securitate în browser-ul vizitatorilor sau în rezultatele Google
  • Conturi noi de administrator pe care nu le-ați creat
  • Fișiere noi sau modificate în directorul WordPress

Verificarea fișierelor WordPress pentru modificări

Compararea fișierelor de pe server cu versiunile originale WordPress este una dintre cele mai eficiente metode de detectare a codului malițios.

WP-CLI oferă instrumente integrate pentru verificarea integrității fișierelor.

# Verificare integritate fișiere core WordPress
wp core verify-checksums

# Verificare integritate plugin-uri
wp plugin verify-checksums --all

# Listare fișiere modificate recent (ultimele 7 zile)
find /home/user/public_html/ -type f -name "*.php" -mtime -7 -ls

# Căutare fișiere PHP în directorul uploads (nu ar trebui să existe)
find /home/user/public_html/wp-content/uploads/ -name "*.php" -type f
  • Fișierele PHP din directorul wp-content/uploads sunt aproape întotdeauna malițioase
  • Verificați fișierele cu nume suspecte precum wp-tmp.php, class-wp.php sau db-config.php
  • Căutați fișiere cu permisiuni 777, acestea pot indica o compromitere
  • Comparați dimensiunea fișierelor index.php din fiecare director cu originalul

Scanarea codului pentru tipare malițioase

Codul malițios folosește tehnici specifice de ofuscare pentru a evita detectarea. Cunoașterea acestor tipare vă ajută să identificați rapid fișierele compromise.

Căutați funcții PHP frecvent folosite în malware, care nu ar trebui să apară în codul WordPress legitim.

# Căutare funcții de ofuscare comune în malware
grep -rl "eval(base64_decode" /home/user/public_html/
grep -rl "eval(gzinflate" /home/user/public_html/
grep -rl "str_rot13" /home/user/public_html/wp-content/
grep -rl "assert(" /home/user/public_html/wp-content/themes/
grep -rl "preg_replace.*/e" /home/user/public_html/

# Căutare backdoor-uri comune
grep -rl "$_GET[.*]($_" /home/user/public_html/
grep -rl "passthru|shell_exec|system(" /home/user/public_html/wp-content/
  • Funcțiile eval(), base64_decode() și gzinflate() combinate indică cod ofuscat
  • Funcțiile system(), exec(), passthru() și shell_exec() permit execuția de comenzi pe server
  • Variabilele globale $_GET sau $_POST folosite direct în eval() sunt backdoor-uri
  • Codul codificat în base64 lung inserat la începutul sau sfârșitul fișierelor este suspect

Verificarea bazei de date pentru conținut malițios

Atacatorii inserează frecvent cod malițios direct în baza de date WordPress, în special în tabelele wp_posts și wp_options. Acest cod se execută la fiecare încărcare a paginii.

Interogările SQL vă ajută să identificați rapid conținut suspect în baza de date.

# Căutare scripturi suspecte în conținutul postărilor
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%' AND post_content LIKE '%eval(%'"

# Căutare opțiuni suspecte
wp db query "SELECT option_name, LEFT(option_value, 100) FROM wp_options WHERE option_name LIKE '%hack%' OR option_name LIKE '%inject%'"

# Verificare utilizatori cu rol administrator
wp db query "SELECT u.ID, u.user_login, u.user_email, u.user_registered FROM wp_users u INNER JOIN wp_usermeta m ON u.ID = m.user_id WHERE m.meta_key = 'wp_capabilities' AND m.meta_value LIKE '%administrator%'"
  • Verificați tabela wp_options pentru opțiuni cu nume neobișnuite sau valori codificate
  • Căutați iframe-uri ascunse în conținutul articolelor și paginilor
  • Verificați dacă există utilizatori administratori creați recent pe care nu îi recunoașteți
  • Analizați cron job-urile WordPress pentru sarcini programate suspecte
# Verificare cron jobs WordPress
wp cron event list

Instrumente externe de verificare

Serviciile de scanare externă verifică site-ul din perspectiva vizitatorului și pot detecta compromisuri pe care scanarea internă le poate rata.

Utilizarea mai multor instrumente oferă o imagine cuprinzătoare asupra stării de securitate a site-ului.

  • Google Search Console afișează avertismente de securitate și URL-uri cu probleme
  • Sucuri SiteCheck scanează gratuit site-ul pentru malware și conținut suspect
  • VirusTotal verifică URL-ul site-ului contra a peste 70 de motoare antivirus
  • Google Safe Browsing arată dacă site-ul este marcat ca periculos

Verificare rapidă prin linia de comandă:

# Verificare status Google Safe Browsing
curl -s "https://transparencyreport.google.com/safe-browsing/search?url=wpsecurity.ro"

# Verificare headers de securitate
curl -I https://www.wpsecurity.ro/ 2>/dev/null | grep -i "x-frame|x-content|strict-transport|content-security"

Verificarea logurilor de acces și erori

Logurile serverului conțin dovezi directe ale activității malițioase. Analiza acestora vă poate dezvălui momentul exact al compromiterii și metoda folosită de atacator.

Concentrați-vă pe cereri POST suspecte, accesări de fișiere neobișnuite și erori 500 repetate.

# Cereri POST suspecte (posibile încercări de exploit)
grep "POST" /var/log/apache2/access.log | grep -v "wp-login|wp-admin/admin-ajax|wp-cron" | tail -50

# Accesări de fișiere PHP din directoare neobișnuite
grep ".php" /var/log/apache2/access.log | grep -v "wp-admin|wp-login|wp-includes|index.php" | grep " 200 " | tail -30

# Erori 500 frecvente (pot indica execuție de cod malițios)
grep " 500 " /var/log/apache2/error.log | tail -20

Detectarea unei compromitere WordPress necesită verificarea sistematică a fișierelor, bazei de date, logurilor și utilizarea instrumentelor externe. Pentru asistență profesională în investigarea unui incident de securitate, consultați secțiunea noastră de securitate cibernetică. Citiți blogul nostru pentru ghiduri de prevenire sau contactați echipa noastră de servicii speciale pentru curățare și recuperare.

Despre autor

Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.

Sus