Penetrační testování

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Frixion
Datum: 2.4.2010
Hodnocení/Hlasovalo: 1.88/8

V článku se budeme zabývat penetračním testování. Především se zaměříme na testování sítí a v neposlední řadě zabrousíme k nástrojům pro zautomatizovaný pentesting. Článek je psán vesměs obecně.

Úvod, aneb co se zde vlastně dozvíte


Jak již popis napovídá, pokusím se vám nastínit problematiku penetračního testování (zkráceně pentesting). Dozvíme se, jak postupovat při testování sítí. Nakonec si zveřejníme pár programů pro bezpečnostní audity, případnou doplňkovou studii. Nebude chybět ani samotná časová osa (postup je seřazen chronologicky). Všimněte si rovněž odkazů, které jsou doprovázeny celým textem. Článek je totiž koncipován zároveň jako „rozcestník“ pro lidi, kteří slyší o penetračním testování poprvé a nevědí, co si pod ním představit. Budou nás zajímat otázky: Co je penetrační testování? Čeho všeho se týká? Jak ho zautomatizovat? Co je Red Teaming?
Jdeme na věc. Začneme jak jinak než první otázkou, která zní…


Co je penetrační testování?


Jde o testování převážně sítí za účelem nalezení co nejvíce chyb a následného vniknutí do systému, pokud s tím zákazník souhlasí. Ano slyšíte správně. Pentesting totiž patří mezi techniky etického hackingu. Co to znamená? To znamená, že si vás například najme majitel firmy Otestujmě s.r.o. na penetrační testování za účelem nalezení co největšího počtu chyb. Výsledkem pak bude zpráva, která obsahuje všechny nalezené chyby a důkazy o skutečnosti těchto chyb. Majitel firmy si poté popřípadě najme odborníka a bezpečnostní chybu odstraní.

Jinými slovy, o penetrační testování se jedná, pokud pokusy o eskalaci práv provádí oprávněná strana. V tom případě pentesty můžete provádět i na svém vlastním serveru.

Kdysi se pojem penetrační testování vztahoval pouze na síť a věci s ní spojené. Dnes však tento pojem není výhradou pouze sítí, protože se používá i na testování aplikací, produkčního serveru, osobního PC atp…

Black and White box


Rodíl mezi black boxem a white boxem při penetračním testování je prostý. O black box se jedná, pokud jste firmou najmut jako útočník, který nemá po ruce žádné informace o firmě a její vnitřní infrastruktuře. Pokud jde o white box – má tedy útočník bližší informace jako jsou například zdrojové kódy.

Co všechno zahrnuje?


Skenování portů


Ať už použijete klasický hromadný (ping), nebo speciální programy jako (nmap), nebo velmi rychlý (scanrand) - potřebujete vědět, které porty jsou otevřené a jaké IP se v síti nachází.



Průzkum sítě


Nikdy není na škodu udělat pořádný průzkum sítě. Dříve než začnete skenovat, tak si zjistěte o dané firmě co nejvíce informací. K tomu nám poslouží například databáze(APNIC) | (RIPE) |(WHOIS )| (ARIN ) > co z toho můžeme získat? Tak například nějaké ty IP adresy a jména, ze kterých můžeme vyčíst první potenciální uživatelské loginy. Pro (vyhledávání v Google) použijte například slovo "site:domena.tld", čímž se vyhledávání omezí pouze na vybranou doménu.

Chyby


Nyní nastává samotné hledání chyb. Měli byste tedy mít seznam živých systémů a otevřených portů. Podle portu budeme směrovat druh útoku - IP adresy s otevřeným portem 139 = útok na Windows (Net BIOS) atd… Dále se budeme snažit o (banner grabbing ), odposlechy, hledat nezáplatované části operačního systému atd…

Ověření bezpečnostních děr


Nyní máme informace o cílech, které jsme získali neinterně z databází. Máme také seznam živých systémů a otevřených portů. Naposledy jsme k portu přiřadili službu, ke službě chybu, a nyní je čas chybu zneužít (např. použitím exploitů).
Cílem bude získat co nejvyšší oprávnění a nabourat se do co největšího počtu systémů. Svou práci si nezapomeňte řádně zdokumentovat (report), abyste měli důkaz pro vašeho zákazníka, že se útok skutečně vydařil. Například sejmutý screen soukromé pošty majitele firmy je velmi přesvědčivý důkaz.

Závěr penetračního testování


Penetrační testování má jak své výhody, tak (světe div se) nevýhody. Jako výhodu bych bral odhalení řady zranitelností a přesvědčení zákazníka, že by bezpečnost měl šoupnout na první místo. Jako nevýhodu bych bral fakt, že pentesting dává falešný pocit bezpečí. Ano, je to tak. Toto testování se totiž, jak jsem již řekl, nezabývá testováním všech potenciálních slabin. Pokud si například zaměstnanec firmy vytetuje své heslo na čelo, tak i sebelepší pentest nezabrání vniknutí do systému. Od toho tu je Red Teaming, který je velmi složitý a zabývá se snad všemi možnými způsoby průniku do sítě.

Red Teaming ve zkratce


Takzvaný červený tým nám má nalézt všechny možné průniky do sítě. Zahrnuje tedy nejen pentesting, ale i (sociální útoky), reakce personálu, (war dialing), tipování hesel, testování IDS… Už ze samostatného názvu lze vyčíst, že red teaming se dělá v týmu - každý má svou úlohu ve které vyniká. Pokud je red teaming prováděn skrytě, má výhodu v otestování reakcí zaměstnanců firmy. Jak se například vypořádají s fyzickým narušením? Přijde se na to, že jste se interaktivně přihlásili pod servisním účtem? Půjčí vám na chvíli někdo svůj počítač? Na tyto všechny otázky vám právě red teaming odpoví.

Systémové testy v krátkosti


Systémové testy se soustředí jenom na jeden určitý program, softwarový balík nebo část OS. Z toho vyplývá menší šance na útok. Dělí se na (surface enumeration)
a footprinting. Nakonec samostatné zneužití nalezených chyb. V první fázi testujeme "povrch", tedy sledujeme, jak se chová aplikace například při instalaci, v běžném provozu a při následném procesu deinstalace. Poté nastává samostatný útok. Jelikož tomu nerozumím, nebylo by moudré to dál rozvádět.

Zautomatizované audity


(poznatek: není na škodu znát základy pythonu)
Výhodou je jednoznačně ušetření času a kvalita (exploitů), které nástroje pro automatické testování vlastní. Věřte mi, je rozdíl mezi povedeným a nepovedeným exploitem, který je tak akorát dobrý na shození sítě. Navíc ne každý si dokáže napsat exploit. Abych to shrnul, rychlost a kvalita mluví pro profesionální frameworky. Za zmínku rozhodně stojí program (Core IMPACT), ve kterém je práce o mnoho jednodušší.

Další prospěšný nástroj pro automatické penetrační testování je (CANVAS) a nakonec pravděpodobně nejznámější (Metasploit Framework).



Penetrační nátěry


(dodatek pro uživatele soomu - Traxik)

Penetrační nátěr je nízkoviskózní nátěrová hmota zpravidla bez plniv, určená pro napouštění (penetraci) savých podkladů s cílem umožnit zakotvení hydroizolačních nebo jiných vrstev.
Podklad určený k nanesení penetrace musí být čistý, suchý, soudržný a bez ostrých výčnělků. Nesoudržné části a výčnělky penetrovaných konstrukcí je třeba odstranit a povrch vyspravit. Oleje, tuky a jiné nečistoty je třeba z penetrovaného podkladu odstranit. Veškeré zdivo se před nanesením penetračního nátěru omítá. Penetrovaný podklad musí být ve vlhkostním stavu umožňujícím vytvoření souvislé vrstvy penetračního nátěru (doporučujeme před realizací ověřit na malé ploše). Penetrovaný podklad pro následné provádění asfaltových pásů musí splňovat podmínky nutné pro jejich řádné navaření.
(ZDROJ)

Závěr


Tento článek byl sepsán pro SOOM.cz. Doufám, že jsem vám aspoň trochu nastínil problematiku penetračního testování a těch ostatních věcí kolem toho. Frixion