1 / 58

A rendszer próbája: az etikus hackelés és penetrációs tesztelés

A rendszer próbája: az etikus hackelés és penetrációs tesztelés. Krasznay Csaba. Mottó. „Ismerd meg az ellenséget, és ismerd meg önmagadat, így akár száz csatát is megvívhatsz vereség nélkül” – Szun Ce Minden biztonsági rendszer annyit ér, amennyit a leggyengébb láncszeme.

yered
Télécharger la présentation

A rendszer próbája: az etikus hackelés és penetrációs tesztelés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A rendszer próbája: az etikus hackelés és penetrációs tesztelés Krasznay Csaba

  2. Mottó • „Ismerd meg az ellenséget, és ismerd meg önmagadat, így akár száz csatát is megvívhatsz vereség nélkül” – Szun Ce • Minden biztonsági rendszer annyit ér, amennyit a leggyengébb láncszeme. • A leggyengébb láncszem megtalálása, és a gyengeség fokának felmérése azonban nem egyszerű feladat. • Az egyik hatékony módszer a gyengeségek megtalálására egy külső szakértő bevonása a biztonság átvizsgálására.

  3. Biztonságos rendszer fejlesztése • A biztonságnak minden rendszerfejlesztési modellben helye van, azt nem szabad kihagyni!!! • Minden modell tipikusan tartalmazza a következő életcikluson átívelő lépéseket, ezen belül pedig a harmadik fél által végzett biztonsági vizsgálatokat: • Kezdeményezési fázis • Beszerzési/fejlesztési fázis • Megvalósítási fázis • Vizsgálat és elfogadás • Rendszerintegráció • Biztonsági tanúsítás • Biztonsági akkreditáció • Működtetési/fenntartási fázis • Konfigurációmenedzsment és felügyelet • Folyamatos ellenőrzés • Kivonási fázis

  4. Biztonságos rendszer fejlesztése • Vizsgálat és elfogadás: meggyőződés arról, hogy a szervezet érvényesítette és ellenőrizte, hogy a specifikációban meghatározott funkcionalitás megjelenik az átadott termékekben. Ez a biztonsági funkcionális tesztelés. • Biztonsági tanúsítás: meggyőződés arról, hogy a kontrollok hatékonyan lettek implementálva. Ez bizonyítja a szervezet döntéshozóinak azt, hogy a megfelelő védelmi intézkedések működnek, és megvédik a szervezet információs rendszerét. A biztonsági tanúsítás emellett felfedi és leírja az információs rendszer sérülékenységeit. Ez lehet egy szabvány szerinti tanúsítás során elvégzett sérülékenység-vizsgálat vagy behatolás-tesztelés. • Folyamatos ellenőrzés: meggyőződés arról, hogy a kontrollok folyamatosan hatékonyan működnek. Ez periodikus teszteléssel és értékeléssel érhető el. Ez lehet behatolás-tesztelés vagy etikus hackelés.

  5. A harmadik fél által végzett vizsgálatok • Egy külső szakértő bevonása tehát a rendszer életciklusának több fázisában is indokolt lehet. • Különböző fázisokban különböző típusú ellenőrzések indokoltak: • Biztonsági funkcionális tesztelés: az újonnan fejlesztett rendszer (alkalmazás) beépített védelmi kontrolljainak megfelelőségi ellenőrzése. Pl. nézzük meg, hogy tényleg legalább 8 karaktert kell-e megadni jelszónak. • Sérülékenység-vizsgálat: az újonnan fejlesztett rendszer (alkalmazás) védelmi kontrolljainál előforduló sebezhetőségek felderítése. Pl. white-box tesztelés során a sérülékeny függvények felderítése. • Behatolás-tesztelés: az újonnan fejlesztett vagy már működő rendszer védelmi kontrolljainak kijátszása műszaki megoldásokkal, bármilyen kapcsolódó környezeti infrastruktúra felhasználásával. • Etikus hackelés: a működő rendszer védelmi kontrolljainak kijátszása bármilyen technikával. Ebbe beletartozik az emberi ráhatással (social engineering) történő támadás is.

  6. A harmadik fél által végzett vizsgálatok Teljes információs rendszer Etikus hackelés Behatolás- tesztelés Rendszer komplexitása Sérülékenység- vizsgálat Biztonsági funkci- onális tesztelés Alkalmazás Teljes hozzáférés Semmilyen információ Jogosultsági szint

  7. Mi az etikus hackelés? • Az etikus hackelés ezek alapján a külső szakértő által végezhető biztonsági vizsgálatok közül a legösszetettebb feladat. • Több szakértő összehangolt munkáját igényli, akiknek feladata a vizsgált szervezet összes sérülékenységének felderítése. • Magában foglalhatja a funkcionális tesztelést, a sérülékenység-vizsgálatot és a behatolás-tesztelést is, a feladat jellegétől függően.

  8. Az etikus hackelés projekt

  9. Az etikus hackelés projekt • Valójában a projekt folyamata a következő: • A megfelelő emberek kiválogatása • Megfelelő szerződések megkötése, engedélyek megszerzése, tervek benyújtása • Felderítés • Felmérés • Támadási tesztkörnyezet összeállítása • Sérülékenység hozzárendelés • Kihasználás • Kiterjesztés • Incidenskezelés tesztelése • Jelentés

  10. A megfelelő emberek kiválogatása • Minden etikus hackelés projekt más, így mindig a feladatra legalkalmasabb embereket kell összeválogatni. • A projekt műszaki vezetője olyan ember, aki a feladat teljes folyamatát átlátja, képes összehangolni a munkatársak munkáját. A legjobb választás egy komoly szakmai múlttal rendelkező IT biztonsági szakember (lehet akár egy ex-hacker is). • A csoportvezetők feladata a különböző résztevékenységek koordinálása, a kapcsolattartás a megrendelő felé, a részfeladat adminisztrációjának ellátása. Általában a műszaki vezetői és csoportvezetői szerepkört ugyanaz a személy tölti be. • A csoporttagok megválasztásánál elsődleges feladat az egyéni képességek felmérése. Egy ilyen projektben szükség lehet programozási, hálózati, fizikai biztonsági és pszichológiai képességekre is.

  11. Szerződések, engedélyek, tervek • Mielőtt bármit is teszünk, az ügyfélnek tudnia kell az összes lépésünkről. • Az ügyféllel meg kell ismertetni az összes lehetséges negatív hatást. • Miután megismerte a tervezett lépéseket, minden egyes mozzanatot jóvá kell vele hagyatni. • A tervezetben általában az szerepel, hogy a megbízott mit fog csinálni, és ennek milyen kockázatai vannak. A hogyan sokszor homályban marad, hiszen így lehet valósághűen szimulálni a szervezet sérülékenységeit. • A végrehajtás során ezért veszélybe kerülhetnek a csoporttagok, így fontos, hogy mindenki rendelkezzen egy támogató nyilatkozattal (szabaduló kártyával).

  12. Felderítés • Az etikus hackelés projekt során általában semmilyen információt nem adnak ki a vizsgálat alatt álló szervezetről. • Ezért az első feladat a célpont felderítése. • Ez olyan tevékenységeket jelent, melyeknek során nyilvános vagy kiszivárgott információkat gyűjtenek össze a célpontról. • Erről a tevékenységről semmilyen módon nem értesül az ügyfél, hiszen az etikus hacker nem lép vele kapcsolatba.

  13. Felderítés • Az információmorzsák összegyűjtésének forrásai : • Céges weboldal • Kapcsolódó vállalkozások (pl. cégjegyzék) • Telephellyel kapcsolatos információk (Google Map) • Telefonszámok, kontaktszemélyek, e-mail címek • Aktuális események (pl. sajtóközlemények) • Nyilvánosan elérhető műszaki információk (szabályzatok, szabványok, stb.) • Archív információk (pl. www.archive.org) • Alkalmazottaktól kiszivárgó információk (pl. blogok, iWiW) • Keresők által szolgáltatott információk (pl. Google hacking) • Bármilyen más relevánsnak tűnő információ

  14. Céges weboldal

  15. Telephely

  16. Telefonszámok

  17. Aktuális események

  18. Nyilvánosan elérhető szabályzatok

  19. Archív oldalak

  20. Kiszivárgó információk

  21. Felderítés • IP információk összegyűjtése: • www.ripe.net • GeoTool: www.rleeden.no-ip.com/geotool.php • www.domain.hu • DNS információk összegyűjtése • txDNS • DNSMap • www.dnsstuff.com • Hálózati felderítés • traceroute • paratrace • 0trace

  22. Felderítés • Videó 1…

  23. Felmérés • Bekapcsolt számítógépek megtalálása: • fping • nmap • Nyitott portok azonosítása • nmap • Általában alacsony portokon vannak érdekes szolgáltatások • Ha alacsony porton nincs semmi érdekes, érdemes a magas, esetleg az UDP portokon is körülnézni

  24. Felmérés • Operációs rendszer azonosítása • nmap –O • Szolgáltatások verzióinak azonosítása • nmap –sV • telnet <host> <port> • www.netcraft.com • Sérülékenységek keresése • Nessus • Foundstone

  25. Felmérés • Videók 2, 3, 4…

  26. Támadási tesztkörnyezet összeállítása • Ez magában foglalja a támadási környezetet és az áldozat hálózat szimulációját is (bár ez nem jellemző) • A támadási környezet állhat • Erre a célra kifejlesztett Live CD-ből (pl. Backtrack) • Olyan virtuális (VmWare vagy MS Virtual PC) gépekből, melyekre a támadott környezet ismeretében kerülnek fel eszközök • Az áldozat szimulációját a felmérés eredményeiből, virtuális gépen lehet összeállítani • Ez segít abban, hogy a sikertelen kihasználási próbálkozások ne tűnjenek fel a célpontnál

  27. Kihasználás • Az etikus hackelés ezen fázisától kezdve nem lehet mechanikus munkáról beszélni. • A felmérés eredményei alapján számtalan elágazás lehetséges. • A legtipikusabb támadási utak: • Az operációs rendszer hibáinak kihasználása • Sérülékeny rendszerszolgáltatások kihasználása (pl. webszerver, FTP szerver, VPN, stb.) • Alkalmazáshibák kihasználása (pl. rosszul megírt webes alkalmazások hibáinak megtalálása) • Az emberi tényező kihasználása (-> social engineering)

  28. Az operációs rendszer hibáinak kihasználása

  29. Az operációs rendszer hibáinak kihasználása

  30. Sérülékeny rendszerszolgáltatások kihasználása • Az operációs rendszerekhez a tűzfalak miatt általában nem férünk hozzá. • A különböző rendszerszolgáltatások azonban látszódnak. • A felderítés során tudomásunkra jutottak a szolgáltatások verziói. • Továbblépés: • Vagy találunk hozzá exploitot, • Vagy találunk hozzá olyan eszközt, ami a beállítási hibákat segít megtalálni (pl. gyenge jelszavakat)

  31. Sérülékeny rendszerszolgáltatások kihasználása

  32. Sérülékeny rendszerszolgáltatások kihasználása

  33. Sérülékeny rendszerszolgáltatások kihasználása • Videó 5…

  34. Alkalmazáshibák kihasználása • A szervezetek legnyilvánvalóbb támadási felülete a weboldala. • Ez különösen akkor érzékeny, ha • belső hostolású, • dinamikus weboldal, • melyet nem megfelelő biztonsági tervezéssel állítottak elő, • ami nincsen megfelelően elszeparálva a belső hálózattól, • ráadásul a webhost mellett érzékeny adatokat is tárolnak rajta.

  35. Alkalmazáshibák kihasználása • Legfőbb webes hibák az OWASP szerint: • Cross Site Scripting (XSS) • Beszúrásos hibák (pl. SQL injection) • Kártékony fájlvégrehajtás (pl. fájlfeltöltés) • Nem biztonságos direkt referencia (pl. direkt fájlhivatkozás) • Cross Site Request Forgery (CSRF) • Információszivárgás és nem megfelelő hibakezelés (pl. beszédes hibaüzenetek) • Feltört hitelesítés és session kezelés (pl. megjósolható session azonosítók) • Nem megfelelő kriptográfia a tárolásnál (pl. XOR használat) • Nem biztonságos kommunikáció (pl. gyenge SSL) • Az URL hozzáférés tiltásának a hibája (pl. olyan fájlok, könyvtárak felderítése, melyeket nem lehetne látni – directory traversal)

  36. Alkalmazáshibák kihasználása • Videó 6…

  37. Az emberi tényező kihasználása • „… the art and science of getting people to comply with your wishes.” (People Hacking, Harl) • A social engineering (SE) nem más, mint annak a művészete és tudománya, hogy miként vegyünk rá személyeket arra, hogy a mi akaratunknak megfelelően cselekedjenek. • A SE támadás csak a támadási mód tekintetében tér el bármely más információ vagy erőforrás elleni támadástól, ebben az esetben az emberi gyengeségeket használják ki a támadók, megkerülve ezáltal a hardver és szoftver eszközök segítségével implementált biztonsági kontrollokat. A legvégső biztonsági tényező maga az ember, ha őt magát sikerül megtéveszteni, máris tárva-nyitva áll az út a támadó számára.

  38. A Social Engineering módszertana • Minden social engineering támadás más és más, ugyanakkor mint a legtöbb támadási formának, így a social engineering-nek is van forgatókönyve, létezik egy minta, amelyet minden SE támadás használ. A forgatókönyv lépései a következők: • Információszerzés • Kapcsolatépítés • A kapcsolat kihasználása (felhasználása) * • Végrehajtás – a tervezett cél megvalósítása

  39. Információszerzés • Az információszerzés célja, hogy a forgatókönyv második lépéséhez szükséges információk előálljanak, azaz a kapcsolatépítés lehetővé váljon, mi több gördülékenyen menjen és a kiépített kapcsolat jól felhasználható legyen a cél elérése érdekében. • Ez a legtöbb időráfordítást igénylő lépése a SE támadásnak, egyben a legfontosabb is. • Minél több információt sikerül megszereznie a támadónak, annál minőségibb kapcsolatot tud építeni, és minél minőségibb a kapcsolat, annál könnyebben használható fel a következő lépésekben.

  40. Információszerzés • Direkt telefonos megkeresés: • Ennek során telefonon próbálunk olyan információkhoz hozzájutni, melyek segítenek a támadás célpontjául szolgáló személlyel kapcsolatot építeni vagy a támadás során később felhasználhatóak lesznek. Ilyenek például az illetékesek nevei, elérhetőségei, azonosítói (esetleg jelszavai), munkaidő-beosztása, helyettesítői vagy hozzáférési módok stb. • Célzott levél • A célzott levél eljuttatása a támadás célpontjául szolgáló személy részére további információkat szolgáltathat számunkra. Egy egyszerű kérdőívnek álcázott levéllel megtudhatjuk születési dátumát, a házi kedvenc nevét, autója típusát, kedvenc hírportálját (ahol aztán a fórumban esetleg megtalálhatjuk őt) és sok egyéb dolgot, ami még közelebb vihet bennünket ahhoz, hogy jó kapcsolatot építhessünk ki a célszeméllyel. A kérdőív kitöltésére rávehetjük valami nyereménylehetőség megadásával vagy akár magunk is küldhetünk neki nyereményt, ami csak akkor vehet át, ha bizonyos adatokat megad esetleg aláírásával hitelesít.

  41. Információszerzés • Dumpster Diving (kukaátvizsgálás) • A dolgozók irodai hulladékának átvizsgálásával hozzájuthatunk belső levelezéshez, naptárbejegyzésekhez, feljegyzésekhez, draftokhoz, szervezeti ábrákhoz, ami segít bennünket abban, hogy a célszemély munkahelyi életébe minél inkább bele lássunk és a későbbi támadás során az adott környezetben eligazodjunk. • Shoulder Surfing („vállszörf”) • A vállszörf lehetősége akkor adott számunkra, ha fizikailag az illető közelébe kerültünk (feltehetően az irodában). Ezt például egy olcsó ajándék kikézbesítése során tudjuk megtenni, amennyiben nem vagyunk a vállalat alkalmazottai. Akár jelszavak birtokába is juthatunk.

  42. Kapcsolatépítés • A kapcsolatépítés során a célszemélyt a következők motiválhatják abban, hogy akaratuk ellenére segítségünkre legyenek: • A felelősség elhárítása • A morális bűnösség érzésének elkerülése • A jó megítélés megszerzése • Segítőkészség • A vágy, hogy kaphat VALAMIT cserébe SEMMI(SÉG)ÉRT • Kíváncsiság, tudatlanság, gondatlanság, bosszú.

  43. Kapcsolatépítés • A kapcsolatépítést segíti, ha: • A támadó a célszeméllyel szemben konstruktívan és nem támadó szellemben lép fel. • Ha korábban apró szívességeket tettünk vagy kedvességgel szolgáltunk a célszemély felé, így akár nagyobb szívességre is hajlandó később. • Emberségünket hangsúlyozzuk, megértők vagyunk, nem csupán egy hang a telefonban. • Ha a támadó gyorsan alkalmazkodik a kialakult szituációhoz. • Az így kiépített kapcsolat célja, hogy a támadó úgy pozícionálja magát a célszemély előtt, hogy az megbízzon benne és később ez a bizalom kihasználható legyen.

  44. A kapcsolat kihasználása • Ha sikerült megbízható kapcsolatot kiépíteni, a támadónak lehetősége van irányítani, azaz kihasználni a célszemélyt. • A kihasználás lehet egy egyszerű kód átadása, amivel a vidéki telefonálás számunkra ingyenessé válik, de lehet akár egy password átadása vagy a kulcs – ideiglenes – ránk bízása, amit lemásolva a szerverszobába (vagy a főnök irodájába) már gond nélkül bármikor bejuthatunk. • Ez lehet akár a támadás végcélja is, amennyiben „csak„ ingyen telefonálni szeretnék, de lehet akár a következő lépés első fázisa.

  45. Végrehajtás • Amennyiben célunk nem a fentiek valamelyike volt, úgy ebben a fázisban lehetőségünk van végrehajtani az eredetileg tervezett támadást. Hozzáférni a szerverek bármelyikéhez és manipulálni azokat vagy üzleti iratokat másolni és visszaélni velük a zárt irodaajtó kinyitását követően. • Tehetjük mindezt nyomtalanul, pontosabban ránk utaló nyomok (bizonyítékok) nélkül.

  46. Social Engineering technikák • Számítógép alapú technikák • Popup ablakok – pl. megjelenik egy ablak, amely azt mondja, hogy megszakadt a hálózati kapcsolat, kérem adja meg azonosítóját és jelszavát, majd - csodák-csodája - minden működik megint. Persze az azonosítót meg a jelszót elküldi egy külső gépre e-mailben a támadónak. • E-mailben csatolt állomány – ősi módszer mégis hatásos. E-mail csatolmányként érkezik egy kémszoftver amit csak le kell futtatni. (elég pl. pucer-lanyok.exe nevet adni neki máris sokan el fogjak indítani) Ennek a módszernek számos kifinomult verziója létezik. • „Elhagyott” CD lemez – a kémszoftver célba juttatásának másik megoldása, nem kell mást tennünk csak annyit, hogy egy lemezt „felejtünk” a vállalati printer mellett mondjuk „Sexy Girls” felirattal – és persze a videó fájl mellett egy elrejtett kártékony kóddal. • Weboldalak – ez egy “szakállas” trükk. Ajánlani kell valami ingyenes dolgot egy weboldalon. A nyeremény átvételéhez csak adjon meg a kedves nyertes egy e-mail címet és egy jelszót. Nagyon sokan ugyanazt a jelszót adják meg amit bent a cégnél is alkalmaznak.

  47. Social Engineering technikák • Humán alapú technikák • Megszemélyesítés – az esetek nagy része azt mutatja, hogy a help-desk szolgáltatás az egyik leggyakrabban támadott felület. A támadó - mint szimulált alkalmazott, persze valós névvel és adatokkal - betelefonál a help-desknek, hogy elfelejtette a jelszavát és kéri, hogy adjanak neki egy újat. Ez sok esetben sikerrel jár. Ennél persze léteznek kifinomultabb módszerek. Ha már sikerült megszerezni egy felhasználó nevét és mobil telefonszámát, úgy felhívhatjuk valamikor késő este mint egy belső support munkatárs, hogy az ő gépéről valaki bejelentkezett egy szervere, és emiatt az éjszakára tervezet átállást nem tudja végrehajtani. Ha volna kedves bejönni (célszerű vidéki kollégát választani) és kijelentkezni az megoldást jelentene. De persze az is jó, ha megadja a felhasználónevét és a jelszavát… Vajon melyiket választja majd? • Fontos Ember - egy gyakori trükk, hogy nem egy akármilyen embert személyesítünk meg, hanem mondjuk magát a vezérigazgatót. A célszemély általában nem mond nemet, ha maga a vezér telefonál és kéri, hogy öt percen belül adjanak neki egy új jelszót vagy a kért információt. Sokszor még egy kis megfélemlítés is belefér ha akadékoskodna a célszemély.

  48. Social Engineering technikák • Harmadik fél felhatalmazása – a támadó megszerzi egy fontos ember nevét és beosztását, majd felhívja a célszemélyt, hogy Fontos Úr kérésére azonnal adják oda a következő adatokat. Ez különösen akkor hatékony ha Fontos Úr éppen szabadságon van és ezt tudatosítjuk a célszeméllyel is, sőt az a legjobb, ha ezzel ő magától is tisztában van (közeli kolléga). • Mi vagyunk a Help-Desk – felhívjuk bármelyik alkalmazottat és tesztre hivatkozva elkérjük a jelszavát, praktikus ha jelezzük felé, hogy amennyiben nem fut le a teszt, úgy elképzelhető, hogy néhány óra múlva nem fog tudni bejelentkezni és akkor új accountot kell igényelnie a megszokott módon. • Gyámoltalan felhasználó – a támadó új kollégának kiadva magát segítséget kér a titkárnőtől, elmondja, hogy új a cégnél, az accountjával még gondok vannak, most sem sikerült belépnie, viszont sürgős feladata van már most, amit a főnökének kell elvégeznie egy órán belül. Ha a titkárnő bejelentkezne addig amíg elvégzi, az nagy segítség volna, csak Excel kell a munkához.

  49. Social Engineering technikák • Személyesen – a támadó besétál (bejut) az épületbe, mint alkalmazott, vendég vagy szerviz munkás. Öltözhet öltönybe vagy munkásruhába. Az épületek, szobák nagy részében szabadon járkálhat és gyűjthet információkat. • Kukaátvizsgálás – átnézni egy cég irodai hulladékait értékes információk után kutatva. • Váll-szörf – Egyszerűen meglesni valakinek a válla fölött, hogy milyen jelszót gépel be. Ezen sorok írója például a postai sorban állás során szokott elcsípni bankkártya PIN kódokat.

  50. A Social Engineering eredménye • A vizsgálat eredményeképpen láthatóvá válik, hogy mi az amin változtatni kell a: • Fizikai biztonság (beléptetés, zónák kialakítása, stb.) • Információ osztályozás (hozzáférés menedzsment stb.) • Üzemeltetés biztonsága (support feladatok és folyamatok stb.) • Oktatás (Awareness, felhasználói képzés stb.) terén. • A vizsgálat eredményéről vizsgálati jelentés készül, mely tartalmazza a sikeres és sikertelen támadások leírását egyaránt.

More Related