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 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
több
obfuszkációs
és
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-July2012.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