Raport asupra activităţii malware-ului TrickBot în mediul online banking din România

Raport asupra activităţii malware-ului TrickBot în mediul online banking din România

2151
Sergiu Banyai
Prefață

Raportul se bazează pe datele furnizate de instrumentele interne ale F5 Networks ce monitorizează activitatea malware în Internet, folosite de F5 Security Operations Center (SOC) pentru identificarea atacurilor informatice noi, analiza comportamentului acestora și a modului în care influenţează ţintele asupra cărora sunt direcţionate. Datele din raport nu au un caracter exhaustiv, ci acoperă doar mostrele de malware analizate cu „f5 Threat Monitor Tool”. Acesta este utilizat de către echipa F5 SOC și echipa extinsă de cercetare pentru strângerea și analiza mostrelor noi de malware „in the wild”, decriptarea configuraţiilor acestora, și folosirea rezultatelor analizei lor ca și input pentru produsul WebSafe sau generarea de rapoarte pentru clienţii acestui produs. Mulţumiri lui Ilan Meller, Manager F5 SOC & Threat Research și lui Doron Voolf, Malware Analyst, pentru ajutorul dat la elaborarea acestui raport.

Atacuri tip malware ce au vizat organizațiile bancare din România

Programele malware financiare reprezintă porţiuni de cod ce par a executa operaţiuni dorite de utilizator, dar capturează datele clientului pentru a executa de fapt tranzacţii frauduloase. Victimele pot fi atrase în a-și instala componenta malware fie prin mijloace de Social Engineering (de cele mai multe ori campanii tip SPAM) sau pot descărca aceste componente prin vizitarea paginilor web maliţioase ce exploatează diverse vulnerabilităţi ale clienţilor (Drive by Downloads).

Printre tehnicile uzuale folosite de componente malware financiare se numără:

  • Programe de acces remote ce conţin și componente tip SOCKS Proxy
  • Keylog-ere & from grabbing – pentru furtul credenţialelor
  • Furtul de informaţii din fișierele cookie și ale certificatelor client
  • Atacuri tip Man in the Browser (MITB) – modificarea aplicaţiei de e-banking în componenta client și injectarea de JavaScript maliţios pentru furtul de informaţii adiţionale(ex: 2FA – componente de autentificare cu 2 factori). Atacurile MITB permit modificarea fișierelor de configurare pentru malware, în sensul că aceste fișiere de configurare conţin reguli tip “webinject” pentru a determina ce cod maliţios JavaScript va fi inserat în funcţie de numele de domeniu accesat de către utilizator
Despre TrickBot, pe scurt

În noiembrie 2015, malware-ul Dyre, ce era extrem de prolific la vremea respectivă și ameninţase nenumărate instituţii bancare în întreaga lume, dispare din mediul online aproape peste noapte. Abia în februarie 2016, autorităţile ruse au anunţat că au arestat o mare parte din grupul implicat în generarea și coordonarea atacurilor malwareului Dyre la nivel global. De atunci nu s-a mai auzit nimic despre respectiva grupare, dar s-a speculat că membrii acesteia care au reușit să evite arestarea s-au integrat în alte grupări ale criminalităţii informatice (http://www.reuters.com/article/ us-cybercrime-russia-TrickBot-exclusive-idUSKCN0VE2QS ) La începutul lunii septembrie 2016, apărea o nouă variantă de malware autoîntitulat «TrickBot», având multe similitudini cu malware-ul Dyre. Printrea acestea: un loader aproape identic, mecanisme de criptare și decriptare, precum și o structură similară a fișierelor de configurare. (http://www.threatgeek.com/2016/10/trickbot-the-TrickBot-connection. html )

Există însă și câteva diferențe notabile:

  • Metoda de programare, ce pare a fi opera unui alt programator sau echipe de dezvoltare. TrickBot este scris majoritar în C++, spre deosebire de Dyre, scris predominant în C;
  • TrickBot folosește Task Scheduler și COM pentru persistenţa în sistemele infectate, în timp ce Dyre rula comenzi direct în sistemul infectat;
  • Spre deosebire de algoritmii de criptare folosiţi de Dyre (SHA256 pentru hashing și criptare AES), TrickBot folosește Microsoft Crypto API pentru operaţiile de criptare;
  • Infrastructura performantă pentru Command

Dyre o utiliza nu se regăsește însă la TrickBot. Aceste diferenţe indică faptul ca TrickBot reprezintă o variantă îmbunătăţită a malware-ului Dyre, în plus, întrucât TrickBot nu face eforturi deosebite pentru a-și ascunde prezenţa în sistemele infectate, se presupune că acesta este încă în proces de dezvoltare.

Articole de pe blogul F5 tratează modul de acțiune al diferitelor versiuni :

  • https://f5.com/labs/articles/threat-intelligence/ malware/trickbot-expands-global-targets-beyondbanks- and-payment-processors-to-crms
  • https://f5.com/labs/articles/threat-intelligence/ malware/trickbot-focuses-on-wealth-managementservices- from-its-dyre-core
  • https://f5.com/labs/articles/threat-intelligence/ malware/trickbot-rapidly-expands-its-targets-in-augustshifting- focus-to-us-banks-and-credit-card-companies
TrickBot: paginile web malformate (false)

Una din multele funcţionalităţi pe care Dyre le prezenta, ce îl diferenţiau de alţi malware cunoscuţi din mediul de online banking, a fost cea de “pagină falsă”. Aceasta a fost ulterior înglobată și în TrickBot și se manifesta în momentul în care sistemul client infectat (victima) încearcă să se conecteze la pagina de e-banking, TrickBot interceptând cererea și servind o pagină falsă de pe unul din serverele C&C. Folosirea funcţiei “send”a browser-ului Serverul atacatorului răspunde cu o pagină de login falsă. Deși respectiva pagină web pare identică cu cea originală a băncii, componentele HTML si JavaScript de fond sunt foarte diferite și par a fi construite manual. Una din diferenţele majore le reprezintă bloc-ul JavaScript, comun pentru toate paginile false ce conţin configuraţia pentru o anumită bancă, cum ar fi informaţiile ce urmează a fi interceptate din pagina de login. După încărcarea paginii false, componenta JavaScript va interoga constant serverele C&C, trimiţând cereri către “/!/ping” URL . După ce victima completează câmpurile login, o cerere ce conţine credenţialele interceptate este trimisă către “/!?new=1” URL , și se așteaptă un răspuns de la server-ul C&C. Răspunsul conţine un număr ce indică perioada de timp în care malware-ul va sta în stare latentă, fără a mai intercepta cererile de login pentru respectiva bancă. Pagina JavaScript falsă va confirma timpul prin emiterea unei cereri (“/!/ go_skip?time=[Amount of time to sleep]”) , urmată de un răspuns al serverului C&C ce va redirecta victima către pagina originală a băncii. În plus, ultimul răspuns al serverului C&C va conţine un header unic, interpretat intern de malware, cu o valoare ce indică timpul de latenţă. 44 – Cybersecurity Trends Din perspectiva victimei, dupa introducerea informaţiilor în form-ul de login, i se va servi fie o pagină alterată de către atacator, sau va fi redirectată către site-ul real al băncii. Pagina alterată poate fi un mesaj de „eroare”, după cum s-a observat în noile versiuni TrickBot, sau o altă pagină care încearcă să intercepteze de exemplu onetime password. Ulterior, malware-ul descarcă un fișier de configurare ce conţine o listă cu URL-urile băncilor ţintă. Fiecare URL e configurat pentru a fi redirectat către un proxy server cu rol de MITM, pentru fiecare bancă fiind asignat un port diferit. Aceasta permite atacatorului să trimită mai departe cererile victimei către site-ul băncii și să returneze date false, incluzând pagini malformate de login, ferestre pop-up și injectare de cod JavaScript/HTML. După ce informaţiile ajung la atacator, acesta poate accesa remote sistemul victimă folosind modulul VNC (Virtual Network Computing) integrat în TrickBot și poate efectua tranzacţii bancare.

Atacuri TrickBot direcționate către băncile din România

În timpul analizei diferitelor variante ale TrickBot, s-a observat că, începând de la versiunea 45 de configuraţie, în lista de bănci ţintă au început să fie introduse și bănci din România.

Exemplu de configurație TrickBot :

MD5: c0360b2b178d7c05ac6e35ef41e67cb9

Config: https://ro.unicreditbanking.net*https://ro.unicreditbanking.net/disp* bhsaviterghbloqznkcpfdasuxym.com 195.133.147.135:443 În configuraţia de mai sus, utilizatorilor ce încearcă să acceseze https://ro.unicreditbanking.net sau https:// ro.unicreditbanking.net le este prezentată o pagină falsă ce se încarcă de pe serverul C&C: 195.133.147.135:443

Config:https://www.ingonline.com* https://www.ingonline.com/ro* cqsdplqchaogzenrvsjftwumbkxy.net195.133.147.135:443

În mod identic, ulitizatorilor ce vor accesa https:// www.ingonline.com sau https://www.ingonline.com/ ro* le este servită o pagină falsă ce va fi încărcată de la același server C&C. URL-urile respective se regăsesc și în versiunea curentă a TrickBot V 81.

Codul sursă al paginii false servite de TrickBot:

Pagina falsă conţine un script numit main_new, responsabil cu manipularea obiectelor prezentate victimei în pagina falsă și cu atacul MITM De asemenea, pagina mai conţine o matrice a parametrilor de configurare în header. Interesanţi sunt:

ID. Identificator unic al băncii, identic cu numărul portului din fișierul de configurare.

Incorrect login error. La fiecare încercare a victimei de login în site-ul băncii, serverul proxy trimite automat cererea către site-ul real la băncii și realizează autentificarea. Daca aceasta eșueaza, va trimite o notificare de eroare către victimă în pagina falsă.

Block message. Dacă atacul MITM reușește, atacatorul poate realiza tranzacţii bancare și poate bloca accesul victimei la cont. Parametrul va stoca mesajul trimis.

Trickbot: analiza atacurilor uzuale

TrickBot poate folosi câteva moduri de atac, cele mai interesante fiind „Redirection Attack’”și „WebInject Attack” Cele două metode sunt explicate mai jos: Redirection attack: reprezintă modalitatea prin care TrickBot interceptează cererea și servește utilizatorului victimă o pagină malformată, falsă de pe unul din serverele C&C, ce impresonează site-ul real de e-banking. (comportamentul este tratat mai sus în capitolul TrickBot: paginile malformate). Webinject attack: reprezintă modul de injectare a unui cod HTML sau JS în conţinutul paginii web, înainte ca aceasta să fie vizualizată de către victimă în browser-ul web, în acest mod malware-ul poate schimba conţinutul câmpurilor cu care victima interacţionează în pagina de login TrickBot interceptează apoi cererile victimei către pagina de login și răspunde cu link-uri externe ce sunt injectate în pagina falsă de login. Conform analizelor mostrelor de TrickBot, statistica indică: Total Targeted Redirect URLs: 453 Total Targeted Webinject URLs:1057 Total targeted URL 1510

Total Romanian Targeted URLs:3

https://www.ingonline.com/ro*

https://ro.unicreditbanking.net/disp

https://ro.unicreditbanking.net*

În cazul anumitor variante alterate, s-au mai identificat și următoarele mutaţii: Total Targeted Webinject URLs:5

Total Romanian Targeted URLs:5

https://www\.raiffeisenonline\.ro/eBankingWeb/login.*

https://login\.24banking\.ro/casserver/login.*

https://www\.homebank\.ro/public/HomeBankLogin/home.*

https://www\.brdoffice\.ro/smartoffice/_mcologon.*

https://www\.mybrdnet\.ro/brdinternetbank/login\.html.*

BIO

Sergiu Banyai, Business Development Manager, Veracomp Europe Experienţa: 25 de ani în proiectarea de soluţii complexe în domeniul IT / Cybersecurity pentru companii mari şi telco.

SIMILAR ARTICLES