KECSKEMÉTI FŐISKOLA GAMF Kar Szakdolgozat Katus Gábor Mérnök Informatikus szak, Hálózati és web technológiák szakirány, levelező munkarend Kecskeméti Főiskola Gépipari és Automatizálási Műszaki Főiskolai Kar Kecskemét 2013
KECSKEMÉTI FŐISKOLA
GAMF Kar
Szakdolgozat
Katus Gábor
Mérnök Informatikus szak, Hálózati és web technológiák szakirány,
levelező munkarend
Kecskeméti Főiskola
Gépipari és Automatizálási Műszaki Főiskolai Kar
Kecskemét
2013
2
KECSKEMÉTI FŐISKOLA
GAMF Kar
Botnet hálózatok jellemzői, a Zeus botnet valós
képességei, lehetőségei.
3
Tartalomjegyzék
1 Bevezetés ....................................................................................................................... 5
2 Számítógép támadás, célzott és adathalász.................................................................... 7
3 Mire használják? .......................................................................................................... 12
3.1 Pénzforrás eszközei ............................................................................................. 12
4 Mekkora károkat okoznak? ......................................................................................... 15
5 Milyen kockázatok vannak? ........................................................................................ 18
6 Mennyibe kerül egy botnet? ........................................................................................ 19
7 Mi a botnet? ................................................................................................................. 20
7.1 A botnetek keletkezése és általános működése ................................................... 20
7.2 A botnetek tevékenykedése ................................................................................. 21
7.3 Működése ............................................................................................................ 25
7.4 Elterjedés ............................................................................................................. 26
7.5 Botnet előnye és hátránya .................................................................................... 27
7.6 Fajtái, típusai ....................................................................................................... 28
7.7 Bot detektálás és eltávolítása ............................................................................... 30
7.7.1 Felhasználói szinten ..................................................................................... 30
7.7.2 Hálózati szinten ............................................................................................ 32
8 Zeus ............................................................................................................................. 34
8.1 Zeus ismertetése .................................................................................................. 34
8.2 Zeus céljai és funkcionalitása .............................................................................. 35
8.3 Káros kódot tartalmazó csomag (malware package) ........................................... 38
8.4 Zeus elterjedése ................................................................................................... 38
8.5 Zeus telepítése és beüzemelése ........................................................................... 39
8.5.1 Szükséges eszközök, előkészület ................................................................. 40
8.5.2 Szerver beüzemelése .................................................................................... 41
8.5.3 Bot kliens beüzemelése ................................................................................ 63
8.6 Zeus működtetése ................................................................................................ 70
8.6.1 Bot elkészítése ............................................................................................. 70
8.6.2 Bot eljuttatása és megfertőzése a cél számítógépet ..................................... 71
8.6.3 Bot használata .............................................................................................. 71
8.6.4 A kinyert információk feldolgozása, elemzése ............................................ 79
4
8.7 Zeus előnyei ......................................................................................................... 79
8.8 Zeus hátrányai...................................................................................................... 80
9 Az elért eredmények kielemzése ................................................................................. 81
11 A védekezés fajtái ........................................................................................................ 88
12 Irányvonalak és a jövőkép ........................................................................................... 89
13 Összefoglalás ............................................................................................................... 90
14 Irodalomjegyzék .......................................................................................................... 92
15. Ábrajegyzet .............................................................................................................. 95
16. Táblázat jegyzék ...................................................................................................... 98
5
1 Bevezetés
Szakdolgozatom témájának egy még mindig időszerű, de kevésbé ismert témát, a
botnetek világának bemutatását választottam. Vizsgálódásom középpontjába a Zeus (vagy
ZBot) néven elhíresült, alkalmazás- és szoftvererőforrás kihasználáson alapuló támadási
módszer bemutatását helyeztem. A választásom azért erre a témára esett, mert a
gazdálkodószervezetek mellett egyre több magánszemély esik áldozatául ilyen típusú
támadásoknak. Ma a világban az internet már nem csak az állami és az üzleti szférában,
hanem az otthonokban is könnyedén elérhető. A folyamatosan csökkenő díjak mellett az
internet szolgáltatók egyre nagyobb sávszélességű hozzáférést biztosítanak előfizetőknek.
Ma már nem csak asztali és hordozható számítógépek, hanem mobiltelefonok,
multimédia lejátszók, táblagépek, e-book olvasók, "okos" televíziókészülékek és
játékkonzolok segítségével is csatlakozhatunk a világhálóhoz. Az előbbiekben említett
informatikai eszközök rohamos fejlődésével lépést tartva a kártékony alkalmazások
készítői egyre több információt képesek eltulajdonítani az óvatlan felhasználóktól. Az
információszerzésen túl a támadások az eszközök erőforrásainak kihasználásra is
irányulhatnak. A kártékony szoftverek egyre komolyabb veszélyt hordoznak magukban, és
a vállalatokkal szemben az otthoni felhasználókat nem védik képzett szakemberek.
Vírusok, férgek, trójaiak, kéretlen levelek, túlterheléses támadások. Mind-mind az internet
árnyoldalai. A kártevők összes képességét magába foglalva egy minden eddiginél nagyobb
veszélyforrás jelent meg a kibertérben: a botnet.
Az utóbbi időben a híradások egyre több olyan botnet támadásról számolnak be,
amelyek végrehajtásával hatalmas károkat okoztak szolgáltatóknak, vállalatoknak és
magánszemélyeknek, ezzel a ténnyel is igazolva, hogy a rosszindulatú hálózatok minden
felhasználóra egyformán veszélyt jelentenek.
A szakdolgozatomban először általánosságban ismertetem az interneten a
felhasználókra leselkedő veszélyforrásokat, majd egy, az ezeket a veszélyeket egyesítő
Zeus botnet beüzemelésének menetét írom le lépésről-lépésre és bemutatom a Zeus botnet
hálózat leggyakrabban használt képességeit. Ismertetem továbbá, hogy a Zeus milyen
típusú adatok megszerzésére képes, mekkora veszélyt jelentenek az eltulajdonított
adatokkal való visszaélések a felhasználókra nézve és azok mekkora értéket képviselnek a
támadók számára. Végül összegzem és elemzem a Zeus általam is használt képességeit és a
6
botnet típusú kártékony szoftverek elleni hatékony védekezési eszközöket és módszereket
mutatok be.
A szakdolgozatom elkészítéséhez nyújtott segítségükért köszönettel tartozom belső
konzulensemnek, Gőcs László Tanár úrnak az útmutatásért, témavezetői támogatásáért és
külső konzulensemnek, Marosi Attilának, mentoromnak, munkatársamnak és barátomnak,
aki sok jó tanáccsal látott el a dolgozat készítése során.
7
2 Számítógép támadás, célzott és adathalász
Számítógép vagy számítógépes hálózat elleni támadásnak minősül minden olyan kísérlet,
amely kárt okoz a hálózatban, módosítja azt, onnan adatokat lop el, vagy illetéktelenek
számára jogosulatlan hozzáférést szerez. Az IETF (Internet Engineering Task Force) a
számítógépes támadásokat az RFC 2828 számú szabványban meghatározza:
„A támadás a rendszer biztonságát veszélyezteti, ami előre elhatározott fenyegetés vagy
cselekmény, szándékos támadási kísérlet a számítógép vagy hálózat, rendszer ellen, oly
módon, hogy elkerüljék a biztonsági szolgáltatásokat és megsértsék a biztonsági
házirendet.”
A támadások végrehajtója lehet személy, személyek, vagy akár lehet szervezet is. A
támadásnak számos indoka lehet, de az általában haszon szerzés céljából történik. Az
ezeket támadásokat kezdeményező személyeket Black Hat (fekete kalapos) megnevezéssel
illetjük. A támadásokat sokféleképpen lehet kategorizálni, én a szakdolgozatomban két fő
kategóriát különböztetek meg: aktív és passzív támadások. Az aktív támadás során a
támadó célja a rendszer erőforrásainak kihasználása és működésének befolyásolja. A
támadó így veszélyezteti a rendszer integritását és/vagy működését, rendelkezésre állását.
A passzív támadás során a támadó oly módon szerez információt a rendszerről, hogy nem
befolyásolja annak működését és erőforrásait, így asszimilálódik, és tevékenysége teljes
titokban marad. A támadások fejlődésével és elterjedésével egyre több olyan szervezet,
csapat, munkacsoport jött létre, akik célja, hogy ezeket a támadásokat megelőzzék vagy
elhárítsák. Az egyik ilyen fontosabb védekezési módszer, hogy a szervezetek Információ
Biztonsági Irányítási Rendszereket (Information Security Management System) vezetnek
be, amelyek biztonsági stratégiai szabályokat megalkotásával a kockázatelemzési elvek és
ellenintézkedések kialakítását jelentik. A másik lehetőség, hogy a szervezet partneri
kapcsolatot alakítanak ki a nemzeti, kormányzati, ágazati CERT-ekkel (Computer
Emergency Response Team), amelyeket annak érdekében hoztak létre, hogy a támadások
bejelentését, észlelését követően irányítsák az ellenintézkedéseket.
A támadásokat két további két csoportba lehet is be lehet sorolni: célzott támadások, vagy
pedig adathalász (phishing) támadások, amelyeket során bárki áldozattá válhat. [3] [4] [5]
8
Egy célzott támadás lépései
A célzott támadást úgy kell felépíteni, hogy a hatékonyság érdekében azt több részre
bontjuk szét. Egy kidolgozott támadás elméletét sablonba ültetve azt később bármilyen
rendszerre tudjuk alkalmazni, hiszen a támadás alapvetően ugyanazokból a lépésekből áll.
Ezeket a lépéseket betartva a támadás valószínűleg sikerrel fog végrehajtódni.
1. Felderítés (Reconnaisance): A támadó ismeretet gyűjt a szervezetről, rendszerről,
emberekről, a hálózat kiépítéséről, topológiájáról, topográfiájáról, annak
biztonságáról. Minden olyan ismeret fontos lehet a támadó számára, amelyet majd
később fel tud használni a támadás során. Fontos, hogy minél részletesebben
ismerjük meg a rendszert, mert bármilyen aprónak tűnő információ is segíthet
bennünket. A másik nagyon fontos dolog pedig az, hogy minden megszerzett
ismeretet jegyezzük fel, mert azt később elfelejthetjük. Nem tudhatjuk azt, hogy a
jövőben mely információ felhasználása válhat szükségessé. A felderítésnek két
fajtáját különböztetjük meg: aktív és passzív felderítés. [3] [4] [5]
a) Passzív felderítés (Passive resonnaisance): ide tartozik a hálózat figyelése, és a
nyílt eszközökkel történő információgyűjtés (OSINT). Ilyen eszközök lehetnek az
internetes keresők (pl: Bing, Exalead, Google, Yahoo), céginformációs kereső
oldalak (pl: online cégjegyzékek). Manapság már nagy divat, hogy a közösségi
oldalakon már nem csak magánszemélyek, hanem cégek, szervezetek is
rendelkeznek saját profillal. Rengeteg hasznos információt találhatunk meg és
gyűjthetünk be a weboldalakról. Ilyen információk lehetnek a szervezet üzleti
partnerei, dolgozóinak elérhetőségei (e-mail, telefon, Skype): Ezeket az
információkat egy social engineering támadás során használhatjuk fel, amely során
ahonnan újabb további információt és adatot tudunk megszerezni. Az áldozat
weboldalának megtekintése során olyan információkat nyerhetünk ki, hogy milyen
technológiával készült az adott oldal, milyen scripteket alkalmaznak, hol lehet a
web szerver, találhatóak-e más oldalak a szerveren. Nagyon gyakori, hogy úgy
hajtanak végre a támadást, hogy a kiszolgálóan egy másik weboldal gyengeségét
kihasználva jut el a támadó céljához. Ez előbb felsorolt támadások során mindvégig
ismeretlenek (anonymous) maradunk, oly módon szerezhetünk információkat, mint
9
egy egyszerű felhasználó, aki csak szörföl a neten. Úgy is mondhatnák, hogy a
támadó „eltűnik a tömegben”. [3] [4] [5]
b) Aktív felderítés (Active resonnaisance): Ezt a fajta támadási módszert azért
nevezik aktívak, mert a támadás során nem feltétlenül maradunk ismeretlenek. A
támadó felderíti a hostokat, a nyitott portokat (de még nem célzott port
szkenneléssel), a szervereket, e-mail szervereket és az IP címét. Esetenként
megtudhatjuk a szervereken lévő szoftverek típusát, verziószámát, vagy ki tudjuk
következtetni azokat más adatokból, egyéb információforrásból. [3] [4] [5]
2. Szolgáltatások felderítése (Scanning): Az eddigi információszerzés alapján
összegyűjtött IP címeket, IP cím tartományokat végigellenőrizzük egy port
szkenner alkalmazás segítségével. Olyan információkhoz juthatunk hozzá, mint,
hogy milyen szolgáltatások érhetőek el a kiszolgálón, milyen operációs rendszer,
mely, verziója fut, milyen egyéb programokat használnak és végül, hogy milyen
hardver konfiguráción üzemel a szerver. [3] [4] [5]
3. Sebezhetőségek azonosítása (The identifiction of vulnerabilities):
Sérülékenységek felkutatása során az egyik módszer az, hogy olyan programokat
használnunk, amelyekkel a célszámítógépen különböző sérülékenységeket tudunk
felderíteni. Ezen túl saját tudásunk és tapasztalataink alapján személyesen,
célzottan is vizsgálódhatunk. Természetesen minél több információ áll
rendelkezésünkre, annál könnyebben tudjuk elérni a célunkat, ezért érdemes mind a
két módszert használni. [3] [4] [5]
4. Hozzáférés a rendszerhez (Gaining Access): Az eddig begyűjtött és megszerzett
információk alapján itt kezdődik a valódi támadás a kiszemelt számítógép vagy
rendszer ellen. A hacker megpróbálja azonosítani és kihasználni a rendszer
sérülékenységeit vagy ennek hiányában kísérletet tesz új sérülékenységet létrehozni
az rendszeren. Egy támadás célja nem feltétlenül az, hogy a rendszert feltörjük
vagy onnan fontos információt szerezzenek. Ha ellehetetlenítenek, elérhetetlené
tesznek egy rendszert, mondjuk egy DoS vagy DDoS támadással az ugyanolyan
támadásnak minősül csak támadás eredménye, végkimenete lesz más. [3] [4] [5]
10
5. Hozzáférés fenntartása (Maintaining access): Sikeres támadást követően az első
lépés annak biztosítása, hogy későbbiekben is ugyanúgy hozzáférjünk a
rendszerhez. Ennek érdekében biztosítanunk kell a bejutást és információszerzést a
jövőben is. Ennek elérése érdekében több módszert is lehet alkalmazni, ilyenek
lehetnek a rootkitek, backdoorok, trójaiak. [3] [4] [5]
6. Nyomok eltüntetése (Covering tracks): Minden rendszer feltörésében a nyomok
eltüntetése kiemelkedő szerepet tölt be. Ez azért is fontos, mert ha az üzemeltetők
nem fedik fel, hogy rendszerük kompromittálódott, akkor nem is fognak fellépni a
támadó ellen, így könnyebb fenntartani a hozzáférést. A másik nagyon fontos a
támadó tevékenység végrehajtása során se találjanak meg minket. Ahhoz hogy
mindvégig ismeretlenek maradjunk a legfontosabb dolog a naplóállományok (log
file-ok) manipulálása, törlése. Ha valamilyen alkalmazást használunk erre a célra,
akkor azt megfelelően el kell rejteni (akár számos alkönyvtárban egyidejűleg, akár
egy általános helyen) akár steganográfiával (képi információrejtéssel) elfedve. [3]
[4] [5]
1. ábra Célzott támadás lépései
11
Adathalászat (phishing), azaz bárki lehet áldozat.
Az adathalászat típusú támadás lényege, hogy a bűnöző nem egy adott személyt céloz, meg
akitől adatokat vagy információt kíván szerezni, hanem egy adott cél elérése érdekében
cselekszik, számára mindegy, hogy ki lesz vagy kik lesznek a potenciális áldozatok. Ezek
az adatok lehetnek például: felhasználónevek, jelszavak, e-mail címek és a hozzá tartozó
jelszavak, bankkártyaszámok, PIN, PUN kódok, különböző felhasználói fiókok
(accountok), stb. Az adathalászatnak az általában használatos módszere az, amikor egy
ismert cég hivatalos honlapjának láttatja magát, és megpróbál személyes adatokat
megszerezni a gyanútlan áldozatoktól. A botnetek adathalász típusú szolgáltatásokat is
teljesítenek, az egyéb támadási tevékenységek mellet. Még egy adathalászatra készült oldal
korlátolt képességeket tud, azaz csak információgyűjtésre képes, de egy botnet kártékony
kód használata esetén sokkal több támadási lehetőséget használhatunk. A kéretlen levelek
(spamek) formájában megcélzott emberek lehetséges vevők lehetnek, de a támadás
irányulhat az áldozat erőforrásainak kihasználására is. [3] [4] [5]
12
3 Mire használják?
Az internetes bűnözök hamar felismerték, hogy az egyre nagyobb számítógépes
hálózatokat bekebelező botneteknek mekkora erejük van. A víruskészítők körében egyre
ismertebbé és kedveltebbé vált a botok alkalmazása, így azok rohamos fejlődésnek
indultak. A botokat az idő előrehaladtával több és több, egyre fejeltebb funkcióval és
összetettebb támadási formákkal bővítették. A belőlük kiépült földrajzilag nagy kiterjedésű
hálózatokat egyre több féle támadási forma végrehajtására tudták használni. A botnet
hálózatok óriási nagy „erejűvé” váltak. A kiberbűnözők körében a botnetek használata
nagyon gyorsan elterjedt lett, mert a botok használatával minden eddiginél nagyobb erő ált
a rendelkezésükre. A gyors meggazdagodás reményében a botokat tovább fejlesztették és
számuk is drasztikusan megnövekedett. A botok most már nem csak személyes adatokat és
információkat voltak képesek megszerezni, hanem egyre népszerűbb lett a DOS és a
DDOS szolgáltatás megtagadással járó támadás és a spam levelek küldése is. Mivel ezek a
hálózatok akár több millió emberrel, mint áldozattal kerültek kapcsolatba, ezért a
lehetősége végtelen tárháza vált elérhetővé a kiberbűnözők részére. Ez a módszer hatékony
és aránylag „biztonságos” a számítógépes bűnözök számára, ezért a gyors meggazdagodás
egyik közkedvelt eszközévé vált. [6]
3.1 Pénzforrás eszközei
Bankszámla (adatok): manapság szinte minden számítógép felhasználó rendelkezik
bankszámlával, hiszen, az emberek ide kapják a fizetésüket, itt tárolják a pénzüket,
befektetéseiket. A bankszámlák közé tartoznak a különböző virtuális bankszámlák is,
amelyeken szintén tárolnak pénzt és a számlák pénzmozgásra alkalmasak. A virtuális
bankszámlák adatainak megszerzése az adathalászat során kitüntetett figyelmet élvez. Akár
mennyire is hihetetlen manapság a kiberbűnözők ezeket az adatokat hihetetlen nagy
mennyiségben kínálják eladásra a különböző az internetes feketepiacokon. A bűnözők
adathalász módszerrel begyűjtik a bankszámlákhoz tartozó adatokat (név, cím,
bankszámlaszám, pin kód, egyéb biztonsági kódok, biztonsági kérdésekre adandó
válaszokat) és ezeket egy másik bűnözőnek eladják további felhasználásra. A Zeusnak van
egy olyan módosult változata, amelyet ZitMo-nak (Zeus in the Mobile) neveztek el. [14]
Ezt az alkalmazást kimondottan az online banki tranzakciók során használt adatok
13
megszerzésére fejlesztették ki. A ZitMo-t alkalmazást majd a későbbiekben fogom
ismertetni. [6]
Accountok: Az ember nem is gondolná, hogy a szórakozásra szánt alkalmazásokban is
mennyire sok pénz van. Ahogy egyre nagyobb teret nyert az internet a nagyvilágban és az
szinte minden eszközön elérhető manapság a szoftverfejlesztők ezt felismerve olyan
programokat kezdtek készíteni, amelyek segítségével egy másik „virtuális világba”
csatlakozhatunk be. Ezek a programokat összefoglaló néven online alkalmazásoknak
hívják. Ezekkel az online alkalmazásokkal a világszerte több millióan játszanak,
szórakoznak. A kiberbűnözök hamar felismerték az ebben rejlő a pénzforrási lehetőséget,
és elkezdték ezeket az adatokat is begyűjteni és áruba bocsátani. Ilyen programok lehetnek
online kártyajátékok (pl.: PokerStars), online számítógépes játékok (pl.: World of
Warcraft). Ezekhez a programokhoz bankszámlák vagy virtuális számlák vannak kötve,
így ezeket az adatokat is meg tudják szerezni. De nem csak a „valós” pénz megszerzése a
kiberbűnözők kizárólagos célja, hanem a játékbeli virtuális pénzeket is ellopják és
kereskednek velük. [6]
Spam levelek: A kéretlen levelek továbbításával elsősorban nem adatot vagy információt
akarnak ellopni az áldozattól, hanem valamilyen termék vásárlására kívánják ösztönözni,
rábírni. A kiberbűnözök vagyona nem az áldozattól ellopott adatok felhasználásából,
értékesítéséből gyarapszik, hanem a megrendelő fizet megbízási díjat azért, hogy az ő
termékét hirdesse spam levelek segítségével. Az ember nem is gondolná, hogy a kéretlen
levelek sikerre vezetnek, pedig egy ilyen „szolgáltatás” igénybevétele esetén – az elküldött
levelek mennyiségének függvényében – a címzettek 4-5 százaléka lehetséges vásárlóvá
válik. Ez azt jelenti, hogy ha a terméket/termékeket kínáló kéretlen levelet eljuttatják
1 000 000 emberhez, akkor 40-50 ezer ember vásárló lesz. [6]
Erőforrás felhasználás: Ebben az esetben a támadó célja a megfertőzött áldozat gépének
erőforrás-felhasználása. Ezt a szolgáltatást „kipörgetéses” jelszó- vagy titkosító kulcs
feltörésre (brute force vagy key-space attack) vagy szolgáltatás megtagadásra irányuló
támadás kivitelezésére szokták használni. A nyers erővel törtnő jelszótörés kipörgetik a
jelszót, ami azt jelenti, hogy minden lehetséges jelszó változatot végig próbálnak a művelet
során. Ennek a módszernek az a hátránya, hogy nagy az erőforrás és időigénye. A folyamat
14
felgyorsítható, ha egy időbe minél több számítógépet (számítási kapacitást) használnak. A
DoS vagy DDoS szolgáltatás megtagadás elérésére irányuló támadás lényege, hogy a
szolgáltatót, amely üzemelteti a rendszert (pl.: weboldal, adatbázis szerver, vagy
valamilyen online szolgáltatást nyújtó szerver, stb…) ideiglenesen működésképtelenné
tegye rövidebb vagy hosszabb időre. [6] [7]
15
4 Mekkora károkat okoznak?
Manapság a televízióban, rádióban, interneten sok hírt lehet hallani mindenféle
vírustámadásról. Ezeknek a vírustámadásoknak a döntő többsége valamilyen adathalász
típusú támadás, amelynek forrása botnet hálózatok által fertőzött számítógépek tömegéből
ered. A Marshal biztonsági cég tanulmányai alapján 2006-2007-ben fedezték fel először a
botneteket. Az első ilyen nagyobb hálózatot „Storm” néven említik. A cég tanulmánya
szerint hat nagy zombi hálózat látja el az internetes spamforgalmának 85 százalékát. Ezek
a hálózatok különféle módokon „reklámozták” magukat. Volt, amely hírességek pornográf
felvételeinek álcázták vagy valamilyen Flash lejátszó frissítésének adták ki magukat. [29]
[37]
Hat nagyobb Zeus botnet:
• Storm
• Srizbi
• Rustock
• Hacktool
• Kraken
• Zunker
2011-ben nyilvánosságra hoztak egy Zeus forráskódot, amely pillanatok alatt elterjedt a
világban és azóta több száz új változat került ki az internetre. Kiberbűnözők hozták
nyilvánosságra a Zeus forráskódját abból a célból, hogy minél több változat lelhető fel a
világban, amelyet több ezren használnak, akkor a nyomozószerveknek nehezebb a
nyomozás az ilyenfajta ügyekben. A szakdolgozatomban én is ezt a 2011-ben
nyilvánosságra került alap Zeus-t forráskódot fogom beüzemelni, valós képességeit
bemutatni és analizálni.
Az alábbiakban megemlítetek néhány Zeus változat által megvalósított támadást, amelyek
az utóbbi pár évben történtek a világban, amelyekről a CERT-Hungary, a Bitonságportál, a
Technet, és a Symantec jelentései, tanulmányai is említést tettek.
2010
Ebben az évben nyilvánosságra hozta a Trusteer biztonsági cég, hogy több mint 15
amerikai bank került veszélybe, mert egy Zeus változat több millió hitelkártya adatot
16
szerzett meg. Majd 2010 októberében az FBI felfedezett egy nagy nemzetközi botnet
hálózatot működtető bűnszervezetet, amely egy Zeus bot változatot használta. Összesen
körülbelül 70 millió dollár értékben sikerült különböző bankkártyákról pénzt lopniuk. Az
FBI több mint 90 feltételezett tagot vett őrizetbe, egy részüket Egyesült Államokban, de
tartoztattak le embereket még Egyesült Királyságban, Ukrajnában illetve Oroszországban
is. [31]
2010 augusztusában az M86 Security Labs leleplezett egy Zeus trójait, amely egy nagy
britanniai bank ügyfeleitől lopott el körülbelül 230 millió forintnak megfelelő összeget.
Egy fertőzött hirdetéssel vették rá az áldozatokat, hogy bot feltelepüljön a számítógépükre.
A trójai minden banki adatot ellopott, és ha megfelelő összeg volt a bankszámlán, akkor a
bot elutalta a bűnözők bankszámlájára. Megközelítőleg 3000 ember volt érintett az ügyben.
[32]
A Waledac nevű bot a becslések szerint 70-90 ezer számítógépet fertőzött meg. A botnet
képes volt naponta 1,5 milliárd spam üzenetet küldeni szerte a világba. Ez körülbelül a
teljes világban elküldött spam üzenetek 1 százalékát tette ki. A művelet során 277 Domain
nevet használtak irányításra és ellenőrzésre. Habár sikerült felszámolni a szervereket a
botok tovább tudtak működni, mert képesek voltak peer-to-peer kommunikáció útján
tartani egymással a kapcsolatot. [13] [16] [33]
A Kelihos botnetet a kutatók szintén 2010-ben fedezték fel, amely egy új változata a Storm
vagy Waledac botnetnek. Az új botnet mintegy 45 ezer számítógépet fertőzött meg, a
botnet becslések szerint képes volt 4 milliárd kéretlen levelet küldeni egy nap. [34]
2011
A Rustock botnet 2006-tól egészen 2011-ig üzemelt. A fertőzött számítógépről képes volt
akár 25.000 spam üzenetet küldeni óránként. A szakértők szerint körülbelül 2-2,5 millió
gépet fertőztek meg, a botnet elsődleges célja leginkább a saját terjesztése volt. A
továbbított e-mailek tartalmazták a rosszindulatú bot telepítő kódját is, ezzel növelve a bot
hálózatát. 2011-ben az Amerikai hatóságok együttműködve a Microsoft-tal pénzjutalmat
ajánlottak fel azok számára, akik Rustock bottal kapcsolatban érdemi információval tudnak
17
szolgálni és ennek eredményeképpen sikerült beazonosítani és őrizetbe venni z
kiberbűnözőket. [35]
2012
Az utolsó hónapjában egy újabb Zeus változat szedett áldozatokat szerte Európában. Ez
volt az úgynevezett „Eurograbber” akció. Több mint 30 ezer ember érintettet a művelet és
megközelítőleg 36 millió eurót loptak el olasz, holland, német, spanyol banki ügyfelektől.
A vírustámadást a Zeus újabb változatával, az úgynevezett ZitMo trójaival hajtották végre.
Magyar károsultakról nincs tudomásunk, a vírus készítői olasz és német nyelvű
szövegekkel próbálták rávenni áldozataikat, hogy megfertőzzék eszközeiket. [14] [12]
2013
A legújabb Zeus változat januárban jelent meg Facebook, Gmail, Yahoo és Hotmail
felhasználókat céloz meg és próbálja őket rávenni, hogy önként megfertőzzék a saját
számítógépüket. A Gameover nevű változat előtérbe helyezi a DoS és a DDoS szolgáltatás
megtagadási támadást illetve a web injection alapú károkozást. Az új Zeus változat új
védelmi szolgáltatást ígér a Facebook, Gmail,Yahoo, Hotmail felhasználóinak számára
cserébe kéri a felhasználók személyes és hitelkártya adatait. [13]
Március végén az orosz Zeus botnetet használó bűnözők egy csoportja egy 300 Gbps
sávszélességű DDoS támadást indítottak, amellyel a Spamhaus működését kívánták
ellehetetleníteni. A Spamhaus egy non-profit szervezet, amely az egyik legnagyobb spam
feketelistázó szervezet. A támadást úgy hajtották végre, hogy számos DNS szervernek
küldtek tömérdek mennyiségű DNS kérést úgy, hogy az áldozat címét hamísították a
sajátjuk helyére, így a DNS szerverek az áldozat gépnek válaszoltak, vagyis jelen esetben a
Spamhaus szervernek. Azért választották ezt a módszert, mert a DNS szerver egy kérésre
több nagyobb méretű üzenettel válaszol, így könnyedén megsokszorozható a támadás
ereje. Ennek a módszernek a felhasználásával tudták elérni a 300 Gbps sávszélességű
DDoS támadást. [36]
18
5 Milyen kockázatok vannak?
A botnet hálózatok óriási biztonsági kockázatokat jelentenek mind a magánszemélyek
mind a cégek számára, mivel ezeket a hálózatokat elsősorban bűncselekmények
elkövetésére használják a későbbiekben.
Vállalat
Egy vállalat számára nem csak a céges és a személyes felhasználói adatok
veszélyeztetettsége jelent kockázatot, hanem az is, hogy ők felelősségre vonhatók a
fertőzött hálózat által okozott bűncselekményekért. A botnetek ezeket a hálózatokat
nem csak arra használják, hogy a rajtuk tárolt adatokat ellophassák, hanem az
hálózathoz csatlakozó számítógépek erőforrását is kihasználhatják, vagy akár az egész
hálózatot megbéníthatják. Egy cég életében ez jelentős pénzkiesést okozhat, hiszen
egy jól menő web áruházat üzemeltető cég hálózata, ha 1-2 óra vagy akár pár napra
működésképtelenné válna az akár több millió forintos bevétel kiesés jelenthet a cég
számára. Ha a bot információt vagy adatot lop el a vállalattól, akkor a veszteség a cég
számára nem csak pénzben mérhető, hanem ezen túl a vállalat a hitelességét is
elveszítheti a versenytársaival szemben, vagy más vállalatokkal szemben jelentős
gazdasági hátrányba kerülhet
Magánszemélyek
A kiberbűnözők azért támadnak magánszemélyeket is mert rengeteg olyan személyes
adatot tudnak ellopni tőlük, amelyekkel visszaélve könnyen pénzt szerezhetnek. Egy
magánszemély identitását ellopva, akár a hitelkártya adatait felhasználva pénzt
lophatnak a mit nem sejtő áldozattól. A bűnözők más módszer segítségével pénzt
csikarhatnak ki az áldozataikból, még pedig úgy, hogy valamilyen termék
megvásárlására bírják rá őket. Annak a kockázatnak a mértéke, hogy valamilyen
módon megkárosítják az internethasználókat kiemelkedően magas. Mindenki
lehetséges célszemély, aki később akár áldozat is lehet.
19
6 Mennyibe kerül egy botnet?
A közelmúltban egy neves biztonsági szakértő Dancho Danchey, feltárt egy olyan
lehetőséget az interneten, amely segítségével botnet szolgáltatást, zombi hálózatokat lehet
vásárolni vagy bérelni. Így manapság, még ha nem is rendelkezünk a megfelelő
informatikai szaktudással, hogy létrehozzunk egy botnet hálózatot akkor is lehetőségünk
nyílik arra, hogy bérelhessünk egy zombi hálózatot magunknak, olyan paraméterekkel,
amilyenekre csak szükségünk van. Egy botnet hálózat ára nagyban attól függ, hogy hol
helyezkedik el fizikailag a megfertőzött gépekből álló hálózat. Természetesen egy európai
vagy észak-amerikai hálózat többet ér, mint egy kevésbé fejlett országban lévő hálózat.
Ennek az oka az, hogy amerikai vagy európai polgár több online vásárló erőt hordoz
magában, mint egyéb más országokban élők. A botnet piacon, míg egy Európában
található 10.000 hosztból álló hálózat 400 dollárba kerül, addig egy kevésbé fejlett
országban ugyanennyi hosztból álló hálózat pontosan a felébe, azaz 200 dollárba kerül. Az
amerikai piac még drágább, mert ott egy 10.000 hosztból álló zombi hálózat 1000 dollárba
kerül. [38]
2. ábra Bot net hálózat vásárlás
20
7 Mi a botnet?
A botnet elnevezés az angol "roBOT NETwork" kifejezésből származik és az IRC (Internet
Relay Chat) internetes programból fejlődött ki. Ezek az alkalmazások az internetes
beszélgetési szolgáltatásokhoz kapcsolódóan jöttek létre, és olyan feladatokat láttak el,
amelyek segítették a számítógépek távoli irányítását. A botok az IRC rendszeren üdvözlést,
üzenetközvetítést, szolgáltatások és jogosultságok beállítását biztosították. Mindezen a
programokat nevezték el botoknak. Ekkor még kizárólag jó célokra használták a botokat. A
kiberbűnözők hamar felfedezték, hogy ezeket a botokat felhasználva rosszindulatú kódokat
készíthetnek és törvénytelen, káros műveletek végrehajtására kezdték használni őket. A
botok eddigi tudását felhasználva lehetőségük nyílt szoftverek működésének
koordinálására, így indítva hatékonyan és összehangolt támadásokat.
A botok előre beprogramozott dolgokat hajtanak végre, ilyen lehet például: a spam
levélküldés, DoS vagy DDoS támadás (szolgálat megtagadás), erőforrás felhasználás,
adatok, információk megszerzése az áldozattól. Ezek a botok egy vagy több hálózatban
vannak összeszedve, a botok vagy egymással, vagy a controll panellel kommunikálnak. A
botok a controll paneltől kapják az utasításokat és a controll panelnek küldik a megszerzett
információt. Ezeket a botokat vagy értelem nélküli robotokat zombiknak szokták nevezni,
az a hálózatott, amelyet megfertőznek és irányítanak pedig zombi hálózatnak szokták
nevezni. [7] [28] [30]
7.1 A botnetek keletkezése és általános működése
Az első bot 1993-ban születet, Robey Pointer készítette, de ez a botot nem rosszindulatú
program volt, hanem arra használták, hogy az IRC (Internet Relay Chat) szolgáltatás
bővüljön. Egg Drop-nak nevezték el ezt az alkalmazást, amit arra volt képes, hogy
egyszerű programokkal, scriptekkel lehessen bővíteni az IRC funkcionalitását. Képes volt
még arra, hogy több kliens összehangoltan tudjon működni, ami a mai botnet egyik
alapköve. A botnetek az életük során hasonló funkcionális lépéseken mennek, keresztül
ezek az életciklusok általában megegyeznek a különböző féle botneket között. Ahhoz hogy
egy botnet hálózat létrejöjjön, kell egy olyan számítógép, amely az áldozatául válhat. Az
első lépés az, hogy a bot gazda létrehozza a bot-ot és a vezérléshez szükséges környezetett.
Ha a bot készen áll a használatra, akkor valahogy rá kell venni az áldozatot, hogy a gépére
feltegye a kártékony kódot. Ez a módszer nagyon sokféle lehet, ezek általában valahogyan
21
megtévesztik az áldozatot. Erre a szakdolgozatomban most külön nem fogok kitérni, mert
ez olyan mértékű anyag, hogy akár egy újabb szakdolgozatot is lehetne írni belőle. A
botgazda megfertőzi a lehető legtöbb gépet, és ha megvan az a megfertőzött mennyiség,
ami elegendő a gazda számára akkor megkezdhetni a botok használatát. Így kialakul egy
bot hálózat vagy más néven egy zombi hálózat, amelyet a botgazda a parancsnok irányítani
tud. A vezérléshez különleges módszereket használnak fel, hogy a gazda kiléte titokba
maradhasson, de a zombi hálózat ettől függetlenül irányítottan működjön. Amikor a
botgazda kiadja a parancsot a vezérlő felületről akkor a hálózatban lévő botok végrehajtják
a parancsot vagy parancsokat. Több különböző támadást is végrehajtanak a botok, DoS
vagy DDoS támadás (szolgáltatás megtagadás), spam levélküldés, inline hooking, adat
lopás, a kiadott parancsot a botok rövid időn belül végrehajtják. A botnet hálózat az egy
dinamikus közeg, amely folyamatosan változik, ha az áldozat gépét újratelepítik vagy
valamilyen más miatti hatás eredményeképpen a bot megsérül a gépen vagy törlésre kerül,
akkor az a gép kiesik a hálózatból. Onnantól kezdve a botgazda nem tudja irányítani, sőt
még látni sem látja az exgépet. Ugyanakkor az újonnan megfertőzött gépek bekerülnek a
bot hálózatába és várják a parancsot a bot gazdától. [7] [28] [30]
7.2 A botnetek tevékenykedése
A botnetek alkalmazásköre nagyon széleskörű, ilyen lehet a spam levélküldés, DoS DDoS
támadásszolgáltatás megtagadás, jelszófejtés, adatlopás, web injektálással, új botok
beszervezése, adatgyűjtés. [28]
Spam levélküldés
A botnetek legkedveltebb alkalmazása a kéretlen levelek küldése. Már korábban a
lehetséges károk ismertetése során leírtam pár botnet támadást, ahol számszerűsítettem,
hogy egy-egy spam levélküldés hány felhasználót érinthet. A megfertőzött gépek
segítségével kéretlen reklámleveleket küldenek szét szerte a világban több millió ember
számára. A reklámlevelek több milliós bevételi forrást jelentenek a reklámozott termék
gyártójának, forgalmazójának. A botnetek e miatt a szolgáltatásnak a közkedveltsége miatt
lettek olyan elterjedtek és váltak annyira népszerűvé kiberbűnözők körében. A bűnözők
relatív egyszerűen és viszonylag kevés szabályt, törvényt megszegve tudnak könnyen
pénzhez jutni. A kéretlen levelekben közölt tájékoztatók túlnyomó része érdektelen a
címzett/fogadó számára, így ezzel is terhelik a fogadó tárhelyét, szellemi ráfordításának
idejét és valamennyi sávszélességet. A botgazdák (a feladók) egy időpontban vagy rövid
időn belül több milliós nagyságrendben képesek leveleket küldeni. Ez a botgazda részéről
22
csekély mértékű befektetéssel és ráfordított idővel jár, viszont cserébe óriási haszonra tehet
szert. Ezek a levelek valamilyen terméket hirdetnek, amely olcsó és általában silány
minőségű, vagy esetleg olyan termék, amely nyílt csatornákon nem vagy korlátozottan
hirdethető, használható. Ajánlanak továbbá kihagyhatatlannak tűnő befektetési
lehetőségeket, amelyek nem egyszer a piramisjátékok kategóriájába tartoznak, de lehet
valamilyen személyes azonosító megszerzése irányuló, esetenként azt valamilyen abszurd
indokkal alátámasztó levél is. A spamek segítségével számos bűncselekményt is
elkövetnek, ilyenek például az illegális adatszerzések, hitelkártyacsalások, számítógépes
rendszerekbe való illegális behatolások. De spam leveleknek az a fajtája, amellyel
valamilyen terméket hirdetnek, nem számít közvetlenül bűncselekménynek. Az emberek
többsége tudja, hogy mi az a spam levél, azokat fel is ismerik, így ők nem is foglalkoznak
vele, de a címzettek között mindig akad néhány tized százaléknyi ember, akik nem tudja
mi az a spam, sőt még vásárolnak is. A botok nagyon nagy számban küldik ki ezeket a
spam leveleket, így az akár egy több százmilliós példányban szétküldött levél egytized
százaléka is 10.000 vásárlót jelenthet. A botgazda számára valamennyivel nagyobb
bevételt jelentenek azok a spamek, amelyek valamilyen törvénytelen hozzáférést, vagy
adatlopást valósítanak meg. [7] [28] [30]
DoS vagy DDoS támadás
A számítástechnikában a Denial of Service vagy a Distributed Denial of Service támadások
egy szolgáltatás megtagadásának vagy a hálózati erőforrások elérésének megtagadását
jelentik a felhasználó számára. Ilyenkor a botgazda kiadja a parancsot a botoknak, hogy
egy bizonyos címen található eszköz irányába folyamatosan csatlakozási kísérleteket
kezdeményezzenek, és ezzel a módszerrel elérik azt, hogy a kiszolgáló gép nem fogja tudni
egy bizonyos számú csatlakozási kérelem felett kezelni a kéréseket és a rendszer
összeomlik. A gyakorlatban ez úgy néz ki, hogy a támadás során telítődik a célgépen a
külső kommunikációkéréseket kezelő tároló, és ez olyannyira lekorlátozza a szervert. A
kiszolgáló vagy nem tud válaszolni a jogos forgalomra, vagy a válaszidő lesz nagyon
hosszú. A kiszolgáló ilyen módon történő folyamatos terhelése végül a szerver
túlterheléshez vezet. Ennek a módszernek a céljai és indítékai különbözőek lehetnek. A
támadás célja lehet az, hogy meghatározatlan időre a kiszolgálót megbénítsák, hatalmas
kárt okozva így a szolgáltatónak. A kiberbűnözők általában ezzel a támadással web
szervereket és web helyeket céloznak meg. A támadás célja lehet az is, hogy a szolgáltatót
egy időre hátrányba szorítsák egy másik szolgáltatóval szemben. Ilyen lehet például egy
23
web shopon keresztüli értékesítéssel foglalkozó cég. Pár órára vagy akár pár napra
működésképtelené téve egy web áruházat több millió forintos károkat is tudnak okozni
vállalatoknak, akik még a hátrányba is kerülnek a vetélytársaikkal szemben. A 3. ábrán
bemutatok egy DoS vagy DDoS támadás topológiáját, elméletét.[6] [7] [28] [30]
3. ábra DoS, DDoS támadás
Jelszófejtés
A botok ereje abban rejlik, hogy nagyon sok gép van megfertőzve és nagy botnet hálózatok
jönnek létre, ezt kihasználva a botgazdák a botokat szokták használni jelszófejtésre,
jelszótörésre (bruteforce jelszótörés). Ez azt jelenti, hogy a gépek nyers erejét használva,
minden kombinációt kipróbálva a titkosító rendszerekkel szemben alkalmazott támadási
módszer. Ez a módszer elméletileg mindig eredményes mivel minden lehetséges
kombinációt kipróbál így benne lesz a helyes jelszó is, ennek a hátránya az, hogy lassú a
folyamat, mert nagyon sok kombinációt kell kipróbálni. Ezt a módszert lehet felgyorsítani
azzal, hogy a feladatokat szétosztva több gép próbálkozik a jelszóval, így ez a folyamat
lényegesen felgyorsítható. Mivel egy botnet hálózat elég nagy méreteket ölt több millió
gép is lehet így a jelszópróbálkozások párhuzamosítva zajlanak, ami a jelszó
megfejtésének idejét nagyon lecsöketi. [7] [28] [30]
24
Példaként számítsuk ki egy 8 karakter hosszúságú jelszó feltöréséhez szükséges erőforrást.
Lehetséges jelszó változatok száma a következő képlettel adható meg:
N=CL
ahol, N a lehetséges kulcsok száma, C a karakterek száma és L a kulcs hossza.
A magyar ABC betűinek száma 44. Ha egy közepesen erős jelszót szeretnénk használni,
akkor használnunk javasolt kisbetűt, nagybetűt és számot is. Mindösszesen ez 44 kisbetűt,
44 nagybetűt és 10 karakternyi számot jelent, ami összesen 98 karakter. A képlet alapján
kiszámolva 988=8,507630226*1015 kombinációt jelent. Egy 4 magos, középkategóriás
számítógép a tesztek alapján körülbelül 3100 jelszó/másodperc sebességre képes. Ezzel a
teljesítménnyel számolva egy év alatt megközelítőleg 9,77616*1010 jelszót képes
előállítani. Tehát ha egy 8 karakteres jelszót szeretnénk brute force módszerrel feltörni,
akkor 8,507630226*1015 / 9,77616*1010 = 87024,2531 év kellene az összes jelszó
kipróbáláshoz 1 számítógépnek. Ha mindezt egy 100.000 gépet összefogó botnet hálózattal
tesszük (ami a mai világban aránylag könnyen elérhető), akkor ez 0,870242531 évre, azaz
317,6385297 napra csökken. Természetesen figyelembe kell venni, hogy a számítás az
összes lehetséges változatot mutatja. A gyakorlatban ennek a töredéke is elegendő, így
tovább csökken a ráfordítandó idő mennyisége.
Adatlopás, törvénytelen tartalomtárolás
Ez a botnet hálózatok egy újabb funkciója, amelyre 2011 év végén, 2012 elején derült
fény. A megfertőzött gépeken a botgazda úgy tud tetszőleges tartalmú, mennyiségű adatot
tárolni, hogy arról a fizikai gép tulajdonosa, használója nem tud. Az adatokat az átlagos,
otthoni felhasználó nem látja, sokszor még a host operációs rendszer számára is láthatatlan.
[7] [28] [30]
Adatgyűjtés
A világon több millió számítógép fertőzött valamilyen botnet klienssel, melyekről a
botgazda könnyűszerrel megszerezheti a számítógépeken lévő szenzitív adatokat (neveket,
jelszavakat, PIN, PUN kódokat, e-mail címeket, telefonszámokat, bankkártya számokat,
stb.). Ezen adatokat a botgazda vagy saját maga hasznára használja fel, vagy eladja, más
bűnözök számára. [7] [28] [30]
25
Web injektálás, inline hooking
Ezt a támadási módot (MiB=Man in the browser) először 2005-ben mutatta be Augusto
Peas de Barros.[39] Az ily módon fertőzött számítógépekről lehetőség van a titkosított
weboldalakon (SSL/PKI) megadott adatok megszerzésére is. A ZEUS internet banking
oldalakat támadott Internet Explorer és Mozilla Firefox böngészők esetén. Az oldalak
tartalmát részben, vagy teljes egészében megváltoztatva jutott többlet információkhoz.
2009-ben az antivirus szoftverek mindössze 23%-a ismerte fel a fertőzést, de ez az arány
2011-re sem változott jelentősen. [7] [28] [30]
Új botok beszervezése
A botnet hálózatok annál erősebbek, hatékonyabbak, minél több tagjuk van. Ehhez
folyamatosan újabb és újabb számítógépek megfertőzésre van szükség. Ezen cél
kivitelezéséhez felhasználható a már bot kliensként működő számítógép is, gyorsítva ezzel
a kártékony kód minél szélesebb körben való elterjedését. Amint egy új számítógép kerül a
bot hálózatába, az azonnal megkíséreli felvenni a kapcsolatot a botgazdával és várja az
utasításokat. [7] [28] [30]
7.3 Működése
A botnetek életciklusa változó, de egyszer egy ponton biztosan elér odáig, hogy jelezze a
botgazda felé működőképességét, azaz, hogy a hálózat új klienssel bővült. Ezt a folyamatot
nevezzük gyülekezésnek. A kapcsolatfelvétel általában egy IRC szerveren keresztül
történik, oly módon, hogy a kártékony kód tartalmazza a vezérlő és kliensek közötti
kommunikációra használt IRC szerver és azon létrehozott csatorna elérhetőségét, melyre a
kliens csatlakozik. Az IRC alapműködéséből eredően ez egy igen elszigetelt
kommunikációs terület, így ezt használva a vezérlő parancsokat tud kiadni a kliensek
részére. [7] [28] [30]
26
4. ábra Bot net müködése
1. Először a támadó csatlakozik az IRC szerverhez és kiadja a parancsot.
2. A parancs eljut IRC keresztül a csatornára felcsatlakozott zombi gépekhez.
3. A parancsot értelmezik a zombi gépek és végrehajtják, összehangolt támadást
indítanak.
A botnetek belső biztonsági rendszere lehetőséget nyújt arra, hogy a botgazda az
irányításhoz jelszó alapú azonosítást vagy rejtjelezett kommunikációt használjon. A botok
képesek új config file-t letölteni és ezt alkalmazni, amelyben lehetnek új frissítések
sebezhetőségi információk, új irányító központok címei, vagy új funkciók, kiegészítő
exploitok. A botgazda azt is figyelheti, hogy a zombi gépen van-e esetleg más kártékony
kód is. Esetleges találatkor lehetősége van ellenintézkedéseket tenni, amely során a másik
kártékony kódot deaktiválhatja, vagy eltávolíthatja a számítógépről. A botgazda
hasonlóképpen járhat el akkor is, ha a kliens működését hátrányosan befolyásoló
alkalmazást talál. [7] [28] [30]
7.4 Elterjedés
A botnetek elterjedése mára világméretűvé nőtte ki magát. A zombi hálózatok száma igen
dinamikusan változik. A C&C szerverek és a fertőzött számítógépek pillanatnyi állapotát
folyamatosan követhetjük napjaink piacvezető felhőalapú biztonsági cégének a
weboldalán. (http://www.trendmicro.com/us/security-intelligence/current-threat-activity/
27
global-botnet- map/index.html). Ugyanitt láthatjuk, hogy 2013-ban (ezidáig)
megközelítőleg 3.200.000 fertőzött számítógép és több mint 1.200 C&C szerver volt.
A https://zeustracker.abuse.ch oldalon, nyomon követhetjük a Spamhaus által
nyilvántartott Zeus aktivitásokat akár 60 napra visszamenőlegesen is.
5. ábra Zeus tracker statisztika
7.5 Botnet előnye és hátránya
• A botnet kliensek a trójai vírusok kategóriájába tartoznak, amelynek fő céljuk,
hogy egy kiskaput nyissanak a botgazda felé, hogy távoli asztali gépvezérlést adjon
a botgazdának. Ezeknek a távvezérléseknek az a hátránya, hogy általában a
kapcsolat nincs kódolva, nincs hitelesítés, így mások is átvehetik a vezérlést és
irányíthatják a gépet.
• A botnetek előnye és hátránya egy és ugyanazon dologban rejlik: a
kiterjedtségükben. Minél elosztottabb egy hálózat, annál inkább csökken a
28
hatékonysága, ugyanakkor annál nehezebb a detektálása. A botgazdáknak éppen
ezért kompromisszumot kell kötniük a használhatóság és a detektálás terén.
7.6 Fajtái, típusai
Hálózati topológia szerint a botnetek két csoportra oszthatók:
• Peer to Peer (P2P) botnetek:
Ebben az esetben nincs központi vezérlő egység, nincs vezérlő panel, a botok
egymással kommunikálnak. A botgazda a parancsot egy vagy két vezérlő botnak
adja csak ki, majd ezek a botok adják tovább a parancsot a többi bot felé, így a
botok, ahogy megkapták a parancsot rövid időn belül végrehajtják a támadást. Ezt a
technikát alkalmazva a botgazda, aki a támadást koordinálja és a vezérlő személy
azonosítása sokkal nehezebb, így védettebb helyzetben lehet. A P2P botnet által
használt topológiát szemléltetem a 6-os ábrával. [7] [13] [16]
6. ábra Peer to peer kapcsolat
• Központosított (centralizált) botnetek:
A botgazda egy központi vezérlőn adja ki a parancsot a botoknak, a zombi
hálózatban lévő összes bot ezzel a vezérlőegységgel kommunikál. Ennek a hálózati
topológiája a csillag, ahol a vezérlő egység, a botgazda van középen. Ennek előnye
az, hogy a botok koordinálási feltételeinek megteremtése relatív egyszerű, mert
29
minden bot ugyanazzal a vezérlővel kommunikál. Hátránya, hogy így a botgazda
személye is könnyebben felderíthető.
Az interneten lévő botok többsége még ezt a fajta technikát használja. A
központosított botnet által használt topológiát szemléltetem a 7-es ábrával.
7. ábra Centralizált botnetek
A különböző topológiájú botnetek tulajdonságai: [28] [30]
Tervezés Botner
detektálás
Késleltetés Túlélés Vezérlő
detektálás
Centralizált Könnyű Könnyű Kicsi Rossz Könnyű
P2P Nehéz Nehéz Közepes Kiváló Nehéz
1 Táblázat: Botnet típusok tulajdonságai
30
7.7 Bot detektálás és eltávolítása
Egy számítógép fertőzöttsége kétféleképpen is észlelhető:
• Felhasználói szinten: amikor a megfertőzött gépet valamilyen vírusirtó vagy
behatolás felismerő rendszer (IDS - Intrusion Detection System) segítségével
megpróbáljuk megtalálni. Ez a már ismert botnet változatok ellen hatékony csupán,
az újabb, nem ismert változatok ellen nem. [28] [30]
• Hálózat szintjén: ekkor a teljes hálózatot figyelve, a forgalmat vizsgálva
megpróbáljuk a botnetek forgalmát és tevékenységét észlelni. Ez a módszer
hatékony régi és új botnet változatok esetén is. Hátránya, hogy nagy szakértelmet,
hozzáértést és időt igényel. [28] [30]
7.7.1 Felhasználói szinten
Detektálás egyéni, otthoni felhasználó szinten
Ekkor a végfelhasználónál az áldozatul esett számítógépre telepített vírusirtó szoftver
segítségével megpróbáljuk észlelni a botnetet. Ez a megoldás csak akkor lehet sikeres, ha
minden felhasználó rendszeresen használ valamilyen jogtiszta és naprakészen frissített
vírusirtó szoftvert, hogy a már ismert botnetek terjeszkedése ellen megfelelő védelmet
nyújtson. Sajnos ez manapság nem a leghatékonyabb módszer, mert a számítógép
használók többsége egyáltalán nem használ, vagy nem jogtiszta, esetleg nem frissített
vírusirtót használ. Így ezzel a módszerrel csak kismértékben lehet csökkenteni a zombi
hálózatok méretét. [28] [30]
Detektálás vállalati szinten
A vállalatok többsége rendszeresen használ valamilyen vírusirtó szoftvert és egyéb
behatolás felismerő rendszert (IDS). Szinte mindegyik vállalat rendelkezik központosított
menedzsmenttel, ami jelentési és naplózási funkcióval van ellátva. Vállalati környezetben,
helyi fertőzés esetén, több gépen is sikeres lehet a veszélyforrás azonosítása, ezekkel az
eszközökkel, mielőtt nagyobb károkat okozna a saját, illetve mások hálózatában. A 8.
ábrán láthatunk ilyen szerkezetű rendszert. [28] [30]
31
8. ábra Detektálás vállalati szinten
A vírusirtók alapvetően két módszert alkalmazva próbálják felismerni a kártékony
programokat.
• lenyomat alapján, másképpen nevezve szekvencia vagy szignatúra alapján
• heurisztikus eljárás alapján
Lenyomat, szekvencia, szignatúra alapján
A kártékony kódot felhasználva egy lenyomatot készítenek, és a víruskereső programok ezt
a mintát keresik a file-okban. A különböző vírusirtó programok más és más szekvenciát
használnak és különböző algoritmusok alapján dolgoznak, ezért tapasztalható olykor
jelentős különbség a vírusirtó szoftverek hatékonysága terén. A módszer előnye a
gyorsaság, hátránya, hogy csupán a már ismert, korábban már észlelt kártékony kódok
ellen nyújt védelmet. [28] [30]
Heurisztikus eljárás alapján
Ez a módszer még akkor próbálja meg észlelni a kártékony kódokat, amikor azok még nem
ismeretek, algoritmus, lenyomat még nem készült hozzá. Az alkalmazás nem a
lenyomatokat vizsgálja a file-okban, hanem kódokra és eseményekre alkalmazott
szabályok pontozása alapján számít ki egy értéket, majd ez alapján eldönti, hogy a file
tartalmaz-e kártékony kódot vagy nem. Ezért a heurisztikus eljárások előnye, hogy olyan
32
kártékony kódokat is felismerhet, amelyek még a vírusirtók adatbázisában még nem
szerepel, amelyekre szignatúra még nem készült. Hátránya, a korlátozott megbízhatóság
(sok false pozitív találat), valamint az aránylag alacsony feldolgozási sebesség.
A felhasználószintű védekezés hasznos a botok felismerésében és segíthet a zombi
hálózatok visszaszorításában, azonban ez nem nyújt elegendő védelmet a bothálózatok
ellen, mert a botgazdák a védelmi szoftverek előtt járva egy lépéssel olyan módszereket
alkalmaznak, amelyekre a védelmi szoftverek, eszközök még nem készültek fel. [28] [30]
7.7.2 Hálózati szinten
A hálózat szintű észlelés esetében az egész hálózatot vizsgáljuk, úgymond monitorozzuk,
figyeljük a forgalmát és ezt elemezve állapíthatjuk meg, hogy a hálózatunk fertőzött-e
vagy nem. Ennek a módszernek a nagy előnye az, hogy felhasználótól és botok kódjától,
változatától teljesen független, így forgalmi mintával ismert botok is kiszűrhetőek. A
forgalomból megfelelő ismeretekkel következtetéseket lehet tenni a támadó kilétére. A
hálózat szintű módszer több részre osztható, leggyakrabban használt eljárások a
csapdagépek és csapdahálózatok (honeypotok és honeynetek) és a behatolás detektáló
rendszerek (IDS). [8] [28] [30]
IDS Behatolás detektáció (Intrusion Detection System)
A behatolás detektálón olyan eljárások gyűjteménye, amely automatikusan képes jelezni a
gyanús tevékenységeket a hálózatban és a számítógépben. Az IDS hálózati szinten a
csomagokat vizsgálja, de működhet lenyomatok, szignatúrák alapján, illetve használhat
heurisztikus módszereket is. [28] [30]
Honeypotok és honeynetek
Ezek olyan eszközök, amelyek teljesen átlagos számítógépnek, hálózatnak álcázzák
magukat a külvilág számára, de valójában csapdaként működnek. Ilyen csapdákat
helyeznek el a rendszergazdák a hálózatuk környezetében. Ha a rosszindulatú kód
megfertőzi ezt az eszközt, akkor ennek analizálásával, elemzésével hibákat lehet keresni,
lenyomatokat lehet készíteni, viselkedés-módot lehet feljegyezni. Ezeket a csapdagépeket
kategorizálni szokták interakciós szintjük szerint, általában három kategóriát állítanak fel
alacsony, közepes és magas interakciójú. [8] [28] [30]
Alacsony
Ezen a szinten a csapda szinte semmit nem enged meg a rosszindulatú kódnak (bot kliens).
Elfogadja a támadást jelentő adatokat, de további lehetőségeket nem enged meg. Ez a fajta
interakció arra szolgál, hogy a támadóról adatokat gyűjtsenek. [28] [30]
33
Közepes
Ez a fajta interakció a két szint között helyezkedik el. Megengedi a támadónak, hogy a
rosszindulatú kódot (bot klienst) eljutassa a csapdagépre, de a működtetését és futtatását
csak emulálja, így a támadó adatait anélkül tudjuk meg, hogy a bot kliens valójában
működne. [28] [30]
Magas
Elfogadja a támadást jelentő adatcsomagokat és további lehetőségeket is engedélyez, így a
támadó futtatni és működtetni tudja a rosszindulatú kódot. Ezen a szinten már nem csak
adatgyűjtés a cél, hanem pontos képet alkotni egy-egy bot kliens működéséről, vezérléséről
vagy akár a titkosítás folyamatáról. [28] [30]
Naplófájlok és hálózati forgalom analízise
Megfelelő szintű informatikai ismeretek birtokában, elegendő lehet a switchek és a
routerek naplófájljainak vizsgálata is, a hálózat fertőzöttségének felismeréséhez. A mai
modern hálózati eszközök naplófájljaiban nem csupán a hálózati forgalom adatai
szerepelnek, hanem a támadások, támadási kísérletekről szóló riasztások is. [28] [30]
Egyéb megoldások
A fent említett módszereken kívül még van néhány kísérleti fázisban lévő technika, amit
alkalmazni szoktak zombi hálózatok felderítésére:
Az IRC szervereken működő parancs csatornák figyelése. Ezzel a módszerrel csak azokat a
bot klienseket lehet kiszűrni, amelyek ezt a technikát használják. Az IRC forgalmát nem
csak a csatornán folyó beszélgetéssel lehet vizsgálni, hanem a kliensekhez közel, a hálózati
kommunikáció vizsgálatával is. Statisztikai módszerek segítségével megkülönbözethető a
valós személyek (emberek) és a botok kommunikációja. Ennél a módszernél viszonylag
egyszerű a feladat, mert egy központi egységhez (vezérlő panelhez) csatlakozik az összes
bot kliens.
A másik technika a P2P botok észlelésére lehet megoldás, kihasználva azt, hogy a botok
egymással kommunikálnak, ezért egy port-nak mindig nyitva kell lenni a bot kliens
számára, amin keresztül adatokat tud fogadni más klienstől. Természetesen egy port nem
köthető teljes bizonyossággal egy bot klienshez, ezért a sikertelen kapcsolódások
figyelésével kiszűrhető, mert a P2P botok címlistájában szereplő hibás címek miatt
gyakran sikertelen a kapcsolódás. Ezen kívül, ha több host is próbál ugyanarra a fix IP
címre csatlakozni, akkor az is gyanús viselkedésre utalhat. [28] [30]
34
8 Zeus
8.1 Zeus ismertetése
A Zeus egy trójai vírus, egy botnet, amelyet más néven Zbot-nak is szoktak nevezni a
világhálón. Ez egy olyan káros kódot tartalmazó (malware) csomag, amelynek a
forráskódja könnyen beszerezhető az interneten, vagy akár a már kész botnet hálózatokat,
zombi hálózatok is bérelhetőek. (ld. 6. fejezet Mennyibe kerül egy botnet?). Mint ahogy a
botok többsége, a Zeus is a (MiB=Man in the Browser) fajta támadási stílust részesíti
előnyben és használja. [24] [25] [26]
Zeus születése
A Zeus kártékony kódot először 2007-ben azonosították, de széleskörű elterjedése csak
2009-ben következett be. Ekkorra már a Prevx biztonsági cég jelentése szerint több mint
74.000 FTP felhasználói fiókot fertőzött meg olyan cégeknél (a teljesség igénye nélkül),
mint a Bank of America, NASA, Oracle. A Zeust valószínűleg egy orosz származású
fejlesztő vagy fejlesztő csapat találta ki és készítette el, de erre csupán a kódban található
orosz nyelvű megjegyzések utalnak. [40]
Azért lett olyan népszerű ez a kártékony kód a kiberbűnözők körében, mert úgy hirdették
magukat, mint egy sikeres eszköz, amely segítségével online hitelesítő adatokat lehet
megszerezni. A Zeus-t eleinte adathalászatra használták, később a zombi hálózat további
előnyeit is elkezdték kiaknázni, hogy minél nagyobb haszonra tegyenek szert a
kiberbűnözők. Ilyen lehetőségek voltak a DoS és a DDoS (szolgáltatás megtagadás)
támadások, spam levélküldés.
2011-ben nyilvánosságra hozták a Zeus forrás kódját, aminek eredményeként több száz
Zeus változat jelent meg az interneten. [24] [25] [26]
Célzott operációs rendszerek
Eredetileg a Zeus csak Microsoft Windows operációs rendszereken működött egészen
2012-ig, amikor a Kaspersky Lab kutatói rábukkantak a Zitmo (Zeus in the mobil)
kártékony kódra, ami egy Zeus változat. Ezzel a trójai vírussal megfertőzhetőek Symbian,
Windows Mobil, Blackberry, Android operációs rendszerrel működő okos telefonok is.
A vizsgálatokat kizárólag Microsoft Windows operációs rendszeren működő változatával
végeztem. [14]
35
8.2 Zeus céljai és funkcionalitása
A fő célja a Zeus-nak, hogy interneten keresztül a meghatározott parancsokat, amelyeket a
botgazdától kap, végrehajtson. A botgazda a Zeus-t használva olyan információkhoz jusson
vagy olyan feladatokat lásson el, amelyet a botgazda megrendelésre teljesít vagy későbbi
értékesítés során ad el. A saját haszon növelése érdekében cselekszik a botgazda. [24] [25]
[26]
A Zeus-nak 4 fő képessége van:
• Összegyűjti a rendszer információkat,
• Ellopja a védett és eltárolt adatokat (pl.: FTP, POP3 jelszavak),
• Ellopja az online személyes adatokat, jelszavakat, speciális konfigurációs fájlokat,
• Csatlakozik a parancs és vezérlő (command és control) szerverhez, majd további
feladatokat hajt végre.
Rendszer információk összegyűjtése
Alapértelmezetten a Zeus automatikusan összegyűjti a különböző rendszerek adatait és
továbbítja azt a parancs és vezérlő (C&C) szerver felé. Az összegyűjtött információkat
adatbázisban tárolja, melyet felhasználva a botgazda speciális feladatokat képes alkotni,
illetve kategorizálni, csoportosítani is tudja a fertőzött számítógépeket. [24] [25] [26]
Ezek az információk a következő adatokat tartalmazzák:
• A bot egyedi azonosítóját
• Bot nevét
• Bot verziószámát
• Operációs rendszer verzióját
• Operációs rendszer nyelvét
• A megfertőzött gép helyi idejét
• A bot állapotát (üzemel-e)
• Utolsó jelentés idejét
• A fertőzött gép honos országát
• Fertőzött gép IP-címét
• Fertőzött gép futó folyamatait
A védett és eltárolta adatok összegyűjtése
Kétféle módszerrel hajtja végre:
36
• A bot létrehozásánál a botgazda beleintegrálja a bot bináris kódjába azokat az
intézkedéseket és cselekvéseket, amiket a bot automatikusan végre kell hajtson.
• A bot felveszi a kapcsolatot a C&C szerverrel és onnan letölti a bot config fájlt, ami
tartalmazza azokat az intézkedéseket, parancsokat, amelyeket automatikusan kell
végrehajtania.
Miután a bot aktiválásra került, végrehajtja azokat a feladatokat, amelyeket parancsba
kapott és elvégzi az automatikus feladatokat is. Automatikusan ellopja a PSTORE,
Protected Storage-okat, amelyek általában tartalmazzák az Internet Explorer mentett
jelszavait, könyvjelzőit, és automatikusan rögzíti az FTP és POP3 levelezés jelszavait.
A konfigurációs fájl magába foglalja a különböző parancsokat, amelyek lehetnek:
• url_loader: Frissítés helye, címe a bot számára
• url_server: parancs és vezérlő (command and control) szerver helye, címe
• AdvancedConfigs: Alternatív URL cím, ahol a bot megtalálja a konfigurációs fájlt
• Webfilters: Egy szabványosított URL listát tartalmaz, amelyet a botgazda
figyelemmel tud kísérni. Minden adatot elküld a bot az URL-ről, amelyek olyan
adatokat tartalmazhatnak, mint például: online banki meghatalmazások,
visszaigazoló jelentések vagy másodlagos azonosításra szolgáló kódok. Az adatok
rögzítése még az SSL titkosítás előtt megtörténik, így hiába kommunikál a
felhasználó a bankkal titkosított csatornán, ettől függetlenül sikerül a botnak
minden személyes információt megszereznie. Továbbá, lehetőséget biztosít a
botgazda részére képernyőkép mentésére (screenshot-ra) is.
• WebDataFilters: Ez egy olyan web adat szűrő szabvány lista az URL-ekről, amely
tartalmazza azokat a szöveg sablonokat és mintákat, amelyek az adott weboldalon a
botgazda számára releváns tartalommal bírhatnak. (pl.: password, login).
• WebFakes: A bot a megadott URL-t átirányítja a saját URL-re, ami általában az
eredeti oldal módosított másolata.
• TANGrabber: A tranzakció hitelesítési szám, TAN (Transaction Authentication
Number) az online banki tranzakciók hitelesítésére szolgál. Köznyelven ezt két-
faktoros hitelesítésnek nevezik. Ez egy egyszer használatos kód, amely segítségével
tranzakciót lehet végrehajtani. A TAN nélkül nem lehet semmilyen tranzakciót
végrehajtani, ezért a bot képességei közé tartozik ennek a biztonsági kódnak az
ellopása is, amelyet ha a bot megszerez, elküldi a C&C szervernek.
37
• DNSMap: Egyedileg hozzáadott Host fájl, amely arra szolgál, hogy a gyakran
használt biztonsági oldalakat (pl.: antivírus gyártok oldalai) a felhasználó számára
elérhetetlenné tegye. A botgazdák általában a felhasználót egy hamis oldalra
irányítják át.
• file_webinjects: Ez a web oldal befecskendezési (Web Page Injection) technika:
megváltoztatja az online bankozásra alkalmas weboldal szerkezetét. A
felhasználótól a későbbi támadáshoz szükséges, de a bank által soha nem igényelt
azonosítókat kér be a weboldalon (pl.: PIN kód). A weboldal ettől függetlenül
tökéletesen működik, teljes mértékben ellátja azokat a funkciókat, amire az eredeti
oldal is hivatott. A 9. ábrán látható az eredeti és egy módosított weboldal.
9. ábra Hamis web oldal injekcitó
Funkcióját tekintve a két weboldal azonos, egyetlen különbség a módosított oldalon
megjelenő PIN mező. [24]
További feladatok
A bot aktív állapotban képes egyéb feladatokat is ellátni. A kódba ágyazott parancsokat a
botgazda a C&C szerveren keresztül aktiválja. [24] [25] [26]
Elérhető parancsok a Zeus-ban:
• Reboot: számítógép újraindítása
• Kos: törli a rendszer fájlokat, ezzel tönkreteszi az operációs rendszert
• Shutdown: Számítógép leállítása
• Bc_add: „hátsó ajtó” (backdoor) nyitását teszi lehetővé a szerver felé, így teszi
lehetővé korlátlan parancsok végrehajtását
• Bc_del: törli a backdoor kapcsolatot
• Block_url: blokkolja a hozzáférést bizonyos URL címhez
• Unblock_url: visszaállítja a hozzáférést a blokkolt URL címhez
38
• Block_fake: a hamis HTML oldal használatának tiltása, amely megfelel a
meghatározott oldalnak, URL-nek
• Unblock_url: a hamis HTML oldal használatának engedélyezése, amely megfelel a
meghatározott oldalnak, URL-nek
• Rexec: töltse le a szerverről a fájlt és futtassa
• Lexec: futtat egy helyi fájlt
• Lexeci: futtat egy helyi fájlt, amit a felhasználó használ
• Addsf: hozzáad egy fájl maszkot, a helyi kereséshez
• Delsf: eltávolítja a fájl maszkot, a helyi keresésből
• Getfile: feltölt egy fájlt vagy mappát
• Getcerts: ellop valamilyen digitális tanúsítványt
• Resetgrab: ellop valamilyen információt a PSTORE (Protected storage)-ből vagy
valamilyen cook-it
• Upcfg: frissíti a konfigurációs fájlt
• Rename_bot: átnevezi a bot-ot
• Getmff: feltölti a flash cookie-kat
• Delmff: törli a flash cookie-kat
• Sethomepage: megváltoztatja az Internet Explorer kezdőlapját
8.3 Káros kódot tartalmazó csomag (malware package)
A Zeus kártékony kód csomagot a „https://github.com/Visgean/Zeus” oldalról töltöttem le.
Ez a 2011-ben nyilvánosságra hozott verzió, a 2.0.8.9-es verzió számú Zeus változat. Ez a
csomag egy alap Zeus-t tartalmaz, amelyben megtalálhatóak a szerver oldalhoz szükséges
fájlok és a kliens oldalhoz szükséges fájlok is, ezen kívül még tartalmazza az alkalmazások
forráskódjait is.
8.4 Zeus elterjedése
Közel minden országban található Zeus trójai vírussal fertőzött számítógép, illetve
valamilyen Zeus változatú bot hálózat. A világ országai közül a legjelentősebb és
legnagyobb botnet hálózatok országai az Amerikai Egyesült Államok, Egyiptom, Mexikó,
Szaúd-Arábia és Törökország. Még ide lehet sorolni az Európai Uniót is ahol több ország
is veszélyeztetett. A bot megtalálható világszerte, és így továbbra is következetesen terjed
tovább a kompromittálható, védtelen számítógépekre.
39
10. ábra Fertőzöttség elterjedése a világban
A 10-es ábra bemutatja a Zeus földrajzi eloszlását a Symantec felmérése alapján. [24]
8.5 Zeus telepítése és beüzemelése
A letöltött Zeus állományok közül három mappa tartalmára kell nagyobb figyelmet
fordítani:
• source/server[php]
• output/builder
• geobase
server[php] mappa tartalma
Ez tartalmazza a szerver oldalhoz szükséges alap fájlokat. Ezek a fájlok önmagukban nem
elegendőek a Zeus szerver beüzemeléséhez, mert a forrás fájlok sok rejtett hibát
tartalmaznak. Ebben a mappában található a vezérlő panel (control panel) amin keresztül
irányíthatjuk és ellenőrizhetjük a botokat.
builder mappa tartalma
Ebben a mappában találhatóak a bot kliens elkészítéséhez szükséges fájlok. Egy egyszerű
kis program segítségével tudjuk elkészíteni a bot kliensünket, amelyet majd később
eljuttatunk az áldozatainknak.
geobase mappa tartalma
Ez tartalmazza a szerver telepítéséhez szükséges térinformatikai adatokat, azaz az IP címek
kiosztását a nagyvilágban. Ez alapján határozható meg a fertőzött számítógép mely
40
tényleges földrajzi helyzete (ország pontossággal). A botgazda ez alapján tudja
bekategorizálni, csoportokba szedni a zombi gépeket. A "Mennyibe kerül egy botnet?"
című fejezetben részletesen taglaltam, hogy miért is fontos a zombi gépek földrajzi
helyzete.
8.5.1 Szükséges eszközök, előkészület
Ahhoz, hogy a Zeus működését be tudjam mutatni szükségem volt egy kisebb hálózatra,
amit egy úgy valósítottam meg, hogy beüzemeltem néhány virtuális számítógépet, ezzel
emuláltam az igazi környezetet.
6 db virtuális számítógépre volt szükségem:
• 1 db Linux operációs rendszert futtató számítógép
• 5 db Windows operációs rendszert futtató számítógép
Linux
A linux-os számítógépen a bot szerver üzemeltetését kellet megoldanom, ehhez egy
Backtrack 5 R3 V2 Linux operációs rendszert használtam fel, mert ez egy tökéletes ubuntu
alapú linux operációs rendszer, ha olyan feladatokat kell ellátni, mint hálózat figyelés,
analizálás [2], SQL adatbázis használata, stb. A hackerek és penetration teszterek egyik
kedvelt operációs rendszere.
A szerver (Backtack Linux) operációs rendszer IP címe: 192.168.56.103
Windows
A Microsoft Windows-os operációs rendszerrel ellátott virtuális számítógépekből 2 db
Windows XP és 3 db Windows 7 volt. Ezek a gépek voltak az áldozataim, vagyis ez az 5
gép alkotta a kisvállalati hálózatot. Az egyik XP-s gép nem csak áldozat szerepkörét
töltötte be, hanem azon generáltam le a bot klienst is.
A Windows-t futtató számítógépek IP címei:
• 192.168.56.105 (Microsoft Windows XP operációs rendszerrel)
• 192.168.56.106 (Microsoft Windows 7 operációs rendszerrel)
• 192.168.56.107 (Microsoft Windows 7 operációs rendszerrel)
• 192.168.56.108 (Microsoft Windows 7 operációs rendszerrel)
• 192.168.56.109 (Microsoft Windows XP operációs rendszerrel)
41
8.5.2 Szerver beüzemelése
A Zeus beüzemelés részben bemutatom pontról - pontra, hogy sikerült beüzemelnem ezt a
kis kártékony programot (fenevadat), majd utána bemutatom a működését és végül
analizálom a tevékenységét. Majd a szakdolgozat vége felé bemutatom, hogy milyen
módszerekkel lehet ellene védekezni.
mySQL adatbázis beüzemelése
Szükségem volt egy gépre, amelyen be tudom üzemeltetni a Zeus szerver részét, ehhez egy
Backtrack 5 R3 V2 Linux operációs rendszert választottam, mert ebbe az operációs
rendszerben minden olyan segédeszközt megtalálok, amelyre szükségem lehet a program
beüzemeléséhez és későbbi használatához, analizálásához. A Zeus szerverhez szükségem
volt egy mySQL szerverre, apach-ra, phpmyadmin-ra, PHP modulra. A beüzemelés
folyamatát lépésenként fogom bemutatni.
Első lépés.
Első lépésként fel kellet másolnom a Zeus szerverhez szükséges forrás fájlokat a megfelelő
helyre, ez a server[php] mappa tartalma volt. Nagyon fontos, hogy a felmásolt forrás
fájloknak meg kell adni a teljes hozzáférést, ezt linux-ban a "chmod 777 www" paranccsal
tudjuk megtenni, ahol „www” a mappa neve.
11. ábra Vezérlő panel fájlok a szerveren
42
A mappa 3 fontos fájlt tartalmaz:
• install/index.php
• cp.php
• gate.php
install/index.php
Az index.php szkript segítségével tudjuk feltelepíteni a vezérlő panelt (control panel) majd
beállítani a megfelelő paramétereket a számítógépen.
cp.php
Ez a vezérlő panel (control panel), itt tudjuk majd irányítani a botokat.
gate.php
A zombi gép ezen a kapun keresztül kommunikál az iránytó központtal (control panel-el).
Második lépés
A Zeus forráskódjának megfelelő helyre való másolását követően megkezdhetjük a vezérlő
panel (control panel) telepítését. Böngészővel (pl.: Mozilla Firefox) megnyitjuk az
install/index.php oldalt és futtatjuk a php szkriptet. Eredményül a 12. ábrán látható,
forbidden üzenetet kaptam. Egyértelmű, hogy a szkript hibás.
12. ábra Második lépés, telepítési hiba
Mivel a hiba a szkript-ben van, ezért Linuxban megkerestem az apache error.log fájl-t és
kiolvastam a hibaüzenetet. A 13. ábrán látható, hogy szintaktikai hiba van az index.php
szkript 115 sorában.
13. ábra Második lépés, hibakeresés
43
A hiba a szkriptben itt rejtőzik!
14. ábra Második lépés hiba kijavítása
A 14. ábrán látható, hogy a problémát a jabber okozza, ezt a protokollt használja a Zeus
arra, hogy ha másodlagos biztonsági kóddal rendelkezik az áldozat, akkor ezt a kulcsot is
megszerzi és elküldi a vezérlő panel adatbázisának. Ennek a funkciónak a fejlesztése még
nem zárult le ebben a Zeus verzióban, de a működése nem befolyásolja a Zeus működését
és funkcióit, ezért ennek a hibának a javítására nem fordítottam figyelmet. (Ez a szkript
rész lenne felelős azért, hogy létrehozza a megfelelő tárhelyet a jabber segítségével
megszerzett kulcsoknak, hogy ezekből a kódokból riportot lehessen készíteni.) Azokat a
részeket, ahol ezt a protokoll-t használja a Zeus, egyszerűen kiveszem a kódból, mert
számomra ez a működés irreleváns. A vezérlő panelnek (control panel) telepítése közben
számos olyan jellegű hiba várható, ami erre a jabber hibára vezethető vissza.
Harmadik lépés
A Firefox böngészőablak frissítését követően egy üres ablakot kaptam vissza. Ismét
megnézzük az apache2/error.log-ot (15. ábra), ahol újból egy szintaktikai hibát taláhatunk,
de most nem az install/index.php szkriptben van a hiba, hanem a system/global.php szkript
kód 402-es sorában.
15. ábra Harmadik lépés hibakeresés
A kódrészletben látható (16. ábra), hogy egy újabb jabber-hez kapcsolódó rész van a
kódban. Az előzőekkel analóg módon ismét egyszerűen kikommentelem a php kódból a
hibás sorokat. (Itt azokat tároló részeket hozná létre a Zeus, ahol eltárolná a jabber-el
elfogott azonosítókat és a hozzá tartozó egyéb adatokat. Pl.: felhasználónév, jelszó, szerver
neve, kommunikációs port száma, fogadó fél megnevezése, egyéb listák és szkriptek.)
44
16. ábra Harmadik lépés hibajavítás
Negyedik lépés
A Firefox böngészőt frissítését követően, ismét csak egy üres lapot kapunk válaszul.
Figyelembe véve, hogy nem jelent meg újabb hibaüzenet, valószínűleg még lehet hiba az
előző szkript-ben. A 17. ábrán látható az apache2/error.log fájl ahol kaptam egy újabb
hibaüzenetet, miszerint a PHP szkriptünk végzetes hibába ütközött. Ahogy azt vártuk, még
mindig van problémánk a system/global.php kódunkkal. A hibaüzenet szerint a 22. sorban
van a hiba.
17. ábra Negyedik lépés, hibakeresés
Az előző két jabber hibát megvizsgálva (18. ábra) látható, hogy a fejlesztő EVAL
megnevezéssel kommentelve helyezte el a jabber kód részt. A kód itt definiálná a bot
kliens verzióját az adatbázis részére. Ahogy a többi kódrészletnél is tettük, ezt is
kikommentezem.
18. ábra Negyedik lépés, hibajavítás
45
Ötödik lépés
Örömmel tapasztalom, hogy a böngésző frissítés után nem hibaüzenetet és nem egy üres
lapot ad vissza, hanem a vezérlő panel (control panel) telepítőjét (19. ábra).
19. ábra Vezérlő panel telepítési ablak
A vezérlő panelen található mezők (19. ábra):
Root user (rendszergazda felhasználó)
• User name: botgazda egyedi felhasználói neve
• Password: az egyedi felhasználónévhez tartozó jelszó
MySQL server (mySQL szerver)
• Host: itt kell megadni a mySQL adatbázis címét, ebbe az adatbázisba küldi a bot
kliens a megszerzett információkat.
• User: az adatbázishoz tartozó felhasználónév, amely segítségével majd a vezérlő
panel adatbázisát telepíteni tudja.
• Password: az adatbázis felhasználónevéhez tartozó jelszó.
• Database: az adatbázis neve, ide kerülnek az adatokhoz szükséges táblák.
Local folders (helyi könyvtár)
46
• Reports: a riport könyvtár neve. Ez a szerver gép merevlemezén található,
alapértelmezetten a _reports mappanevet ajánlja fel a telepítő.
Options (beállítások)
• Online bot timeout: Ez a beállítás arra szolgál, hogy a bot kliens és a szerver közötti
kommunikációs idő mennyi, ez alapján dönti el a szerver, hogy a bot kliens online
(aktív) vagy offline (inaktív). Ha a bot kliens aktív, akkor rögtön hadba lehet
állítani, tehát feladatokat tud végrehajtani. Ha inaktív, akkor nem elérhető így
aktuális feladatok ellátására alkalmatlan a bot.
• Encryption key: Ez az egyik legfontosabb beállítás a vezérlő panelen. Ezt a kulcsot
használja titkosításra a bot kliens és a szerver közötti kommunikációhoz. Ha ezt a
kulcsot nem ismerjük, akkor a bot kliens nem fog tudni csatlakozni a
szerverünkhöz. A megfertőzött gép egy működő zombi gép lesz, az előre beállított
feladatokat el fogja végezni, azonban irányítani, parancsot kiadni a zombi gépnek
nem lehet és a megszerzett adatokat sem lesz képes a szerver felé továbbítani.
Úgynevezett önmagában működő zombi számítógép lesz, akinek nincs gazdája.
A szövegdoboz alján található két jelölő négyzet segítségével adhatjuk meg, hogy az
elkészült riportok hol tárolódjanak el, adatbázisban és/vagy helyi meghajtón.
47
Vezérlő panel (Control panel) beüzemelése
A vezérlő panel telepítője most már működőképes, így elkezdtetjük a vezérlő panel
telepítését. Létrehozhatjuk az adatbázisunkat a szerveren, ahová majd eltároljuk az
eltulajdonított és megszerzett információkat.
Hatodik lépés
A vezérlő panel telepítő felületén kitöltjük a szöveg dobozokat a megfelelő adatokkal és
rákattintunk az install (telepítés) gombra. Sajnos a válasz nem az amire vártam, újabb
hibába ütköztem.
20. ábra Vezérlő panel telepítési ablak kitöltése
A 21. ábrán látható a hibaüzenet, amit a vezérlő panel telepítése közben kaptunk.
21. ábra Hatodik lépés hibakeresés
A 21. ábrán láthatóak a telepítési lépések. Az első három feladatot sikeresen elvégezte a
telepítő, miszerint sikeresen csatlakozott az adatbázishoz a root felhasználóval,
kiválasztotta a cpdb adatbázist és létrehozta a botnet_list táblát az adatbázisban.
A negyedik sorban látható a hibaüzenetet, miszerint SQL hiba lépett fel. A
BOT_ID_MAX_CHARS változó értéke nulla (null). Az install/index.php kódjában nem
található ilyen változó deklaráció, ezért ezt pótolnom kellet.
48
22. ábra Hatodik lépés hibajavítás
A 21. ábrán látható az is, hogy ez a változó egy varchar, vagyis egy karakter típusú
változót kell deklarálnom, melynek a hossza 255 karakter lehet.
23. ábra Hiba javítása, változó definiálása
A 25. sorban deklarálom a define paranccsal a BOT_ID_MAX_CHARS változót. (23.
ábra)
Hetedik lépés
A telepítés ismételt elindítását követően újra hibába ütközök. Az apache2/error.log fájlban
megnézem a hibaüzenetet
24. ábra Hetedik lépés hibakeresés
Mint ahogy azt a 24. ábra is mutatja, az előző lépésben bemutatott hibához hasonló hiba
merült fel. Ezúttal a BOTNET_MAX_CHARS változó nincs deklarálva. Az előző lépéshez
hasonlóan hozom létre ezt a változót is. (25. ábra).
25. ábra Hetedik lépés hibajavítása változok definiálása
49
Nyolcadik lépés
A vezérlő panel telepítésének újabb kísérletét követően egy újabb hiba jelentkezett.
(26.ábra).
26. ábra Nyolcadik lépés hibakeresése geobase.txt
A negyedik telepítési lépés létrehozott az adatbázisban egy botnet_reports nevezetű táblát.
Ide fogja gyűjteni majd a bot kliensektől érkező riportokat. Majd ötödik lépésként,
létrehozott egy ipv4toc nevű táblát is, ami világ IPv4 címek felosztását fogja tartalmazni.
A hiba ehhez a táblához fűződik, mert nem tudja megnyitni a geobase.txt nevű fájlt, ami
tartalmazza az országok IPv4 címeinek felosztását. Ezt a fájlt egyszerűen letölthetjük az
internetről is, de használható az is, amit a Zeus forráskódja mellé kapcsoltak. Én a Zeus
forráskódja mellet található geobase.txt fájlt használtam. Ezt a fájlt kell bemásolni a
vezérlő panel mappájában. Ezzel ezt a hibát ki is javítottam, így újból elkezdhetjük a
vezérlő panel telepítését a már megszokott install gomb segítségével.
27. ábra Adatbázis sikeres telepítés vége
A 27. ábrán látható, hogy ez a rész teljesen lefutott, sikeresen tudtam telepíteni a vezérlő
panelhez szükséges részeket, az adatbázisban létrejöttek a nekünk szükséges táblák. A
telepítési lépéseket végignézve látható, hogy sikeresen feltöltötte az ipv4toc táblát a
geobase.txt-ben lévő adatokkal és ezen felül még frissíttet három táblát, amire szükségünk
lesz még később. Létrehozott egy _reports mappát a szerveren a riportoknak, arra az esetre
ha az adatbázis elérhetetlen lenne.
50
Kész a vezérlő panelhez szükséges adatbázis, most már tudom hol tárolni a bot kliensek
által küldött információt, már csak a vezérlő panel kezelőfelületét kell beüzemelni. De
előtte még bemutatom a mySQL adatbázisba létrehozott cpdb adatbázis részeit.
mySQL adatbázis
A botnet_list tábla tárolja és tartalmazza azokat az adatokat, melyek a bot kliens
azonosítására és csoportosítására alkalmasak. Például, a bot_id a bot egyedi azonosítója.
Ebből mindig csak egy van, a többi csoportosításra alkalmazható. Ilyen csoportosításra
alkalmas adat például a bot verziója (bot_version), IP cím (ipv4), ország (country), vagy
akár az operációs rendszer verziója a megfertőzött gépen (os_version). (28. ábra).
28. ábra mySQL adatbázis botnet_list tábla
51
A 29. ábrán látható a botnet_riports tábla, ahol olyan adatok vannak, amelyekből a riportok
készülnek a botgazda részére. Itt csak a releváns információk találhatóak.
29. ábra mySQL adatbázis botnet_reports tábla
52
A botnet_scripts tábla (30. ábra) tartalmazza azokat a kiegészítő funkciókat és szkripteket a
bot kliensekhez kötve, amelyeket használunk. Olyan általános információkat találhatunk itt
a bot kliensről, melyek segítségével beazonosítható, hogy melyik bothoz melyik szkript
tartozik.
30. ábra mySQL adatbázis botnet_scripts tábla
53
A botnet_scripts_stat tábla (31. ábra) statisztikai adatokat tartalmaz az egyes botokon
működő szkriptekre vonatkozóan. Ezen adatokat felhasználva később a vezérlő panel
segítségével a szkriptek hatékonysága mutatható ki statisztikai módszerekkel.
31. ábra mySQL adatbázis botnet_scripts_stat tábla
54
A cp_user tábla (32. ábra) a vezérlő panel felhasználóinak az adatait tartalmazza.
32. ábra mySQL adatbáziscp_users tábla
55
Az ipv4toc tábla (33. ábra) tartalmazza a geobase.txt adatait, vagyis az országok IP cím
kiosztását. Ez alapján tudja meghatározni a vezérlő panel, hogy a zombi gép mely
országban található. Ez nyújt segítséget a botgazdának, hogy egy-egy országra
vonatkozóan milyen támadási lehetőségek vannak, illetve milyen információt érdemes
eltulajdonítani.
33. ábra mySQL adatbázis ipvtoc tábla
56
Kilencedik lépés
Az előző részekben sikerült a vezérlő panelhez az adatbázist létrehozni, most a vezérlő
panel kezelőfelületét kell működésre bírni. A vezérlő panel az én szerveremen, a
var/www/cp.php helyen található. A kezelőfelületet a 127.0.0.1/cp.hu címen keresztül
érhető el. A 34. ábrán látható, hogy ismét csak egy üres lapot mutat a böngésző.
34. ábra Firefox válasz a cp.php megnyításkor
Ez arra utal, hogy valami hiba van a cp.php szkriptben is, a már előzőekben is használt
hiba keresési módszerekkel megpróbálom kideríteni a hiba okát, okait. A 35. ábrán látható
az apache2/error.log fájl-ban a hibaüzenet, miszerint a cp.php szkript 147. sorában
található a hiba.
35. ábra Kilencedik lépés hibakeresés
A kód vizsgálata során látható, hogy a már előzőekben felfedezett jabber protokoll hibával
állunk ismét szembe. Láthatjuk, hogy a kód szeretne létrehozni 2 darab tömböt, amiben
a jabber-ből származó riportokat tárolná. Az előzőekhez hasonlóan, egyszerűen
kikommentelem a kódrészletet.
36. ábra Kilencedik lépés hiba javítása
57
Tízedik lépés
A 127.0.01/cp.php ismételt megnyitási kísérletekor újra egy üres lapot kapunk vissza a
böngészőtől. Tovább elemezve az apache2/error.log fájlt azt tapasztalom, hogy a
system/lng.en.php fájl 94. sorában is van egy hiba.(37. ábra).
37. ábra Tízedik lépés hibakeresése
A system könyvtárban találhatóak azok az összetevők, amelyek kellenek a vezérlő panel
működéséhez. Az egyik ilyen fájl a lng.en.php szkript is, melynek a nevéből
következtethetünk , hogy ez egy nyelvi csomag kiegészítő fájl lehet. Amikor megnyitom a
system/lng.en.php szkript-et és megnézem a 94. sorát, ahol a hiba található (38. ábra)
felismerhető, hogy a hibát ismételten a jabber protokoll okozza. Ebben a részben definiál
egy LNG_MM_REPORTS_JN változót, ami a jabber segítségével létrehozott riportok
nyelvezetét állítaná be. A már megszokott módon javítjuk ezt a hibát, egyszerűen csak
kommentelem ezt a részt a kódban.
38. ábra Tízedik lépés hiba javítása
A hiba javítását követően megjelent a vezérlőpanel bejelentkező képernyője a
böngészőablakban. (39. ábra).
Vezérlő panel bemutatása
A vezérlő panel a bejelentkező ablakkal indul (39. ábra). Az alapértelmezett URL, ahol
megtalálható a vezérlő panel http://[SZERVER]/cp.php.
39. ábra Vezérlő panel bejelentkező képernyő
A telepítés során megadott authentikációs adatokkal (user: admin, password: Qwer1234)
belépve a 40. ábrán látható menüsávot érjük el.
58
40. ábra Vezérlő panel menü
A menü hat részre bontható:
• Információ (Information): Ez nem egy válaszható menü, csak információt ad a
felhasználónak (bejelentkezett felhasználó, pontos dátum és idő).
• Statisztikák (Statistics): Itt találhatóak a bot kliensekkel kapcsolatos információk és
statisztikák (41. ábra).
41. ábra Vezérlő panel információk menü
o Összefoglalás (Summary):
Információs doboz:
� Összesen hány riport található az adatbázisunkban.
59
� Mikor jelentkezett az első bot kliens a vezérlő panelnek.
� Összesen hány bot kliens jelentkezett a vezérlő panelnek.
� Összesen hány aktív bot kliens van.
� Milyen verziójú botokkal kommunikál a vezérlő panel. A legkisebb
és a legnagyobb bot kliens verziót mutatja meg felhasználónak.
Bot kliens doboz: Megmutatja a felhasználónak, hogy hány bot kliens
áll rendelkezésre és hány új bot kliens van, amit még nem használtunk.
Ha több botunk van, akkor szűréseket alkalmazhatunk, hogy mely
botokat szeretnénk látni. lehetőségünk van visszaállítani az új bot kliens
táblát is. Ekkor az új botok tábla tartalma törlődik, így ha új gépeket
sikerül megfertőzni, akkor ebben a táblában jelenek meg az új bot
kliensek, így a felhasználó mindig tudja, ha egy új bot kapcsolódott a
rendszerhez.
o OS: Egy összefoglaló listát ad a felhasználónak arról, hogy a megfertőzött
gépeken milyen operációs rendszer van (42. ábra).
42. ábra Vezérlő panel operácios rendszer statisztika menü
• Botnet (43. ábra):
o Bot kliensek (Bots):
Szűrő (filter): Itt adhatunk meg a bot kliensekre vonatkozó szűrési feltételeket.
Csak a feltételnek megfelelő botok fognak megjelenni az eredmény (result)
dobozban. Lehetőségünk van bot névre, bot csoportra, IP címre, városokra,
NAT státuszra, online botokra, új botokra, kommentekre szűrő feltételt
létrehozni.
Eredmény (result): Itt látható a botok egyedi azonosítója (ID-ja), csoport neve,
verzió száma, a fertőzött gép IP címe, tartózkodási helye, ország megnevezése
(ez nálam nem látható, mert saját belső virtuális hálózatom van), bot közvetlen
kapcsolati ideje, a lappangási idő (latency), és a kommentek (ha vannak).
60
43. ábra Vezérlő panel botnet kliensek menü
o Szkriptek (Scripts): Megmutatja, hogy melyik szkriptet, melyik bot
használja (44. ábra).
44. ábra Vezérlő panel szkriptek listája menü
• Riportok, jelentések (Riports):
o Riport keresése az adatbázisban (search in database): Itt olyan információk
találhatóak, amelyet már a bot kliensünk elfogott. Ismételten egy szűrő
(filter) (45. ábra) és egy eredmény (result) (46. ábra) ablakkal
találkozhatunk.
Szűrő feltétel panel: Ahogy az ábrán is látható, igen sok lehetőség biztosított a
megfelelő szűrőfeltétel összeállításához. Ezzel a funkcióval kiszűrhetőek a több
tízezer (esetleg millió) zombi gép által készített jelentések közül a számunkra
érdekesek, a megfelelő prioritással rendelkezőek.
Szűrő feltételek:
� Dátum
� Bot neve
� Csoport neve
� Ip cím
� Város
61
� Jelentés típusa
� Valamilyen szöveg keresése az ellopott adatban
� Az összes utolsó egy nap jelentések megtekintése
� Csak a jelentések mutatása
� Csak a meta adatok mutatása
� Gép használatának gyakorisága
45. ábra Vezérlő panel jelentések filter menü
Eredmény doboz: A szűrőfeltételeknek megfelelő (vélhetően releváns) adatokat jeleníti
meg.
46. ábra Vezérlő panel jelentések result menü
o Riport keresése a helyi meghajtón (search in files): Hasznos lehet, ha a helyi
meghajtón tároljuk a botok által összegyűjtött információkat. A vizsgálatom
során adatbázist használtam, így ennek a funkciónak a részletes
ismertetésétől most eltekintek.
• Rendszer (system):
o Információk (Information): A vezérlő panel rendszer információit találjuk
meg ebben a menü pontban (47.ábra).
62
47. ábra Vezérlő panel információk
o Beállítások (Options): A 48. ábrán látható a beállítások menüpont. Itt
határozhatjuk meg a jelentések mentésének helyét, a zombi gép online vagy
offline beállításának idejét, és ami az egyik legfontosabb, a titkosítási
kulcsot (Encryption key), aminek ismeretével tudjuk azonosítani és
dekódolni a bot kliensek által elküldött információt.
• 48. ábra Vezérlő panel rendszer információk menü
o Felhasználó (User): A 49. ábrán látható a felhasználok menüpont. Itt van
lehetőségünk a felhasználók adminisztrálására, valamint a felhasználó által
készített képernyőképek minőségének megadására is.
49. ábra Vezérlő panel felhasználó menü
o Felhasználók (Users): Ebben a menüpontban hozhatunk létre felhasználókat
és adhatjuk meg jogosultságuk szintjét. Ez a funkció a zombi hálózatok
bérbeadásakor lehet hasznos.
• Kilépés (logout): kijelentkezés a vezérlő panelből.
63
8.5.3 Bot kliens beüzemelése
Sikeresen beüzemeltem az adatbázist és a vezérlő panelt. A bot kliens készítésével
folytatom a munkát. Szem előtt kell tartani a tényt, hogy a bot kliensünk nem csak nekünk
fogja sugározni a megszerzett információt, ezért saját adatokkal soha ne próbáljuk ki. A
vizsgálatot elszigetelten, virtuális számítógépeken, érzékeny adatoktól mentes
környezetben végezzük, így problémamentesen ismerkedhetünk a botnetek világával,
tanulmányozhatjuk, analizálhatjuk a Zeus bot működését.
A bot kliens elkészítéséhez a builder könyvtárban található zsb.exe fájlt használom. A
futtatást megelőzően el kell végezni a szükséges beállításokat a config.txt fájlban. Ez a fájl
tartalmazza azokat a beállításokat, amellyel a bot képes lesz a kommunikációra a
szerverrel. Ha ezt nem tesszük meg, akkor a bot-ot el tudjuk készíteni és működni is fog,
de tényleges kommunikáció a bot és a mi szerverünk között nem lesz.
Öt fontos beállítás van, amit mindenféleképpen be kell állítanunk az eredeti fájlban ahhoz,
hogy a bot kliens megfelelően működjön (50. ábra):
• url_config: azt az útvonalat tartalmazza, amely alapján fel tudja venni a bot kliens a
szerverrel a kapcsolatot és le tudja tölteni a bot kliens beállításokat (config.bin
fájl)-t. Ebben a fájlban találhatóak azok a beállítások, parancsok, szkriptek,
exploitok, amely segítségével a bot képes lesz utasítás hatására a megfelelő
információt megszerezni az áldozat gépéről.
• encryption_key: ezt a kulcsot használja a bot és a szerver közötti kommunikáció
titkosítására, és a bot azonosítására. Ha ezt a kulcsot nem ismerjük, akkor a bot
nem képes kommunikálni a szerverrel és nem tudunk adatot lopni az áldozat
gépről.
• url_loader: a szerveren található bot.exe fájlt használjuk további gépek
megfertőzésére.
• url_server: a szerver gépen lévő kommunikációs csatorna kiépítésére szolgáló php
szkript fájl elérhetősége, a bot kliens a gate.php fájl segítségével építi ki a
kapcsolatot a szerver és az áldozati gép között.
• file_webinject: az itt beállított fájl segítségével lehet hamis web oldalt használni,
ennek segítségével lehet olyan információkat megszerezni az áldozat gépéről,
amelyhez az alap funkciókat használva nem lennénk képesek.
64
Az URL beállításokhoz mindig azt az útvonalat, IP címet kell megadni ahol az adatbázis és
a vezérlő panel szerverünk található, ez jelenleg a http://192.168.56.103/[fájl
megnevezése] címen található.
50. ábra Config.txt fájl tartalam
A config fájl beállítását követően elindítottam a zsb.exe fájl-t, ami maga a Zeus builder
alkalmazás (51. ábra). Én a szakdolgozatomban már az elkészített builder alkalmazást
használom, de az alkalmazás forráskódja megtalálható a Zeus csomagban is.
Az alkalmazásnak három fontos része van:
• Információk (Information): a kulcs beállítása, ami alapján felismerhető a bot
kliensem.
• Bot elkészítése (Builder): a builder rész, ahol elkészíthetem magamnak a bot.exe-t
amivel fertőzni tudom a gépeket.
• Beállítások (Settings): alkalmazás nyelvét lehet beállítani.
65
51. ábra Zeus builder alkalmazás
A bot tényleges elkészítése igen egyszerű folyamat: a saját config.txt fájlunk kiválasztását
követően csak rá kell bökni a „Build the bot executable” gombra (52. ábra). Ekkor az
alkalmazás beállítja a szerver címét, a kulcsot, integrálja a megfelelő szkripteket. A
folyamat befejeztével egy felugró párbeszédablakon keresztül elmenthető a későbbi
fertőzésekhez használható bot.exe fájl.
52. ábra bot.exe készítése
A builder könyvtárban (53. ábra) található a config.txt, webinjects.txt, és a config.bin fájl
is. A két .txt fájl a bot képességeinek bővítését és a megfelelő kommunikáció beállításokat
tartalmazza. A .bin fájlt a szerverre kell majd helyezni, ami szintén a bot beállításait
tartalmazza. Ezt a fájlt tölti le a bot kliens, amikor felveszi a szerverrel a kapcsolatot, ezzel
a fájllal tudjuk irányítani és vezérelni a bot-kat.
66
53. ábra bot.exe mentése
A fertőző fájl elkészítése igen egyszerű volt. Már csak egy pár lépés van hátra és használni
tudom a Zeus rendszerünket. A szerveren a vezérlő panel és az adatbázis működik, a
bot.exe, vagyis a fertőző fájl is működik. Már csak a megfertőzött gép és a szerver közötti
kommunikációt kell helyreállítani.
Tizenegyedik lépés
A bot kommunikációját úgy tudom helyre állítani, hogy a teszt környezetben, a virtuális
hálózatunkon az egyik áldozat gépén futtatom a korábban elkészített bot.exe fájlt, ezzel
szimulálom amikor az áldozat gépére feltelepíti a bot kliens-t.
Mielőtt elindítom a bot.exe fájl-t, a szerver gépen elindítom a Wireshark hálózatfigyelő
programot.
Az 54. ábrán látható, hogy amikor elindítottam a Windows XP gépen a bot.exe-t, akkor a
bot kliens rögtön felvette a kapcsolatot a szerverrel. Ez bizonyítja, hogy a config.txt fájlban
jól állítottam be a szerver címét és a kommunikációhoz szükséges kulcsot. A bot első
feladata az, hogy letölti a szerver gépről a config.bin fájl-t. Ez a fájl tartalmazza azokat a
beállításokat és kiegészítő alkalmazásokat, amely kell a bot megfelelő működéséhez.
Minden egyes első csatlakozáskor, amikor a bot kliens felveszi, a kapcsolatot a szerver
géppel akkor letölti ezt a fájlt és a benne található beállításokat alkalmazza.
54. ábra Bot első kommunikációja a szerverrel, config fájl lekérése.
67
Ha összeállítom a folyamot, akkor lehet látni, hogy a zombi gép felveszi a kapcsolatot a
192.168.56.103 IP-címen található szerverrel, ahol sikeres kapcsolódással zárul a folyamat
(55. ábra).
55. ábra Config fájl TCP folyam összerakása
Ezek szerint az alapbeállítások rendben vannak, a bot tud kommunikálni a szerverrel, a
config fájl-t sikeresen megkapja a zombi gép. Már csak azt kell megnézni, hogy a zombi
gép megjelent-e a vezérlő panel rendszerben. Sajnos a vezérlő panel kezelőfelületén nem
található a zombi gép kommunikációja, így a már ismert módon az apache2/error.log fájl-
ban megnézem, hogy milyen hiba okozhatja a problémát. Látható, hogy a gate.php fájl 15.
sorában van egy szintaktikai hiba. A $data nevű változóba szeretné a
@file_get_contents(’php://input ’); tartalmát belerakni. A hibát a zárójelben lévő szöveg
végén lévő szóköz okozza (56. ábra). A javítása egyszerű, csak ki kell törölni az üres
mezőt. Mivel az apache2/error.log fájlban több hiba nem volt feltüntetve, így ezzel ezt a
hibát ki is javítottam.
56. ábra Tizenegyedik lépés hiba javítása
68
Tizenkettedik lépés
Továbbiakban is a hálózati forgalmat figyelve próbálom megfelelő működésre bírni a Zeus
bot és a szerver közötti kommunikációt. Az 57. ábrán látható, hogy a bot kliens a gate.php-
n keresztül próbálja felvenni a kapcsolatot a szerverrel.
57. ábra Wireshark gata.php kommunikáció
A gate.php-hoz tartozó folyam összeállítása (58. ábra) után látható, hogy a csomag
információ tartalma nagyon kicsi. Ennek az az oka, hogy mielőtt a bot kliens a szervernek
a gate.php-n keresztül adatot küldene, a kliens és a szerver közötti egyeztetés (adatok
küldésének ideje) megszakad. Ebből arra következtetek, hogy kódolási probléma lehet a
két gép között.
58. ábra Gate csomag összeállítása
A már megszokott módon megnézem az apache2/error.log fájlomat, amit a 59. ábra
mutat. A fájlban látható, hogy a gate.php szkript 36. sorában van valami probléma.
69
59. ábra Tizenkettedik lépés hiba keresése
Megvizsgálva a gate.php szkriptet látható, hogy a bot verzió száma és a bot egyedi
azonosítója változók nem kaptak értéket (60. ábra). Ekkor a szerver eldobja a kapcsolatot.
60. ábra Tizenkettedik lépés hiba a gate.php fájlban
Az internetet segítségül hívva, a „https://bitbucket.org/ davaeron/zeus/ src/c1173ad0fdf3/
source/common/defines.php” oldalon található adatokat használtam fel a hiba
kijavításához. Ennek segítségével tudtam azokat a változókat definiálni a config.php
fájlunkban, amelyek segítségével tudja a szerver értelmezni a zombi gép által küldött
adatokat.
61. ábra Tizenkettedik lépés hiba javítása
70
A 61. ábrán látható hogyan definiáltam a változókat és a hozzá megfelelő értékeket.
Ezután a szerver már tudja értelmezni a bot kliens által küldött adatokat. A vezérlő
panelben innentől kezdve megjelentek a bot kliens-ek, láthatóak lettek a zombi gépek.
Megjelent 2 új bot a vezérlő panelen (62. ábra), láthatóak lettek a jelentések és a botok
attribútumai is.
62. ábra Vezérlő panelben megjelentek a zombi gépek
8.6 Zeus működtetése
Ez előző fejezetekben bemutattam, hogy hogyan is sikerül beüzemelnem a Zeus-t,
működik az mySQL adatbázis ahol az adatokat tárolom, működik a vezérlő panel, ahonnan
a botokat tudom irányítani és a jelentéseket megtekinteni, és működik a bot kliens is,
aminek segítségével meg tudom fertőzni az áldozat gépét. A következő alfejezetekben
bemutatok egy virtuális hálózatot, amit megfertőzök és bemutatom a Zeus leghatékonyabb
és legközkedveltebb lopási módszerét, a böngészőben állást (Man in the browser-t). Majd
miután sikerült ellopnom az adatokat, elemzem a Zeus-t, megvizsgálva, hogy mit is csinált
és hogyan is működik.
8.6.1 Bot elkészítése
A bot kliens beüzemelése című fejezetben bemutatott bot kliens elkészítéséhez szükséges
instrukciókat követve beállítottam azt az a bot kliens-t, amellyel megfertőzöm a virtuális
hálózatomban lévő számítógépeket. A config.txt fájlban beállítom azokat a beállításokat,
amelyek szükségesek ahhoz, hogy a zombi gép kommunikálni tudjon a szerveremmel.
Ezek a beállítások a következőek:
• url_config: http://192.168.56.103/config.bin
• encryption_key: secret key
71
• url_loader: http://192.168.56.103/bot.exe
• url_server: http://192.168.56.103/gate.php
• file_webinject: http://192.168.56.103/webinjects.txt
8.6.2 Bot eljuttatása és megfertőzése a cél számítógépet
Az elkészített bot kliens-t el kell juttatnom az áldozat gépére és futtatni kell azt. Én egy
közkedvelt social engineering módszert alkalmazva juttatom el az áldozat gépekre a káros
kódomat. Tételezzük fel, hogy a megfertőzendő virtuális hálózat egy kis cég hálózata. A
cégnek 5 darab számítógépe van, amiből 4 db számítógépet használnak az alkalmazottak, a
vezető pedig egy laptopot használ. Én, mint hacker úgy kerülök a számítógépek közelébe,
hogy egy szervizben dolgozok és a cég ezzel a szervizzel van szerződésben. Hálózati
probléma jelentkezett a cégnél, ezért felvette a kapcsolatot szervizzel. Én, mint szervizes
kolléga és mint „hacker” kimegyek a telephelyükre, hogy megjavítsam a hálózatukat,
miközben feltelepítettem a számítógépekre a Zeus botomat is. Ezzel a módszerrel sikeresen
megfertőztem mind az öt számítógépet.
8.6.3 Bot használata
Miután megfertőztem a számítógépeket, a vezérlő panel-ben megjelent az összes fertőzött
gép. Ahogy a 63. ábrán is láthatjuk, az információs dobozban megjelent mind az öt zombi
gép. Az is látható, hogy az 5 gépből 4 új gép és 1 pedig még régebben lett megfertőzve. Ez
a bot kliens a „Bot beüzemelése” című fejezetben bekapcsolt kliens.
63. ábra Vezérlő panelben információk a gépekről
A 64. ábrán látható a vezérlő panelben az operációs rendszerek listája, 3 gépen Windows 7
és 2 gépen pedig Windows XP operációs rendszer van.
72
64. ábra Megfertőzött gépek operációs rendszerei
Készítettem az egyik gépről egy jelentést és képernyőmentést (65. ábra). Az ábra felső
részen találhatóak a számítógépről és a bot-ról az általános információk, alatta pedig a
képernyőkép mentése. A képernyőképen látható, hogy elindítottam egy parancssort,
amelyben futtattam egy ipconfig parancsot, aminek eredménye ugyanaz az IP cím, mint
amit a kép felet látunk. A Zeus bot készítése című fejezetben bemutattam, hogy zsb.exe
nevű alkalmazással tudjuk elkészíteni a fertőző botunkat és ezzel a programmal tudjuk
leellenőrizni ha, tudjuk a kulcsot, hogy van-e ilyen bot a számítógépen. Ezt láthatjuk is az
ábra közepén: jelenleg is fut a bot a megfertőzött gépen.
65. ábra Bot információ a 109-es gépről
Információ lopás Zeus segítségével
Most már látható, hogy a megfertőzött számítógépekről megfelelően megérkeznek az
adatok a szerverhez, így bármilyen online tevékenység folyik a zombi gépen, azt a bot
elküldi a szervernek és a szerver eltárolja azt az adatbázisban. A 66. ábrán látható a
megfertőzött gépek listája.
73
66. ábra Megfertőzött gépek listája
Az egyik alkalmazott bőrébe bújva bemutatom, hogy mikképpen látom majd az adatokat a
szerveren. Az alkalmazott a 192.168.56.106 IP-címmel rendelkező zombi gépen fog
Internet Explorer segítségével levelező alkalmazásokat használni, valamint online banki
tevékenységeket végezni. A vezérlő panel-en látható lesz majd, hogy hiába történt a
kommunikáció a zombi gép és a kiszolgáló között titkosítva, azokat az adatokat, amelyekre
kíváncsiak voltunk mind hiánytalanul megkaptuk. Ilyen adatok voltak a felhasználónevek
és a hozzá tartozó jelszavak. Az online bankozásnál csak azokat az információkat tudjuk
meg, amik szükségesek a belépéshez és az elsődleges azonosításhoz, mert ez a verziójú
Zeus még nem képes megszerezni a telefonra visszaküldött másodlagos azonosításhoz
szükséges kulcsot.
Először bemutatom az e-mailek használatát, utána pedig az online bankozásokat. Az e-
mailek között van olyan is, ami nem titkosítva kommunikál. Mindezzel szeretném
bemutatni, hogy a titkosítás irreleváns. A vizsgálatok során kizárólag fiktív adatokat
használtam fel
Nem titkosított e-mail-ek
A 67. és a 68. ábrán látható egy-egy jelentés, amiben egy Freemail és egy Citromail
bejelentkezés található. Mindkét esetben megtalálható a (user) vagyis a felhasználó és a
(passwd) vagyis a felhasználóhoz tartozó jelszó.
74
67. ábra Citromail adatok
68. ábra Freemail adatok
Titkosított e-mail
Napjainkban az egyik legközkedveltebb ingyenes e-mail szolgáltató a Gmail
(www.gmail.com). Ez az e-mail szolgáltatás már évek óta titkosítva (SSL) kommunikál, de
75
mint láthatjuk a 69. ábrán ez nem nehezítette meg a Zeus bot dolgát. Itt is megtalálható a
felhasználónév és a felhasználóhoz tartozó jelszó. Ez a két adat segítségével máris be
tudunk lépni a felhasználó fiókjába. Ez önmagában nem olyan veszélyes, mert csak egy e-
mail fiók, de tartalmazhat olyan információkat, például fontos levelezéseket, címeket,
neveket, amelyek ha nyilvánosságra vagy más céghez kerülnek, akkor kompromittálhatják
a valódi tulajdonost, és igen nagy veszteségeket szenvedhet el a felhasználó.
69. ábra Gmail adatok
G-mail belépéshez szükséges adatok a 69. ábrán láthatóak.
76
Banki belépések
Az emberek többsége nap, mint nap használja a bankok által nyújtott online bankozás
lehetőségeit. A Zeus nagy elterjedését ennek a banki funkciónak köszönheti. A
192.168.56.106 IP-című gépen egy OTP belépést szimuláltam (70. ábra), a belépéshez
szükséges adatokat beírtam. Ezek nem valós adatok, de ez a tesztelést nem befolyásolja.
70. ábra OTP online bankozás
A 71. ábrán látható, hogy a számlaszám az azonosító és a jelszó is kiolvasható. Ha ezek az
adatok helyesek lennének, akkor most a botgazda minden gond nélkül - ha nincs
másodlagos azonosítás bekapcsolva- be tudna lépni és akár tranzakciót is tudna
kezdeményezni. A 72. és 73. ábrán is jól látható, hogy más bankoknál is működik ez a
módszer így a K&H és az Erste online bankozási funkcióját használva megkapjuk azokat
az adatokat amelyekre szükségünk van.
77
71. ábra OTP banki adatok
További banki adatok
K&H bank és az Erste bank online bankozásánál is ugyanúgy megszereztem azokat az
információkat, amelyekre szükségem volt (72. és 73. ábra).
79
73. ábra Erste banki adatok
8.6.4 A kinyert információk feldolgozása, elemzése
Ahogy láthattuk az előző részekben sikeresen meg tudtunk szerezni minden olyan
információt a Zeus bot segítségével, amelyeket később felhasználva anyagi haszonra
tudunk szert tenni. A kiberbűnözők ezt a módszert használva gyűjtik be a különböző
területekről az adatokat és adják el más bűnözőknek, akik ezekkel az adatokkal visszaélve
nagy anyagi haszonra tesznek szert. Ezeket az adatok nagytételben (10-100.000 db),
kisebb-nagyobb összegért cserélnek gazdát.
8.7 Zeus előnyei
• Zeus egyik nagy előnye abban rejlik, hogy a kezelése nagyon egyszerű és
kézenfekvő, ha a felhasználónak megvan az alap informatikai tudása.
• Egy jó helyre helyezett szerver segítségével, könnyen lehet irányítani a zombi
gépeket.
80
• Több száz változat kering az interneten ezért a Zeus bot felismerése illetve
botgazda és a szerver megtalálása igen nehéz lehet.
• Rengeteg internetes weboldalon lehet bérelni Zeus botnet hálózatokat a pár száz
számítógépből álló hálózattól akár a több százezer gépből álló hálózatig.
• Man in the Browser típusú támadási forma használata, azaz a bot beáll a
böngészőbe, így a böngésző hiába küldi titkosítva az adatokat a szervernek, még
titkosítás előtt a bot már elkapja és elküldi a vezérlő panelnek az adatokat.
• Az újabb verziók már támogatják a másodlagos azonosító megszerzését is, és nem
csak Windows operációs rendszereken használható, hanem Android, Blackberry,
Symbian, Windows Mobil platformokon is működik.
8.8 Zeus hátrányai
• Bizonyos feladatokra használható csak, ez egyben nemcsak hátrány, hanem előny is
mivel, hogy célzott feladatokra találták ki, így ezeket egyszerű szoftveres felépítés
jellemzi és kezelésük is ezáltal egyszerűbb.
• A régebbi verziók, amelyek nyílt forráskóddal rendelkeznek, csak Windows
operációs rendszereken használhatóak.
81
9 Az elért eredmények kielemzése
Amint látható volt, még ezzel a régi Zeus verzióval is sikerült megszerezni azokat az
információkat, amiket célként kitűztünk magunk elé. A szakdolgozat írása közben sikerült
beüzemelni a Zeus szervert, ahol megtalálható a vezérlő panel és a hozzá tartozó adatbázis,
a virtuális hálózatban tökéletesen kommunikálnak a számítógépek egymással. Sikerült a
kapcsolatot megteremteni a zombi gépek és a szerver között, az ellopott információkat
eltárolni a mySQL adatbázisban. Az eltárolt adatokból jelentéseket lehet készíteni, amiből
kiolvasható számunkra az összes olyan információ, amire szükségünk van. Az áldozati
gépen végbemenő SSL titkosítást használó online bankozási adatokat is sikerült
megszerezni.
82
10 Zeus kommunikáció analizálása
Hálózati forgalmat figyelve
Az egyik áldozati gépre telepítettem egy Wireshark hálózati forgalomelemző programot,
hogy meg tudjam vizsgálni miként deríthető fel ez a Zeus változat a megfertőzött
számítógépen. Még a szerver beüzemelése közben a Backtrack operácios rendszeren
használtam ezt a programot ahhoz, hogy a kommunikációt helyre tudjam állítani a szerver
és a kliens gép között. A szerver gép hálózat figyelésével látható volt a kommunikáció a
zombi gép és a szerver között.
Amikor elindítottam az áldozati gépen a bot.exe fájlt, hogy megfertőzzem a számítógépet,
akkor a 192.168.56.106-os IP-című áldozati gép felvette a kapcsolatot a 192.168.56.103-
as IP-című szerverünkkel és a szervertől lekérte a config.bin fájl tartalmát (74. ábra).
74. ábra Wireshark config.php
Amikor összeállítom a folyamot (75. ábra), a szerver elküldi a zombi gépnek egy GET
metódus használatával a config.bin fájl tartalmát. A tartalma számunkra ismeretlen, mert a
kommunikáció titkosítására a Zeus RC4 kódolást használ. A Zeus bot az RC4 kulcs
ismeretében sikeresen tudja dekódolni a config fájl beállításait a saját alkalmazásának
beállításaink változtatására. Ezzel a bot alkalmazásának beállításai megtörténtek, ettől
kezdve a botnak csak az ellopott adatot kell küldeni a szervernek, majd a szerver eltárolja
az adatbázisba. [10] [11] [23]
83
75. ábra Config.php összealítása a wiresharkban
A hálózat figyelés folyamán észrevehető, hogy a gate.php-n keresztül a kliens rendszeresen
küldi az adatokat a szerver irányába, így a Zeus forgalmazása a hálózatból kiszűrhető. A
Zeus forgalmának rejtését nem képezi a dolgozat (76. ábra).
76. ábra Wireshark gate.php
Amikor összeállítottam a gate.php folyamot (77. ábra) akkor látható, hogy a zombi gép
(192.168.56.106) POST metódus használatával küldi a szerver (192.168.56.103) felé az
adatokat RC4 kódolással. Tehát nem csak a szervertől küldött adatok vannak kódolva,
hanem a zombi gép által küldött adatok is.
84
77. ábra Gate.php összealítása a wiresharkban
Megfelelő hálózati forgalomfigyelési módszerekkel könnyen detektálható ez a fajta Zeus
verzió, ha alapértelmezett beállításait használják.
Futó folyamatokat figyelve
Most nézzük meg egy kicsit más szemszögből: nem a hálózati forgalmat figyelve, hanem a
futó folyamatokat vizsgálva, hogy vajon felfedezhető-e valahol a Zeus bot. A Sysinternals-
tól a TCPview program segítségével vizsgálom meg a fertőzött gépen a futó folyamatokat.
A Windows beépített feladatkezelőjével megnézve a futó folyamatokat, nem találunk
gyanús folyamatot (78. ábra).
85
76. ábra Windows Feladatkezelő
A TCPview által megmutatott futó alkalmazásokból (79. ábra) sem tűnik fel semmi
különös program. Annyi vélhetünk felfedezni, hogy van egy taskhost.exe ami a
192.168.56.103 IP-címen lévő géppel kommunikál, de ebben az esetben tudjuk, hogy a
192.168.56.103-as IP-cím a szerverem címe. Ha külső személyként vizsgálja valaki ezeket
a futó alkalmazásokat, akkor ezen a tényen könnyen átsiklik.
86
77. ábra TCPview folyamatok
A számítógép indításakor a Microsot Windows regisztrálja az összes szükséges DLL fájlt
és futtatja azokat a szolgáltatásokat, amelyek szükségesek a DLL fájlhoz. A taskhost.exe az
összes DLL alapú szolgáltatás folyamatát ellenőrzi. Ez szerves része a Windows operációs
rendszereknek. A Windows operációs rendszerek ezt a fájl-t akár több példányban is
futtathatják attól függően, hogy mennyi erőforrás igénye van a DLL fájl-ú szolgáltatásnak.
Ha több taskhost.exe fájl fut egy időben, akkor a Windows megkeresi azt, amelyik
tartalmazza a szükséges adatot a szolgáltatás futtatásához.
Láthatjuk, hogy a futó folyamatok között a Zeus bot elrejtőzködött, nem lelhető fel, hiszen
amikor elindítjuk a botot, akkor egy ismert, Windows által használt futó alkalmazásba épül
be és működik.
Megvizsgálom az áldozati gépen futó folyamatokat úgy is, hogy közben feltelepítem rá a
Zeus bot klienst. A 80. ábrán látható, amikor elindítom a bot.exe-t, hogy megjelenik a futó
folyamatok között. Csak pár másodpercig látható a bot.exe, mert amint feltelepítette magát
a megfelelő helyre azonnal törli a fertőzésre alkalmas bot.exe fájl-t, így tüntetve el a
nyomokat maga után.
78. ábra Windows Feladatkezelő időpontjában
87
Ugyancsak a TCPview program segítségével megvizsgálom, hogy mi történik a telepítés
időpontjában. Általában egy darab taskhost.exe fájl van a futó folyamatok között. Amikor
elindítottam a bot.exe fájlt, akkor a Zeus beépült az operációs rendszerbe és indított
magának még 3 darab taskhost.exe-t, amiből egyet le is allít amint végzett a bot
telepítésének folyamatával. Ezek szerint, amikor a Zeus bot-ot feltelepítjük, akkor létrehoz
magának kettő darab taskhost.exe-t amin keresztül tud működni és elrejtőzik a kíváncsi
szemek elöl.
79. ábra TCPview fertőzés időpontjában
Listázzuk ki a taskhost.exe fájl tartalmát, hátha találunk valamit a Zeus bottal
kapcsolatban. Ehhez a tasklist.exe /m parancsot használtam a cmd.exe alkalmazásban.
A taskhost.exe fájl tartalmában sem találunk semmilyen utalást a Zeus bot jelenlétére (82.
ábra). Véleményem szerint ez igen jó teljesítmény egy relatív régi Zeus verziótól,
tekintettel arra, hogy nem fordítottam energiát az elrejtésére.
80. ábra Tasklist lekérdezése a megfertőzött gépen
88
11 A védekezés fajtái
A védekezés nem merül ki a számítógépre telepített antivírus vagy antispy program
használatával. Sajnos az esetek többségében a gép megfertőződése a felhasználó
figyelmetlenségének, jóhiszeműségének és hanyagságának kihasználásán alapul.
Az antivírus programok használata nem nyújt teljes körű védelmet, de a védekezés egyik jó
alapköve lehet, ha kellő figyelmet fordítunk a védelmi szoftverek napra készen tartására is.
Manapság az antivírus programok százát találhatjuk meg a piacon, amelyek között léteznek
ingyenesek is és fizetősek is. A fizetősök többségének van ingyenesen kipróbálható
verziója is, amit bárki letöltheti a gyártó honlapjáról és használhatja bizonyos
időintervallumban. Ezek az úgynevezett triál antivirus programok hasonló biztonságot
nyújtanak, mint a megvásárolt verziójuk.
A második jó alapkő a tűzfalak használata, legyen az hardveres vagy szoftveres. Nagyon
hatékonyan lehet vele portok használatát szabályozni.
Végezetül, de nem utolsó sorban, fontos alapkőnek tekinthető a naprakészen frissített,
jogtiszta operációs rendszer. Legyen szó Linux, Windows, Mac OS, vagy egyéb más
operációs rendszerről. A botnetek és az egyéb vírusok nagy része elöl a Mac OS és a
Linux operációs rendszer is már nagyobb védelmet tud nyújtani, mint a Windows
operációs rendszer, mert a vírus írok, a tömeget célozzák meg és a felhasználók nagy része
valamilyen Windows operációs rendszer változatot használ (83. ábra).
83. ábra Operációs rendszerek eloszlása 2013-ban (Forrás: Wikipédia)
89
12 Irányvonalak és a jövőkép
A botnetek terjedése növekvő tendenciát mutat, egyre nagyobb kárt okozva az informatikai
eszközök felhasználóinak. Ahogy az emberek egyre jobban támaszkodnak ezekre az
eszközökre, a bűnözők is egyre nagyobb lehetőséget látnak ezek feltörésében. A botnetek
fejlődése során látható, hogy ezek egyre több eszközt képesek megfertőzni, ezen kívül
egyre több képességet tudnak sikeresen használni. A botok kezdetben meglehetősen
korlátozott funkcionalitással bírtak, mostanra már ezzel szemben eszközeinket
megfertőzve képesek minden személyes adatunkat ellopni, erőforrásainkat kihasználni,
spam levelekkel bombázni másokat és minket, továbbá elosztott szolgáltatásmegtagadásos
támadást indítani szerverek ellen. Az is észrevehető, hogy míg régen az IRC protokoll
segítségével a központi vezérlésen alapuló rendszereket részesítettek előnyben, manapság
már a P2P (Peer-to-Peer) technikát használják a botok irányítására. [13] [16] Ezeket a
rosszindulatú kódokat azért készítik el a programozók, hogy egy bot többrétű feladatokat is
el tudjon látni, továbbá a botot használó személy kiléte titokban maradhasson. Ebből
következik, hogy a botok fejlődése ebbe az irányba fog továbbfejlődni, tehát a
programozók olyan botokat fognak készíteni, amelyek titkosított vezérlő csatornát
használnak, a lehallgatáson és a mintakeresésen alapú felderítés elkerülésének érdekében.
Azokat a védelmi szoftvereket, amelyek viselkedési és statisztikai megfigyelések alapján
működnek, az újgenerációs botok úgy fogják kikerülni, hogy a protokollokat és a portokat
különféle technikákkal és módszerekkel összekeverik vagy elrejtik a védelmi alkalmazás
elől. Továbbá a statisztikai vizsgálatok elkerülése érdekében olyan megoldásokat
alkalmaznak, amelyekkel a parancsokat hordozó üzenetek bonyolultságát lehet fokozni.
A jelenleg is használatban lévő általános informatikai eszközökön (személyi számítógép,
laptop, notebook, okos telefon) túl a botok olyan eszközöket is képesek lesznek
megfertőzni, amelyek még csak most kezdenek elterjedni a világban. Ilyen eszközök
lehetnek például az okos televíziók, táblagépek, a televíziókhoz csatlakoztatható
mikroszámítógépek, autókban lévő célszámítógépek, gyárakban lévő robotrendszerek
vezérlői, stb... A szakdolgozatomban már bemutatott ZitMo kártékony alkalmazás is
alátámasztja, hogy a botok rohamos fejlődésnek indultak.
A botnetekkel kapcsolatos felgöngyölített és közzétett bűnesetekből egyértelműen látszik,
hogy a botnetekre épített, ezekkel elkövetett visszaélések és támadások napjaink szerves
részévé váltak és feltehetően jó darabig még azok is maradnak.
90
13 Összefoglalás
Szakdolgozatom írása folyamán általánosságban bemutattam a botnet hálózatok
képességeit, használati módjait, elterjedését. Majd szűkítve a kört, bemutattam a Zeus
botnet egyik változatának képességeit. Ezt követően létrehoztam egy hat számítógépből
álló virtuális hálózatot, amelyből öt munkaállomás egy különálló kisvállalati hálózati
rendszert szimulált. A vállalati hálózatot megfertőztem egy Zeus botnet-tel amit saját
magam, a már meglévő nyílt forrású fájlokból készítettem el és megteremtettem azokat a
feltételeket, amelyek szükségesek a botnet működéséhez és üzemeltetéséhez. A
megfertőzött számítógépekből egyet kiragadva bemutattam a Zeus egyik legnépszerűbb és
talán lehet úgy is mondani, hogy a legfontosabb funkcióját, az „ember a böngészőben”
(Man in the Browser) alapú támadást. Ennek segítségével olyan adatokat lehet ellopni az
áldozat gépéről, amelyeket később a számítógép titkosít. Ilyen adatok lehetnek a banki
tranzakciókhoz szükséges azonosítók, felhasználónevek, jelszavak, stb... A szimulációban
ezeket a titkosított adatokat sikerült ellopnom az áldozat gépéről.
A következtetések levonása után összegeztem az eredményeket, elemeztem a Zeus botot,
hogy hogyan és milyen módszerek állnak rendelkezésemre, hogy a kártevőt megtaláljam a
megfertőzött számítógépen. Majd leírtam, hogy milyen bevett módszerekkel
védekezhetünk az ilyen típusú támadások ellen.
A Zeus forráskód, amit felhasználtam a szakdolgozatom írása során, tökéletesen alkalmas
volt arra, hogy mind informatikai, mind adatbiztonsági szemszögből, és végül egyszerű
informatikai felhasználóként is bemutassam ezt a veszélyforrást. Az orosz fejlesztő
meglátta a piaci rést a kibertér fekete piacán, felismerte azt a tényt, hogy nem csak az
ellopott információnak van pénzbeli értéke, hanem a Zeus által megfertőzött hálózatokat is
el lehet adni. A mindennapi életben használt „szoftver, mint szolgáltatás” (Software as a
Service) mintáját követték, amit már többen úgy hívnak, hogy „kártékony kód, mint
szolgáltatás” (Crimeware as a Service). Majd később, amikor egyre több botnet jelent meg
a világhálón, a Zeus készítője nyilvánosságra hozta a kártevő forráskódját, hogy a
különböző kalózváltozatok között elvegyüljön a tömegben.
A rohamosan fejlődő világ szinte rákényszeríti az embert arra, hogy minél nagyobb
mértékben támaszkodjanak informatikai eszközökre, az általuk nyújtott szolgáltatásokra.
Ennek következettében viszont függnek is ezen eszközöktől. A bankban tartott pénzükkel,
91
személyes adatainkkal, magán leveleinkkel és az eszközeink erőforrásaival kell fizetnünk a
biztonságosnak hitt rendszerek bukása esetén.
92
14 Irodalomjegyzék
[1] Hackin9 magazin: BOTNET Issue PC a Zombie? Issue 5/2011 (S) ISSN: 1733-7186
[2] Hackin9 magazin: The guide to Backtrack Issue 03/2012(3) ISSN: 1733-7186
[3] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 01 Module, Introduction to Ethical Hacking, 1-34 oldal
[4] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 02 Module, Footprinting and Reconnaissance, 35-80 oldal
[5] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 03 Module, Scanning Networks, 81-138 oldal
[6] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 06 Module, Trojans and Backdoors, 251-302 oldal
[7] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 10 Module, Denial os Service, 433-468 oldal
[8] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 16 Module, Evading IDS, Firewalls,and Honeypots, 753-804 oldal
[9] Ethical Hacking and Countermeasures v7.1, Courseware, EC-COUNCIL OFFICIAL
CURRICULUM, 19 Module, Penetration Testing, 865-904 oldal
[10] Ethical Hacking and Countermeasures LAB MANUAL v7.1, EC-COUNCIL
OFFICIAL CURRICULUM, 06 Module, Trojans and Backdoors, 291-333 oldal
[10] Ethical Hacking and Countermeasures LAB MANUAL v7.1, EC-COUNCIL
OFFICIAL CURRICULUM, 06 Module, Detecting Trojans, 334-360 oldal
[11] System Forensics http://sysforensics.org/2012/03/zeus-v2-malware-analysis-part-
i.html
[12] Steven Musil, Eurograbber attack,2012 :http://news.cnet.com/8301-1009_3-
57557434-83/zeus-botnet-steals-$47m-from-european-bank-customers/
[13] Brett Stone-Gross, Dell SecureWorks Counter Threat Unit(TM) Threat
Intelligence,2012,: http://www.secureworks.com/cyber-threat-
intelligence/threats/The_Lifecycle_of_Peer_to_Peer_Gameover_ZeuS/
[14] Denis: Kaspersky Lab Expert, New ZitMo for Android and Blackberry, 2007:
http://www.securelist.com/en/blog/208193760
[15] Andrea Lelli, Zeusbot/Spyeye P2P updateed Fortifying the Botnet, 2012:
http://www.symantec.com/connect/blogs/zeusbotspyeye-p2p-updated-fortifying-botnet
93
[16] Derek Jones, Fingerprinting the author of the Zeus Botnet, 2011: http://shape-of-
code.coding-guidelines.com/2011/05/11/fingerprinting-the-author-of-the-zeus-botnet/
[17] Buherator, 2011: http://buhera.blog.hu/2011/05/16/zeus_1
[18] PTA CERT HUNGARY: A Zeus forráskódjának elterjedésétől tartanak a kutatok,
2011: http://tech.cert-hungary.hu/tech-blog/110404/a-zeus-forraskodjanak-elterjedesetol-
tartanak-a-kutatok
[19] PTA CERT HUNGARY: A Zeus trójao minden 50 számítógépből egyet már
megfertőztek, 2012: http://tech.cert-hungary.hu/tech-blog/110404/a-zeus-forraskodjanak-
elterjedesetol-tartanak-a-kutatok
[20] PTA CERT HUNGARY: Csak gazdagoktól lopottegy automatizált banki csalás,
2012: http://tech.cert-hungary.hu/tech-blog/120628/csak-gazdagoktol-lopott-egy-
automatizalt-banki-csalas
[21] NET SECURITY, Zeus malware strain infecting 1 in 50 PC, 2012: http://www.net-
security.org/malware_news.php?id=2161
[22] H.Binsalleeh, T.Ormerod, A. Boukhtouta, P. Sinha, A. Youssef, M.Debbabi, L.
Wang,2012: On the analysis of the Zeus Botnet crimeware toolkit:
http://www.ncfta.ca/papers/On_the_Analysis_of_the_Zeus_Botnet_Crimeware.pdf
[23] IOActive Comprehensive Computer Security Service,2012:
http://www.ioactive.com/pdfs/ZeusSpyEyeBankingTrojanAnalysis.pdf
[24] Symantec Security Response, Zeus: King of the Bots, 2009:
http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/z
eus_king_of_bots.pdf
[25] James Wyke, Threat Researcher, SophosLabs UK, What is Zeus? ,2011:
http://www.sophos.com/medialibrary/PDFs/technical%20papers/Sophos%20what%20is%2
0zeus%20tp.pdf
[26] Trend Micro, Incorporated, Zeus: A persistent criminal Enterprise ,2010:
http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-
papers/wp_zeus-persistent-criminal-enterprise.pdf
[27] Derek Manky, FortiGuard Center, Theat Research & Response: Zeus: God of DIY
Botnets,2011: http://www.fortiguard.com/legacy/analysis/zeusanalysis.html
[28] Bevezetés a botnetek világába, Szentgyörgyi Attila, Szabó Géza, Bencsáth Boldizsár,
2008: http://www.hiradastechnika.hu/data/upload/file/2008/2008_11/HT0811_4.pdf
[29] http://hu.spam.wikia.com/wiki/Botnet
94
[30] Szentgyörgyi Attila, Szabó Géza, Bencsáth Boldizsár, Bevezetés a Botnetek világába:
http://www.crysys.hu/~szabog/index_files/botnet_draft_acc.pdf
[31] http://krebsonsecurity.com/2010/04/a-closer-look-at-rapport-from-trusteer/
[32] Harangi László, 2010: http://techcorner.hu/pcworld/230-milliot-lopott-a-zeus-v3-
botnet.html , hivatalos oldal https://www.trustwave.com/spiderLabs-
papers.php?utm_source=referrer&utm_medium=website&utm_content=m86-
website&utm_campaign=M86-Rdr
[33] http://en.wikipedia.org/wiki/Waledac_botnet
[34] http://en.wikipedia.org/wiki/Kelihos_botnet
[35] http://en.wikipedia.org/wiki/Rustock_botnet
[36] Cory Doctorow, DDoS storm breaks records at 300Gbps , 2013:
http://boingboing.net/2013/03/27/ddos-storm-breaks-records-at-3.html
[37] http://en.wikipedia.org/wiki/Botnet
[38] Dancho Danchev, How much does a Botnet cost?, 2013: http://threatpost.com/how-
much-does-botnet-cost-022813/
[39] http://en.wikipedia.org/wiki/Man-in-the-browser
[40] http://en.wikipedia.org/wiki/Zeus_(Trojan_horse)
95
15. Ábrajegyzet
1. ábra Célzott támadás lépései............................................................................................ 10
2. ábra Bot net hálózat vásárlás ........................................................................................... 19
3. ábra DoS, DDoS támadás ................................................................................................ 23
4. ábra Bot net müködése .................................................................................................... 26
5. ábra Zeus tracker statisztika ............................................................................................ 27
6. ábra Peer to peer kapcsolat .............................................................................................. 28
7. ábra Centralizált botnetek ................................................................................................ 29
8. ábra Detektálás vállalati szinten ...................................................................................... 31
9. ábra Hamis web oldal injekcitó ....................................................................................... 37
10. ábra Fertőzöttség elterjedése a világban ........................................................................ 39
11. ábra Vezérlő panel fájlok a szerveren............................................................................ 41
12. ábra Második lépés, telepítési hiba ................................................................................ 42
13. ábra Második lépés, hibakeresés ................................................................................... 42
14. ábra Második lépés hiba kijavítása ................................................................................ 43
15. ábra Harmadik lépés hibakeresés .................................................................................. 43
16. ábra Harmadik lépés hibajavítás .................................................................................... 44
17. ábra Negyedik lépés, hibakeresés .................................................................................. 44
18. ábra Negyedik lépés, hibajavítás ................................................................................... 44
19. ábra Vezérlő panel telepítési ablak ................................................................................ 45
20. ábra Vezérlő panel telepítési ablak kitöltése ................................................................. 47
21. ábra Hatodik lépés hibakeresés ..................................................................................... 47
22. ábra Hatodik lépés hibajavítás ....................................................................................... 48
23. ábra Hiba javítása, változó definiálása .......................................................................... 48
24. ábra Hetedik lépés hibakeresés ...................................................................................... 48
25. ábra Hetedik lépés hibajavítása változok definiálása .................................................... 48
26. ábra Nyolcadik lépés hibakeresése geobase.txt ............................................................. 49
27. ábra Adatbázis sikeres telepítés vége ............................................................................ 49
28. ábra mySQL adatbázis botnet_list tábla ........................................................................ 50
29. ábra mySQL adatbázis botnet_reports tábla .................................................................. 51
30. ábra mySQL adatbázis botnet_scripts tábla................................................................... 52
31. ábra mySQL adatbázis botnet_scripts_stat tábla ........................................................... 53
96
32. ábra mySQL adatbáziscp_users tábla ............................................................................ 54
33. ábra mySQL adatbázis ipvtoc tábla ............................................................................... 55
34. ábra Firefox válasz a cp.php megnyításkor ................................................................... 56
35. ábra Kilencedik lépés hibakeresés ................................................................................. 56
36. ábra Kilencedik lépés hiba javítása ............................................................................... 56
37. ábra Tízedik lépés hibakeresése .................................................................................... 57
38. ábra Tízedik lépés hiba javítása ..................................................................................... 57
39. ábra Vezérlő panel bejelentkező képernyő .................................................................... 57
40. ábra Vezérlő panel menü ............................................................................................... 58
41. ábra Vezérlő panel információk menü........................................................................... 58
42. ábra Vezérlő panel operácios rendszer statisztika menü ............................................... 59
43. ábra Vezérlő panel botnet kliensek menü ...................................................................... 60
44. ábra Vezérlő panel szkriptek listája menü ..................................................................... 60
45. ábra Vezérlő panel jelentések filter menü ..................................................................... 61
46. ábra Vezérlő panel jelentések result menü .................................................................... 61
47. ábra Vezérlő panel információk .................................................................................... 62
48. ábra Vezérlő panel rendszer információk menü ............................................................ 62
49. ábra Vezérlő panel felhasználó menü ............................................................................ 62
50. ábra Config.txt fájl tartalam........................................................................................... 64
51. ábra Zeus builder alkalmazás ........................................................................................ 65
52. ábra bot.exe készítése .................................................................................................... 65
53. ábra bot.exe mentése...................................................................................................... 66
54. ábra Bot első kommunikációja a szerverrel, config fájl lekérése. ................................. 66
55. ábra Config fájl TCP folyam összerakása ..................................................................... 67
56. ábra Tizenegyedik lépés hiba javítása ........................................................................... 67
57. ábra Wireshark gata.php kommunikáció ....................................................................... 68
58. ábra Gate csomag összeállítása...................................................................................... 68
59. ábra Tizenkettedik lépés hiba keresése .......................................................................... 69
60. ábra Tizenkettedik lépés hiba a gate.php fájlban ........................................................... 69
61. ábra Tizenkettedik lépés hiba javítása ........................................................................... 69
62. ábra Vezérlő panelben megjelentek a zombi gépek ...................................................... 70
63. ábra Vezérlő panelben információk a gépekről ............................................................. 71
64. ábra Megfertőzött gépek operációs rendszerei .............................................................. 72
97
65. ábra Bot információ a 109-es gépről ............................................................................. 72
66. ábra Megfertőzött gépek listája ..................................................................................... 73
67. ábra Citromail adatok .................................................................................................... 74
68. ábra Freemail adatok ..................................................................................................... 74
69. ábra Gmail adatok .......................................................................................................... 75
70. ábra OTP online bankozás ............................................................................................. 76
71. ábra OTP banki adatok .................................................................................................. 77
72. ábra K&H banki adatok ................................................................................................. 78
73. ábra Erste banki adatok.................................................................................................. 79
74. ábra Wireshark config.php ............................................................................................ 82
75. ábra Config.php összealítása a wiresharkban ................................................................ 83
76. ábra Wireshark gate.php ................................................................................................ 83
77. ábra Gate.php összealítása a wiresharkban.................................................................... 84
78. ábra Windows Feladatkezelő időpontjában ................................................................... 86
79. ábra TCPview fertőzés időpontjában ............................................................................. 87
80. ábra Tasklist lekérdezése a megfertőzött gépen ............................................................ 87