Backdoor.Lavandos.A – Keylogger-ul suprem
Deşi este optimizat special pentru subtilizarea datelor clienţilor on-line ai unor instituţii financiare din Rusia şi Ucraina, Lavandos nu se limitează doar la acestea, rolul lui fiind acela de a goli conturile indiferent de ţara de proveninenţă a victimei.
Odată instalat în sistem, Backdoor.Lavandos.A intră în acţiune şi injectează trei fişiere DLL şi un driver care se găsesc în fişierul său binar, fiecare dintre aceste componente având o misiune de importanţă capitală pentru buna funcţionare a malware-ului. Executabilul iniţial verifică tipul browserului instalat şi generează pentru fiecare dintre aplicaţiile de acest tip un fişier setupapi.dll în directorul rădăcină al Mozilla® Firefox®, Opera® şi Microsoft® Internet Explorer®.
În C:\windows\system32\ Lavandos adaugă un alt fişier sfcfiles.dll. Fişierul original şi nealterat este încriptat şi adăugat ca o valoare de regiştri în HKEY_LOCAL_MACHINE\SOFTWARE\SETTINGS\CryptoHash. Mai mult, fişierul este adăugat şi în tosfcfiles.dat. Pentru a elimina orice bănuială fişierul midificat şi infectat sfcfiles.dll va avea exact aceeaşi dimensiune şi va păstra toate atributele fişierului initial.
Lavandos mai creează şi un driver în %windir%\system32\drivers\sfc.sys. Ceea ce este extrem de interesant la acest malware este faptul că driverul nu este păstrat pe disc mai mult decât e necesar. Astfel, va fi stocat în regiştrii sistemului de operare sub formă binară pentru a nu fi depistat.
Analiza mecanismul lui Lavandos
Fişierele DLL sunt utilizate pentru actualizarea automată a driverului şi încărcate atunci când este necesar. Stocarea lor în zona de regiştri reduce dramatic şansele de a fi detectate şi eliminate de suitele de securitate IT&C.
Codul actualizat este descărcat de la mai multe adrese criptate şi stocate în HKLM\SOFTWARE\SETTINGS\HashSeed. Astfel, cercetătorii antimalware de la BitDefender au identificat că actualizările provin de la mai multe domenii al căror nume urmează tiparul de mai jos: http://mv[removed]r.com/vito/page.php
http://at[removed]an.org/vito/page.php
http://s[removed]ler.net/vito/page.php
http://se[removed]dm.cn/vito/page.php
http://a[removed]0.net/vito/page.php
http://g[removed]ks.com/ole21/page.php.
În momentul încărcării driverului în lib.dll, datele salvate în regiştri sub HKLM\SOFTWARE\SETTINGS\DriveSettings sunt decriptate şi scrise pe disc în fişierul c:\windows\system32\drivers\sfc.sys. După încărcarea driverului în memorie, fişierul este şters automat de pe disc.
Lavandos mai descarcă în plus un cocktail de 15 DLL-uri, toate având numele dll.dll, pe care nu le stochează pe disc, ci tot în regiştri. Primul dintre ele asigură comunicarea continuă cu serverul, scopul său fiind actualizarea permanentă a adreselor la care Lavandos se conectează. Malware-ul trimite către centrul de comandă datele de identificare a sistemului compromis (adresa IP, porturile şi hostname-ul), împreună cu informaţiile pe care le-a colectat din sistem. Tot acest DLL este responsabil de furtul numelor de utilizator şi al parolelor folosite pentru accesarea site-urilor de e-banking, prin interceptarea funcţiilor InternetOpenA şi InternetOpenW din browser. Atunci când sustrage o combinaţie de login validă, Lavandos o stochează sub o formă criptată în regiştri sub HKLK\Software\Microsoft\Windows key. Ulterior trimite respectiva informaţie serverului printr-o cerere de tip POST.
Cel de-al doilea fişier DLL interceptează informaţiile folosite pentru FTP-uri, precum hostname, IP, portul de destinaţie, nume de utilizator şi parolă, pe care le criptează (de această dată în baza 64) şi stochează sub aceeaşi cheie din regiştri.
DLL-ul al treilea caută chei de regiştri create de anumite tipuri de clienţi FTP şi încearcă să le citească pe acelea utilizate de fiecare aplicaţie pentru a “memora” coordonatele conexiunii. Fişierul poate recunoaşte 14 dintre cele mai importante aplicaţii FTP freeware şi comerciale, ceea ce-i asigură lui Lavandos o rată de interceptare destul de mare.
Cel de al patrulea DLL este un keylogger care parazitează funcţia TranslateMessage, interceptând şi stocând secvenţele alfanumerice tastate într-un buffer. Mai mult, “citeşte” numele de clasă al ferestrei active, iar dacă numele ei este "java.sun.awt.bifit" (unde bifit provine de la “banking and finances technologies on internet” – “tehnologie bancară şi financiară pe internet”), Lavandos creează o captură de ecran şi o salvează în clipboard.
Unele dintre celelalte DLL-uri interceptează diverse funcţii din aplicaţii de e-banking proprietare, fiind folosite şi pentru manipularea funcţiilor browserului şi importul de certificate sau pentru acceptarea de certificate de tip self-signed.
Deşi Lavandos nu instalează propriu-zis un driver rootkit, reuşeşte totuşi să preia controlul mai multor funcţii importante ale sistemului de operare şi să compromită securitatea browser-ului şi a clientului FTP. Malware-ul mizează, de fapt, pe discreţie, de unde şi numărul mic de fişiere scrise pe disc, dar şi un nivel al comunicării cu serverul limitat la minim.
Promitem să revenim cu o analiză detaliată, care să includă şi restul de componente ale lui Lavandos. Până atunci puteți descărca utilitarul gratuit de dezinfecție din secţiunea Download de pe Malwarecity.ro (descarcă).
Detaliile tehnice din acest articol au fost obţinute prin amabilitatea lui Cristinei Vatamanu, cercetător antimalware BitDefender.
Notă: Toate numele de produse şi companii menţionate în acest articol sunt folosite doar pentru identificare, acestea fiind proprietatea sau marca înregistrată a proprietarilor lor.
Drepturi de autor 2011. Site creat de Bitdefender
Liviu comunicat Jan-13-2011 20:22
Loredana Botezatu comunicat Jan-14-2011 10:28
sabinel65 comunicat Jan-18-2011 12:07
Nastase Sabinel( sabinel65)
Andrei comunicat Feb-3-2011 00:48
Da, parca mai iti vine sa pleci de acasa cand vezi ca apar noi modalitati de a evita sistemele de protectie. Frumoasa analiza. :D
Loredana Botezatu comunicat Feb-3-2011 10:02
Operatiunile cu DLL-urile stocate sub forma binara sunt coordonate de setupapi.dll, varianta infectata a dll-ului original pe care backdoor-ul il suprascrie in directoarele radacina ale browserelor de pe sistem, precum si in system32. Dat fiind faptul ca setupapi.dll este rulat la fiecare startup de o multitudine de procese (inclusiv svchost.dll), acesta va fi in permanenta pornit, ceea ce ii permite sa efectueze respectivele operatiuni oricand backdoor-ul are nevoie de DLL-urile si driverul decriptate.