Penetration Testing je autorizovaný simulovaný kybernetický útok na počítač, jehož cílem je vyhodnotit bezpečnost systému. Testování se provádí k identifikaci všech slabých míst (známých také jako zranitelnosti), včetně možnosti přístupu neoprávněných stran k funkcím systému a datům, stejně jako silných stránek, které umožňují neoprávněným stranám přístup k funkcím systému a datům.
Co je penetrační testování?
Co je penetrační testování?
Penetration Testing, také známý jako testování perem, pentest nebo etické hackování, je simulovaný útok na počítačový systém za účelem testování zranitelností, které lze zneužít. V zabezpečení webových aplikací se penetrační testování často používá k posílení firewallů webových aplikací (Web Application Firewall - WAF).

Testování perem může zahrnovat pokusy o narušení libovolného počtu aplikačních systémů (např. rozhraní aplikačních protokolů – API, frontend/backend servery) za účelem odhalení zranitelností, zranitelností, jako je neověřený vstup, který je zranitelný vůči vložení škodlivého kódu.
Statistiky poskytnuté penetračním testováním lze použít k upřesnění bezpečnostních zásad WAF a opravě zjištěných zranitelností.
Fáze penetračního testování
Proces testování pera lze rozdělit do 5 fází.

1. Pasivní sběr a sledování informací
V první fázi penetračního testování a testování bug bounty musí testeři shromáždit informace o cílovém systému. Vzhledem k tomu, že existuje poměrně málo metod útoků a testování, musí penetrační testeři upřednostňovat na základě shromážděných informací, aby určili nejvhodnější metodu.
Tento krok zahrnuje extrahování cenných podrobností o infrastruktuře cílového systému, jako jsou názvy domén, síťové bloky, směrovače a IP adresy v rámci jeho působnosti. Kromě toho musí být shromážděny všechny relevantní informace, které by mohly zvýšit úspěšnost útoku, jako jsou data zaměstnanců a telefonní čísla.
Data získaná z otevřených zdrojů během tohoto období mohou přinést překvapivě důležité detaily. Aby toho dosáhli, musí white hat hackeři využít různé zdroje, se zvláštním důrazem na webové stránky cílové organizace a platformy sociálních médií. Pečlivým shromažďováním těchto informací položí testeři základ pro úspěšnou snahu o odměnu za chyby.
Většina organizací však během procesu bug bounty ukládá penetračním testerům různá pravidla. Od těchto pravidel je nutné se z právního hlediska neodchýlit.
2. Proaktivně shromažďujte a skenujte informace

Penetrační tester zjistí, která aktivní a pasivní zařízení jsou aktivní v dosahu IP, obvykle pasivním sběrem během bug bounty. S pomocí informací získaných během tohoto procesu pasivního sběru musí pentester určit svou cestu - musí stanovit priority a přesně určit, které testy jsou nezbytné.
Během tohoto období se hackeři nemohou vyhnout získání informací o operačním systému, otevřených portech a službách a také informací o jejich verzi na živých systémech.
Kromě toho, pokud organizace legálně požaduje, aby penetrační testery mohly monitorovat síťový provoz, lze shromáždit kritické informace o systémové infrastruktuře, alespoň v co největší míře. Většina organizací však toto oprávnění udělit nechce. V takové situaci nesmí penetrační tester jít nad rámec pravidel.
3. Krok analýzy a testování
V této fázi se penetrační tester poté, co zjistí, jak bude cílová aplikace reagovat na různé pokusy o narušení, pokusí navázat pracovní spojení se systémy, které detekuje, je aktivní a snaží se plnit přímé požadavky. Jinými slovy, toto je fáze, kdy hacker s bílým kloboukem interaguje s cílovým systémem efektivním využíváním služeb jako FTP, Netcat a Telnet.
Navzdory neúspěchu v této fázi je zde hlavním účelem kontrolovat data získaná během kroků shromažďování informací a dělat si poznámky.
4. Pokusy o manipulaci a vykořisťování
Útočná fáze penetračního testování
Penetrační testeři shromažďují všechna data shromážděná v předchozích procesech za jediným cílem: Pokusit se získat přístup k cílovému systému stejným způsobem, jakým by to udělal skutečný, zákeřný hacker. Proto je tento krok tak důležitý. Protože při účasti na bug bounty programech by penetrační testeři měli myslet jako skuteční hackeři.
V této fázi se penetrační tester pokouší proniknout do systému pomocí operačního systému běžícího na cílovém systému, otevřených portů a služeb sloužících na těchto portech a také možné exploity, které mohou být použitelné v závislosti na jejich verzi. Vzhledem k tomu, že webové portály a aplikace se skládají z velkého množství kódu a mnoha knihoven, mají zákeřní hackeři větší dosah k útoku. V tomto ohledu by měl dobrý penetrační tester zvážit všechny možnosti a nasadit všechny možné útočné vektory povolené v rámci pravidel.
To vyžaduje vážné odborné znalosti a zkušenosti, aby bylo možné úspěšně a flexibilně využívat existující exploity, aniž by došlo k poškození systému a bez zanechání jakýchkoliv stop během převzetí systému. Proto je tato fáze penetračního testování tím nejdůležitějším krokem.
5. Úsilí o posílení výsad
Síla systému je dána jeho nejslabším článkem. Pokud hacker s bílým kloboukem získá přístup k systému, obvykle se do systému přihlásí jako uživatel s nízkou autoritou. V této fázi musí mít penetrační testeři práva správce, kteří využívají zranitelnosti operačního systému nebo prostředí.
Poté se zaměří na převzetí dalších zařízení v síťovém prostředí s využitím dodatečných oprávnění, kterých dosáhli, a případně oprávnění uživatelů nejvyšší úrovně, jako je správce domény nebo správce databáze.
6. Reportování a prezentace

Penetrační testeři hlásí výsledky lovu chyb a dostávají odměny
Jakmile jsou kroky penetračního testování a bug bounty dokončeny, musí penetrační tester nebo lovec chyb prezentovat bezpečnostní zranitelnosti, které objevil v cílovém systému, další kroky a jak mohou tyto zranitelnosti pro organizaci zneužít pomocí podrobné zprávy. To by mělo zahrnovat informace, jako jsou snímky obrazovky, ukázkový kód, fáze útoku a způsob, jakým by se tato chyba zabezpečení mohla objevit.
Závěrečná zpráva musí také obsahovat doporučení řešení, jak uzavřít jednotlivé bezpečnostní chyby. Citlivost a nezávislost penetračních testů zůstává záhadou. Hackeři bílého klobouku by nikdy neměli sdílet důvěrné informace získané v této fázi a nikdy by neměli tyto informace zneužít poskytnutím nepravdivých informací, protože to je obvykle nezákonné.
Metody penetračního testování

Externí test (Externí penetrační testování)
Externí penetrační testování se zaměřuje na „aktiva“ společnosti, která jsou viditelná na internetu, jako je samotná webová aplikace, webové stránky společnosti, e-mail a servery doménových jmen (DNS) . Cílem je získat přístup a extrahovat cenná data.
Interní test (penetrační testování zevnitř)
Při interním penetračním testování tester s přístupem k aplikaci za firewallem simuluje útok zasvěceného člověka. Tento útok nejen varuje před možností, že by interní zaměstnanec mohl být hackerem, ale také připomíná administrátorům, aby zabránili odcizení přihlašovacích údajů zaměstnance v organizaci po phishingovém útoku .
Slepý test („slepý“ test)
Ve slepém testu dostane tester pouze název firmy, na kterou je zaměřen. To poskytuje bezpečnostním pracovníkům v reálném čase přehled o tom, jak by aplikační útok probíhal v praxi.
Dvojitý slepý test
Při dvojitém slepém testu nemá bezpečnostní důstojník žádné předchozí znalosti o simulovaném útoku. Stejně jako v reálném světě není vždy možné znát útoky předem a zlepšit tak obranu.
Cílené testování
V tomto scénáři budou tester i bezpečnostní důstojník spolupracovat a průběžně vzájemně vyhodnocovat své akce. Jedná se o cenné školení, které poskytuje bezpečnostnímu týmu zpětnou vazbu v reálném čase z pohledu hackera.
Penetrační testování a firewally webových aplikací

Penetrační testování a WAF jsou nezávislá bezpečnostní opatření, ale poskytují doplňkové výhody.
Pro mnoho typů testování perem (kromě slepého a dvojitě slepého testování) mohou testeři použít data WAF, jako jsou protokoly, k nalezení a využití slabých míst aplikace.
Správci WAF zase mohou těžit z dat testu pera. Po dokončení testování lze konfiguraci WAF aktualizovat, aby byla chráněna před slabinami zjištěnými během testování.
A konečně, testování pera splňuje řadu požadavků na bezpečnostní testování, včetně PCI DSS a SOC 2. Některé standardy, jako je PCI-DSS 6.6, lze splnit pouze pomocí certifikovaného WAF.
Hacker Toolkit s bílým kloboukem

Hackeři s bílým kloboukem používají testování perem k nalezení chyb a zranitelností
Etické hackování není práce, která vyžaduje pouze dovednosti. Většina bílých hackerů (etických hackerů) používá specializované operační systémy a software, aby si usnadnila práci a vyvarovala se manuálních chyb.
K čemu tedy tito hackeři používají testování perem? Níže uvádíme několik příkladů.
Parrot Security je operační systém založený na Linuxu určený pro penetrační testování a hodnocení zranitelnosti. Je vhodný pro cloud, snadno se používá a podporuje různé open source software.
Live Hacking OS
Také operační systém Linux, Live Hacking, je vhodnou volbou pro ty, kteří provádějí pentesting, protože je lehký a nevyžaduje vysoký hardware. Live Hacking je dodáván s předem zabalenými nástroji a softwarem pro penetrační testování a etické hackování.
Nmap je open source inteligentní nástroj (OSINT), který monitoruje sítě, shromažďuje a analyzuje data o hostitelích zařízení a serverech, díky čemuž je cenný pro černé, šedé a bílé hackery.
Nmap je také multiplatformní a funguje s Linuxem, Windows a macOS, takže je ideální pro začínající etické hackery.
WebShag
WebShag je také nástroj OSINT. Jedná se o nástroj pro testování systému, který skenuje protokoly HTTPS a HTTP a shromažďuje relativní data a informace. Používají jej etičtí hackeři k provádění externích penetračních testů prostřednictvím veřejných webových stránek.
Kam na penetrační testování?
Testování vlastní sítě perem není tou nejlepší možností, protože o ní možná nemáte dostatek hlubokých znalostí, takže je pro vás obtížné myslet kreativně a najít skrytá zranitelnost. Měli byste si najmout nezávislého white hat hackera nebo služby společnosti, která poskytuje služby testování per.
Najímání cizích osob, aby se nabourali do vaší sítě, však může být velmi riskantní, zvláště pokud jim poskytujete důvěrné informace nebo interní přístup. To je důvod, proč byste měli používat důvěryhodné poskytovatele třetích stran. Zde je několik návrhů pro vaši referenci:
HackerOne.com
HackerOne je společnost se sídlem v San Franciscu, která poskytuje služby penetračního testování, hodnocení zranitelnosti a testování souladu s protokoly.
ScienceSoft.com
Společnost ScienceSoft se sídlem v Texasu poskytuje služby hodnocení zranitelnosti, testování per, dodržování předpisů a testování infrastruktury.
Raxis.com
Společnost Raxis, se sídlem v Atlantě ve státě Georgia, poskytuje cenné služby od testování per a kontrol bezpečnostních kódů až po školení reakce na incidenty, hodnocení zranitelnosti a školení prevence útoků sociálního inženýrství .