The banking Trojan Zeus Készítette: Nagy Attila 1
Tartalom Áttekintés Zeus működése Man in the mobile A mai álláspont 2
Tartalom Áttekintés A Zeus működése Man in the mobile A mai álláspont 3
Trójai faló Olyan program, amely: elrejti valódi célját, hasznos szolgáltatásnak álcázza magát Valójában: kihasználja az őt futtató felhasználó jogosultságait próbál feladatokat végrehajtani adatokat, információkat megszerezni Általában nem többszörözi önmagát 4
Trójai faló Fertőzési módok: E-mailben elhelyezett linkekkel, csatolmányokkal Kártékony weboldalakon keresztüli letöltésekkel (drive-by letöltések is!) 5
A Zeus Trójai faló MS Windows rendszereket fertőz Legelterjedtebben használt botnet (könnyen hozzá férhető a fekete piacon, egyszerű használat) Jellemzően online hitelesítési, banki adatok megszerzésére használják Fizetős, ingyenes változat (ingyenesben lehetnek meglepetések) Különböző fórumokon bérelhető hardveres támogatás is a nagyobb botnet hálózatokhoz. 6
A Zeus Tulajdonságok, képességek: HTTP űrlapok lehallgatása, módosítása IE, FTP, POP3 jelszavak Kliens oldali tanusítványok megszerzése Screenshot-ok készítése, key log Fájlok feltöltése Host fájlok módosítása További parancsok futtatása (akár más programok letöltése és azok futtatása, újraindítás, stb.) 7
A Zeus 8
Tartalom Áttekintés A Zeus működése Man in the mobile A mai álláspont 9
Zeus működése Három fő komponens: 1. Toolkit: segítségével készíthető el a dropper 2. Dropper: fertőzés, adatlopás 3. C&C szerver: botok koordinálása, lopott adatok gyűjtése 10
Tartalom Áttekintés A Zeus működése: Trójai készítése Fertőzés (trójai terjesztése) Dropper működése (hogyan fertőzi meg a gépet) C&C szerveren keresztüli vezérlés Man in the mobile A mai álláspont 11
Toolkit Ennek segítségével készíthető el egy trójai. Használata nem igényel komolyabb technológiai ismereteket. A toolkit telepítése után első lépésként a ZeuS Builderben módosítunk egy konfigurációs fájlt. A konfigurációs fájl tartalmazza többek között, hogy milyen weboldalakkal való kommunikációt kell lehallgatni vagy melyeket letiltani. 12
Toolkit 13
Toolkit 14
Toolkit Ezután fájl fordítása binárisba, majd ebből.exe előállítása. + feature: Ha önmagát fertőzné meg, akkor képes megtisztítani magát. (későbbiekben pontosabban) 15
Tartalom Áttekintés A Zeus működése: Trójai készítése Fertőzés (trójai terjesztése) Dropper működése (hogyan fertőzi meg a gépet) C&C szerveren keresztüli vezérlés Man in the mobile A mai álláspont 16
Fertőzés Két fő fertőzési metódus: Spam kampányok Kártékony weboldalak 17
Fertőzés Spam kampányok: Spam kampányok témája jellemzően valamilyen aktuális esemény, de lehet valamilyen közösségi oldal vagy pénzintézet nevében küldött adminisztrációs email. 18
Fertőzés 19
Fertőzés Kártékony weboldalak: Másik lehetséges megoldás, hogy a támadó különböző exploitokat használ ki, hogy észrevétlenül fertőzözzön meg egy számítógépet. Egy kártékony weboldal megnyitása során azonnal megfertőzödik, ha nincsenek befoltozva a támadó által használt biztonsági rések. Például: AOL Radio AmpX ActiveX Control ConvertFile() Buffer Overflow sérülékenység Adobe Reader util.printf() Javascript Function Stack Buffer Overflow sérülékenység 20
Fertőzés Kártékony weboldalak: Például a kártékony oldalon el van helyezve egy iframe, ami rejtett marad a felhasználó elől, viszont betölt egy olyan oldalt (így ez is teljesen láthatatlanul történik), ahol kihasználva valamilyen sérülékenységet, települ a trójai. Egy sokkal egyszerűbb megoldás, ahol a weblapon egy közvetlen link mutat a trójai bináris állományára, de a linket másképpen nevezték el. Erre egy egyszerű felhasználó teljes nyugalommal kattint rá és tölti le. 21
Fertőzés 22
Tartalom Áttekintés A Zeus működése: Trójai készítése Fertőzés (trójai terjesztése) Dropper működése (hogyan fertőzi meg a gépet) C&C szerveren keresztüli vezérlés Man in the mobile A mai álláspont 23
Dropper működés trójai ~ dropper Inicializálás: A Zeus végrehajtása 3 ponton is kezdődhet. PE headerben meghatározott helyen 2 privát (nem exportált) szál egyikéből Minden esetben a KERNEL32.dll meghatározásával kezd. 24
Dropper működés Inicializálás: Modulok betöltésének felt. sorrendje: 1. ntdll.dll 2. kernel32.dll Feltételezi, hogy a KERNEL32-t második modulként töltötte be a rendszer. Ezt kezdőcímként használva megkeresi a következő két függvényt: 1. LoadLibraryA (dll modulok betöltése) 2. GetProcAddress (visszatér egy betöltött függvény címével) Ezek segítségével néz meg több függvényt különböző libekből. 25
Dropper működés Inicializálás: A végén a kernel32-ben található függvény mutatót, ami az NTDLL!NtCreateThread-re mutat egy saját NtCreateThread-re mutató pointerre cseréli (hookot rak bele). Ezután CreateToolhelp32Snapshot, Module32FirstW, and Module32NextW használatával különböző dll-ek függvényihez ad hozzá hookokat. (wsock32.dll, ws2_32.dll, wininet.dll, user32.dll) 26
Dropper működés Process injection: Két módon ágyazza be magát más processzekbe: 1. Egy új folyamat első szálának készítésekor 2. Új szál hozzáadásával más szálakhoz Mivel van hook-ja az NtCreateThread függvényen észreveszi az új szálak keletkezését. 27
Dropper működés Process injection: Az NtCreateThread használata során lekérdezi az egyedi pidt. 0 esetén ez egy új folyamat. Ellenkező esetben Ezután bemásolja magát a processzbe és az új szálra mutató entry pointert átállítja magára, így ő kezd el futni. 28
Dropper működés Process injection: Másik lehetőség, hogy végignézi az összes folyamatot. Ami azonos user nevében fut, abba az RtlCreateUserThread segítségével beágyazza magát. Pl: winlogon.exe, explorer.exe 29
Dropper működés Admin jogok esetén > %systemroot%\system32\ Admin jogok nélkül > %appdata%\ A következő rejtett fájlokat készíti el(verziónként különböző elnevezések vannak): 1. \lowsec\user.ds - keylog, képernyőképek 2. \windows\system32\lowsec\local.ds - konfig adatok 3. \windows\system32\lowsec\user.ds.lll 4. \windows\system32\lowsec\sdra64.exe - titkosított bot executable 30
Dropper működés A trójai és a lopott adatok titkosítása: A futtatható állományt több obfuszkációs és titkosítási réteg is védi. A rejtett fájlokat RC4-et használva kódolja. Kulcs a futtatható állományba beágyazva. 31
Dropper működés Mutex: Mutexet használ arra, hogy csak 1 példány fusson belőle (_AVIRA_2109 > detekció) Named pipe: Ezen keresztül is lehet parancsokat adni a botnak. Pl: törölje le magát, mondja meg a verzióját nevét, stb. Registry módosítás > automatikus indítás 32
Dropper működés Ezután elkezdi áldásos tevékenységét. Ezek már korábban felsorolásra kerültek. Ezek közül kiemelendő a HTML formok módosítása. 33
Dropper működés 34
Dropper működés 35
Dropper működés 36
Dropper működés 37
Dropper működés 1.4-es verziótól fel lett vértezve Polymorphic Encryption-nel. Ennek segítségével újra tudja magát titkosítani minden alkalommal amikor megfertőz egy áldozatot, emiatt minden fertőzés egyedivé válik. Emellett a fájlneveket véletlenszerűen választja meg, emiatt minden fertőzés egyedi fájlneveket tartalmaz, így megnehezítve az anti-virus szoftverek dolgát. 38
Tartalom Áttekintés A Zeus működése: Trójai készítése Fertőzés (trójai terjesztése) Dropper működése (hogyan fertőzi meg a gépet) C&C szerveren keresztüli vezérlés Man in the mobile A mai álláspont 39
C&C szerver A Command and controll szerver segítségével a támadó képes nagyszámú fertőzött számítógép irányítására. Fertőzés után rögtön értesíti a bot a szervert. Lekérdezi, hogy van-e új config fájl. Információkat oszt meg a fertőzött gépről: OS verzió, nyelve Bot verzió, név IP cím Ország Folyamatok nevei 40
C&C szerver Kiadható parancsok: reboot : Reboot computer. kos : Kill OS. shutdown : Shutdown computer. (r)/(l)exec [url] [args]: Download and execute the file [url] with the arguments [args] (optional). getfile [path] : Upload file or folder [path] to server. getcerts : Upload certificates from all stores to server. 41
C&C szerver Kommunikáció elrejtése: Egyes verziók segítségül hívják a szteganográfiát. Az új config fájlt például egy kép fájl végére helyezi el. A kép megnyitható és nem vehető észre, hogy plusz adatokat tartalmaz a felhasználóról. 42
C&C szerver 43
Tartalom Áttekintés A Zeus működése: Trójai készítése Fertőzés (trójai terjesztése) Dropper működése (hogyan fertőzi meg a gépet) C&C szerveren keresztüli vezérlés Man in the mobile A mai álláspont 44
Man in the mobile Sok esetben a bankok egy plusz hitelesítési kódot küldenek SMS-ben Természetesen ehhez is képes hozzájutni a támadó ZitMo : Mobile Zeus ZitMo versions for Symbian, Windows Mobile, BlackBerry, and Android have been detected. 45
Man in the mobile Fertőzés menete: 1. Egy már korábban fertőzött felhasználó megpróbál belépni a bankjához. 2. A Zeus megkéri, hogy töltse ki, a felhasználónév/jelszó mellett a telefon típus és telefonszám mezőket. 3. Ezt kitöltve a felhasználó kap egy üzenetet, hogy töltsön le a telefonjára valamilyen biztonsági frissítést vagy alkalmazást, ami valójában a ZitMo 4. Ezt telepítve a támadó hozzáfér a felhasználó SMS-eihez. A felhasználó gépét képes proxy-ként használva banki tranzakciók végrehajtására, észrevétlenül! 46
Man in the mobile 47
Köszönöm a figyelmet! Kérdések? 48
Források http://www.threatmetrix.com/docs/threatmetrix-labs-report-july- 2012.pdf http://www.symantec.com/security_response/writeup.jsp?docid=2 010-011016-3514-99 http://www.ioactive.com/pdfs/zeusspyeyebankingtrojananalysis.pdf https://blog.malwarebytes.org/security-threat/2014/02/hiding-inplain-sight-a-story-about-a-sneaky-banking-trojan/ https://sysforensics.org/2012/03/zeus-v2-malware-analysis-parti.html http://securelist.com/analysis/36424/zeus-in-the-mobile-factsand-theories/ 49