Hackeljünk Androiddal- Penetrációs tesztelés telefonal
A mobiltelefonok alapvető eszközei minden üzleti vállalkozásnak. A vezetőség be akarja foltozni az eszközök által generált biztonsági rést, így a projekt előbb vagy utóbb az IT menedzser asztalán köt ki. A cikk ezen biztonsági rések feltárásához nyújt segítséget.
Mára olyan szakmai fórumokon foglalkoznak a kérdéssel, mint a DEFCON, Black Hat, OWASP, AppSec, SANS. A probléma, amivel rögtön szemben találjuk magunkat, az a kontrollálni kívánt eszközök operációs rendszereinek sokrétűsége. Android, iOS, Windows, Blackberry, hogy csak a legnépszerűbbeket említsem. A vizsgálathoz először is fel kell venni a támadói, invazív szemléletet.
Amikor meghalljuk azt, hogy penetrációs teszt, az ember rögtön a kívülről érkező hálózati támadásokra gondol, ahol a szakember megpróbál távolról betörni a rendszerbe. A piac természetesen ehhez is alkalmazkodott a tűzfalak, céleszközök és biztonsági programok szempontjából. A mobil eszközök terjedésével – amelyek akár közvetlen Wi-Fi kapcsolattal rendelkezhetnek – azonban a belső problémákkal is fel kell venni a harcot. A mobilokat egyre erősebb processzorokkal vértezik fel, képesek WI-FI kapcsolatra, kamerájuk, háttértárolójuk és még állandó internet elérésük is van 3G/4G segítségével, amely ezáltal számos alkalmazást tesz elérhetővé. A „root-olt” eszközök pedig sok esetben rendelkeznek olyan tudással, mint egy PC. Ha ezeket kombináljuk a megfelelő programmal, számos szkent lehet elvégezni percek alatt, amihez rengeteg új, az információ megszerzését célzó támadási lehetőség is párosul.
Ezek a mobil erőforrások a kényelem teljességével képesek igen erős penetrációs alkalmazások futtatására is. Méretükből adódóan viszont jobban fedettek, könnyebben elrejthetők, mint egy felnyitott laptop. A nagyvállalati IT Magyarországon is sokat költ hálózatainak biztonságára. Sok esetben azonban kimarad a végpontok biztonsága, ami alapvető hiányosság. A belső biztonsági szabályzatok – habár előírásban nem is annyira, – végrehajtásban azonban jóval lazábbak, mint a külső szabályzatok.
Egy hálózat támadása jelenleg sokkal egyszerűbb, mint pár évvel ezelőtt, mivel az eszközök és az operációs rendszerek sokkal változatosabbak, mint abban az időben, amikor letettük a voksunkat egy elsődleges és állandó WIN/LINUX rendszer mellett, ami Ethernet-kábelen csatlakozott. Napjainkban az irodák Wi-Fi-t használnak számos különböző típusú eszközzel rajtuk (laptop, tablet, telefon, stb.), amelyek nem feltétlenül vannak a vállalkozás tulajdonában (BYOD). Szóval, a „behatolónak” igen gazdag környezet kínálkozik számos támadási vektorral.
A dolgozói eszközök használatára vonatkozó belső szabályozás általánosságban elég gyér, nincs végrehajtva vagy nem is létezik. Ráadásul az alkalmazottak nem részesülnek megfelelő biztonsági oktatásokban a mobil eszközök tekintetében. Ezen a tesztelés után célzottan lehet javítani.
Miért kell felügyelni az USB portokat?
A mobil eszközök flash meghajtóként való használata igen hatékony eszközzé teszi őket penetráció során. Gondoljunk csak a Stuxnet esetére, vagy a nem is olyan régen kirobbant katonai drónok távoli vezérlésére. Mind a két esetben USB-n keresztül jutottak be a kártékony programok a rendszerbe. Lássuk, mit tehetünk a teszt során, milyen információkat és hogyan nyerhetünk ki. Számos program áll a rendelkezésünkre, amivel csatlakozás után elérhetjük a célunkat. Az USB Hacksaw és Switchblade számtalan lehetőséget kínál erre.
Miután megkértük a vállalati alkalmazottat, engedje meg nekünk, hogy kicsit töltsük a telefonunkat az USB-n keresztül, a program csendben kinyeri az olyan adatokat a Windows rendszerekből, mint a jelszó hash-ek, az LSA és IP információk, a webes előzmények, az űrlapmezők, valamint képes backdoor-t nyitni számunkra, ha később vissza szeretnénk kukucskálni a célrendszerbe; mindezt elképesztő sebességgel.
A másik igen hatékony alkalmazás az USBDumper, amely szintén a háttérben dolgozik. Mi csak töltjük a telefont, még bájcsevegni sem kell közben a figyelemelterelés miatt. Mindeközben a program másolja az adatokat a csatlakoztatott háttértárolókról. Igen elterjedt megoldás konferenciákon, egyetemeken.
Ezen felül lehetőségünk van USB-n keresztül trójaiak rendszerbe juttatására is. Amennyiben a vállalatnak csak szignatúra alapú vírusirtója, van és nem viselkedés alapú, akkor elegendő, ha egy jól bevált trójai forráskódját megszerezzük és részben módosítjuk, ezzel kicselezve a vírusirtók java részét. Hijack-elésnél ne feledjük az SSL csatornát, főként a tűzfal megkerülése és a rejtettség végett!
Javaslat: Az USB portokat és egyéb interfészeket le kell tiltani, és csak a vállalat által hitelesíttetett, dedikált eszközöket szabad engedélyezni az alkalmazottak számára, megfelelő naplózás mellett. Az új generációs tűzfalak és biztonsági programok pedig lehetőséget biztosítanak az SSL csatornák monitorozására is.
A „behatolás”
Vezeték nélküli hálózatok támadásánál számos úton be lehet jutni, vagy legalábbis közelebb kerülni a célponthoz. Például social enginering-rel: interjúkon, közösségi oldalakon, (LinkedIn, Facebook) sőt a Google-ön, esetleg üzleti megbeszéléseken keresztül, de alkalmat adhat rá egy házhozszállítás, takarítás, nyílt nap, vagy egy rendezvény is.
A vezeték nélküli hálózatok hatósugarát nehéz szabályozni, így már akár az épületbe való bejutás nélkül is elérhetjük a célrendszert, akár egy autóból, étteremből vagy kávézóból. A művelethez nagyjából bármely nagyobb teljesítményű „root-olt” Androidos eszköz megfelel. A mobil alkalmazás, amire első körben szükségünk lehet az a Network Discovery, amely elérhető a Google Play-ből, de használhatunk egyéb más map-elő szoftvereket is. Az említett program ingyenes, és nem igényel root-olást sem. Felülete átlátható és könnyen kezelhető. Sok igen hasznos program elérhető már iOS-en is. A Wi-Fi-hálózathoz való csatlakozás után – jelszó szükséges – az alkalmazás felismeri a csatlakozott eszközök gyártóját, típusát és operáció rendszerét. Így már jó rálátást kapunk a kiszemelt célra.
A hálózati felderítés, map-elés csak egy lehetőség, ami a nyílt Wi-Fi hálózatok szkennelésére alkalmas. Ha azonban sérülékenységet és más tulajdonságokat szeretnénk vizsgálni, több programra lehet szükségünk. Egy izraeli biztonsági cég, a Zimperium megalkotta azt a kompakt arzenált, amelyet ANTI – nak (Andoid Network Toolkit) kereszteltek el. Gyakorlatilag nem kell Linux Lászlóvá válnunk, megtanulnunk a TCP/IP alapokat, még csak nmap zenmasternek sem kell lennünk, ha be akarunk törni a hálózatba. Az integrált eszköztár igen széles, ráadásul könnyen értelmezhető egy laikus számára is.
Miután elindítjuk a programot, – telepítéshez root-olás szükséges – el is kezdhetjük a szkent a hálózaton, mint a Network Discovery-nél. Az ANTI meghatározza a csatlakoztatott eszközöket, és itt már a sérülékenységekről is ad képet. Ezeken exploit-okat tudunk elhelyezni Metasploit-ból és ExploitDB-ből, amikkel célzott támadásokat tudunk indítani.
Lehetőségünk van képernyőképeket lopni, MITM támadásokat beékelni, brute force attack-es jelszótörést indítani számos integrált könyvtár segítségével.
A „Cracker” funkció feltárja az eszközök nyitott portjait a hálózaton belül, ami eltarthat egy ideig, a számuktól és a támadásban használt könyvtáraktól függően. A Wi-Fi monitor méri az elérhető hálózatok jelerősségét és a MAC címet is leolvashatjuk vele. „Intrúzív” szkenneléssel pedig megtudhatjuk a potenciális sebezhetőségeket. A támadásokat a hálózaton kívüli HTTP szerverről is el tudjuk végezni egy hasznos modul segítségével.
Javaslat: A kliens oldali tűzfal- és patch-menedzsment segítségével leredukálhatjuk ezeket a sérülékeny pontokat.
Session Hi-Jacking, ARP Spoofing és Wi-FI-s cselek
Sokan ismerhetik a Firesheep nevű programot, amely a Firefox böngészőből nyer ki session-öket. Ennek megvan az Androidos megfelelője, a Droidsheep. Azonban ehhez az alkalmazáshoz is szükséges a root-jog. Sok esetben belassíthatja a hálózatot, így azonosíthatóvá válik, azonban ha kikapcsoljuk az ARP Spoofing-ot azonosíthatatlan lesz. Ebben az esetben a titkosított hálózatokat nem mindig tudjuk „elterelni”. Generikus módban minden lehetséges session-t látunk.
Egy másik igen robusztus megoldás a Network Spoofer (már nem elérhető a store-ból), amely ARP Spofing-ra ad lehetőséget, vagyis módosított webes forgalmat küldhetünk a hálózatra, esetleg egy gépre. Mint említettem igen robosztus több tulajdonsága miatt is, az egyik ilyen a mérete: körülbelül 600MB, mivel alapvetően egy Debian disztribúció Squid proxyval. Számos egyéb támadásra is kiváló az alkalmazás, bár a WPA/WPA2-es hálózatot lelassítja vagy akár meg is béníthatja. A Network Spoofer képes átirányítani a teljes forgalmat a telefonra, így a Shark for root nevű alkalmazással el is tudjuk kapni a csomagokat, és menteni az SD kártyára pcap formátumban. A Shark reader alkalmazás segítségével el tudjuk olvasni, ha pedig FTP-re, laptopra akarjuk felmásolni, a Wireshark lesz a mi barátunk a művelet során. A csomagok megszerzésének van egy igen kézenfekvő módja is. Egyszerűen csinálunk a vállalat nevére emlékeztető hot-spotot, például: vállalat_guest, így a csatlakozott eszközökről közvetlenül nyerünk információt.
Hogyan hack-eljünk távolról?
Az okostelefonok nem csak a programok futtatására alkalmasak, de méretükből adódóan könnyen rejthetőek, így otthonról is be tudunk lesni a hálózatba a megfelelő előkészületek után. Első lépésben el kell helyezni a mobilt valahol az épületben egy töltőre csatlakoztatva. Ez nem egy nagy kihívás, de annál több lehetőséget ad a távoli hálózat, otthonunk kényelméből való vizsgálgatására, tesztelésére. Az eléréshez szükségünk lesz a Remote Web Desktop alkalmazásra, amely a store-ból szintén elérhető. Lényegében ezzel minden alkalmazást el tudunk érni a telefonunkról, így például a log fájlokat is ki tudjuk küldeni egy FTP szerverre.
Szkriptelés
Számos terminálemulátor elérhető Androidra, mint például a ConnectBot, amely sokrétű session-ökre és titkosított csatornákra ad lehetőséget. Az SL4A (Scripting Layer for Android pedig megkönnyíti a szkriptek végrehajtását az eszközön. Telepíthetünk Python-t, amely számos szkript futtatás mellett még a kompromittáló alkalmazásokat is képes letörölni. Természetesen használhatunk SL4A motor alatt Ruby-t, Perl-t, JavaScriptet és Beanshell-t is többek között.
Forrás: https://androbit.org
Szerző: Androbit.org
A szerző
- Az Androbit.org online informatikai magazin minden nap friss olvasnivalóval várja látogatóit. Az IT ipar legkülönbözőbb témáival - Linux, Windows, OS X, Android, programozás, biztonság, design, stb. - foglalkozunk írásainkban, így szinte kizárt, hogy az informatikára éhes látogatók ne találnának kedvükre való olvasmányt az oldalon.