EITC/IS/WAPT Web Applications Penetration Testing je evropský certifikační program IT zaměřený na teoretické a praktické aspekty penetračního testování webových aplikací (white hacking), včetně různých technik pro spiderování webových stránek, skenování a techniky útoků, včetně specializovaných nástrojů a sad pro testování penetrace. .
Učební plán penetračního testování webových aplikací EITC/IS/WAPT zahrnuje úvod do sady Burp Suite, web spridering a DVWA, testování hrubou silou s Burp Suite, detekci brány firewall webových aplikací (WAF) s WAFW00F, cílový rozsah a spidering, objevování skrytých souborů pomocí ZAP, skenování zranitelnosti WordPress a výčet uživatelských jmen, skenování nástroje pro vyrovnávání zatížení, skriptování mezi stránkami, XSS – reflektované, uložené a DOM, útoky na proxy, konfigurace proxy v ZAP, útoky na soubory a adresáře, zjišťování souborů a adresářů pomocí DirBuster, praxe webových útoků , OWASP Juice Shop, CSRF – Cross Site Request Forgery, shromažďování souborů cookie a zpětné inženýrství, Atributy HTTP – krádež souborů cookie, injekce SQL, DotDotPwn – fuzzing procházením adresářů, vkládání prvků iframe a vkládání HTML, exploit Heartbleed – zjišťování a využívání, vkládání kódu PHP, bWAPP – vkládání HTML, odražený POST, vkládání příkazů OS pomocí Commix, vkládání SSI na straně serveru, testování v Dockeru, OverTheWire Natas, LFI a command injection, Google hacking pro pentesting, Google Dorks For penetration testing, Apache2 ModSecurity, stejně jako Nginx ModSecurity, v rámci následující struktury, zahrnující komplexní videodidaktický obsah jako referenci pro tuto EITC certifikaci.
Zabezpečení webových aplikací (často označované jako Web AppSec) je konceptem návrhu webových stránek, aby fungovaly normálně, i když jsou napadeny. Jde o integraci souboru bezpečnostních opatření do webové aplikace, která chrání její aktiva před nepřátelskými agenty. Webové aplikace, stejně jako každý software, jsou náchylné k chybám. Některé z těchto nedostatků jsou skutečné zranitelnosti, které lze zneužít a představují riziko pro podniky. Takové chyby jsou chráněny zabezpečením webových aplikací. Znamená to použití bezpečných vývojových přístupů a zavedení bezpečnostních kontrol během životního cyklu vývoje softwaru (SDLC), což zajišťuje, že budou vyřešeny chyby v návrhu a implementační problémy. Online penetrační testování, které provádějí odborníci, jejichž cílem je odhalit a zneužít zranitelnosti webových aplikací pomocí tzv. white hacking přístupu, je nezbytným postupem umožňujícím vhodnou obranu.
Webový penetrační test, známý také jako test webovým perem, simuluje kybernetický útok na webovou aplikaci za účelem nalezení zneužitelných nedostatků. Penetrační testování se často používá k doplnění brány firewall webových aplikací v kontextu zabezpečení webových aplikací (WAF). Testování pera obecně znamená pokus proniknout do libovolného počtu aplikačních systémů (např. rozhraní API, frontend/backend servery) za účelem nalezení zranitelností, jako jsou nehygienizované vstupy, které jsou zranitelné vůči útokům vkládání kódu.
Výsledky online penetračního testu lze použít ke konfiguraci zásad zabezpečení WAF a řešení zjištěných zranitelností.
Penetrační testování má pět kroků.
Postup testování pera je rozdělen do pěti kroků.
- Plánování a vyhledávání
Definice rozsahu a cílů testu, včetně systémů, které je třeba řešit, a testovacích metodologií, které mají být použity, je první fází.
Chcete-li lépe porozumět tomu, jak cíl funguje, a jeho potenciálním slabinám, shromažďujte informace (např. názvy sítí a domén, poštovní server). - Snímání
Další fází je zjistit, jak bude cílová aplikace reagovat na různé typy pokusů o narušení. To se obvykle provádí pomocí následujících metod:
Statická analýza – Zkoumání kódu aplikace s cílem předpovědět, jak se bude chovat při spuštění. V jediném průchodu mohou tyto nástroje naskenovat celý kód.
Dynamická analýza je proces kontroly kódu aplikace během jejího provozu. Tento způsob skenování je praktičtější, protože poskytuje pohled na výkon aplikace v reálném čase. - Získání přístupu
K nalezení slabých stránek cíle tento krok využívá útoky na webové aplikace, jako je skriptování mezi stránkami, SQL injection a zadní vrátka. Aby porozuměli škodám, které tyto zranitelnosti mohou způsobit, pokusí se je testeři zneužít eskalací oprávnění, krádeží dat, zachycováním provozu a tak dále. - Zachování přístupu
Účelem této fáze je posoudit, zda lze zranitelnost zneužít k vytvoření dlouhodobé přítomnosti v kompromitovaném systému, což umožní špatnému aktérovi získat hloubkový přístup. Cílem je napodobit pokročilé perzistentní hrozby, které mohou zůstat v systému měsíce, aby ukradly nejcitlivější informace společnosti. - Analýza
Výsledky penetračního testu se poté vloží do zprávy, která obsahuje informace jako:
Chyby zabezpečení, které byly podrobně využity
Získaná data byla citlivá
Doba, po kterou mohl tester per zůstat v systému bez povšimnutí.
Bezpečnostní experti používají tato data ke konfiguraci podnikových nastavení WAF a dalších bezpečnostních řešení aplikací, aby opravili zranitelnosti a zabránili dalším útokům.
Metody penetračního testování
- Externí penetrační testování se zaměřuje na aktiva firmy, která jsou viditelná na internetu, jako je samotná webová aplikace, webové stránky společnosti a také e-mailové a doménové servery (DNS). Cílem je získat přístup k užitečným informacím a získat je.
- Interní testování znamená, že tester má přístup k aplikaci za firewallem společnosti, která simuluje nepřátelský útok zevnitř. To není nutná simulace nepoctivého zaměstnance. Běžným výchozím bodem je zaměstnanec, jehož přihlašovací údaje byly získány v důsledku pokusu o phishing.
- Slepé testování je, když testerovi jednoduše poskytne název společnosti, která je testována. To umožňuje bezpečnostním expertům vidět, jak může probíhat skutečný útok na aplikaci v reálném čase.
- Dvojité slepé testování: Při dvojitě zaslepeném testu si bezpečnostní profesionálové předem neuvědomují simulovaný útok. Nestihnou podepřít své opevnění před pokusem o prolomení, stejně jako ve skutečném světě.
- Cílené testování – v tomto scénáři tester a bezpečnostní pracovníci spolupracují a sledují vzájemné pohyby. Jedná se o vynikající tréninkové cvičení, které poskytuje bezpečnostnímu týmu zpětnou vazbu v reálném čase z pohledu hackera.
Firewally webových aplikací a penetrační testování
Penetrační testování a WAF jsou dvě samostatné, ale vzájemně se doplňující bezpečnostní techniky. Tester pravděpodobně využije data WAF, jako jsou protokoly, k nalezení a využití slabých míst aplikace v mnoha typech testování perem (s výjimkou slepých a dvojitě slepých testů).
Data z testování pera zase mohou pomoci správcům WAF. Po dokončení testu lze konfiguraci WAF upravit, aby byla chráněna proti chybám zjištěným během testu.
A konečně, testování perem splňuje určité požadavky na shodu metod bezpečnostního auditu, jako je PCI DSS a SOC 2. Určité požadavky, jako je PCI-DSS 6.6, lze splnit pouze tehdy, je-li použit certifikovaný WAF. Vzhledem k výše uvedeným výhodám a potenciálu upravovat nastavení WAF však testování perem není o nic méně užitečné.
Jaký je význam testování webové bezpečnosti?
Cílem testování webové bezpečnosti je identifikovat bezpečnostní chyby ve webových aplikacích a jejich nastavení. Aplikační vrstva je primární cíl (tj. to, co běží na protokolu HTTP). Odesílání různých forem vstupu do webové aplikace za účelem vyvolání problémů a přimět systém reagovat neočekávaným způsobem je běžný přístup k testování její bezpečnosti. Tyto „negativní testy“ zjišťují, zda systém nedělá něco, k čemu nebyl zamýšlen.
Je také důležité si uvědomit, že testování zabezpečení webu zahrnuje více než jen ověřování bezpečnostních funkcí aplikace (jako je autentizace a autorizace). Je také důležité zajistit bezpečné nasazení dalších funkcí (např. obchodní logika a použití správného ověření vstupu a kódování výstupu). Účelem je ujistit se, že funkce webové aplikace jsou bezpečné.
Jaké jsou různé typy hodnocení bezpečnosti?
- Test dynamického zabezpečení aplikací (DAST). Tento automatický test zabezpečení aplikací se nejlépe hodí pro nízkorizikové aplikace pro interní použití, které musí splňovat regulační požadavky na zabezpečení. Kombinace DAST s ručním online testováním zabezpečení na běžné zranitelnosti je nejlepší strategií pro středně rizikové aplikace a klíčové aplikace procházející menšími změnami.
- Kontrola zabezpečení pro statické aplikace (SAST). Tato strategie zabezpečení aplikací zahrnuje jak automatizované, tak manuální metody testování. Je ideální pro detekci chyb bez nutnosti spouštět aplikace v živém prostředí. Umožňuje také inženýrům skenovat zdrojový kód a systematickým způsobem detekovat a opravovat chyby zabezpečení softwaru.
- Penetrační zkouška. Tento ruční test zabezpečení aplikací je ideální pro základní aplikace, zejména ty, které procházejí významnými změnami. K nalezení pokročilých scénářů útoku využívá hodnocení obchodní logiku a testování založené na protivníkovi.
- Vlastní ochrana aplikace za běhu (RASP). Tato rostoucí metoda zabezpečení aplikací zahrnuje řadu technologických technik pro instrumentaci aplikace, takže hrozby lze sledovat a doufejme, že jim lze předcházet v reálném čase, jakmile nastanou.
Jakou roli hraje testování zabezpečení aplikací při snižování rizika společnosti?
Převážná většina útoků na webové aplikace zahrnuje:
- SQL Injection
- XSS (skriptování napříč weby)
- Spuštění vzdáleného příkazu
- Path Traversal Attack
- Omezený přístup k obsahu
- Prolomené uživatelské účty
- Instalace škodlivého kódu
- Ztracené tržby z prodeje
- Důvěra zákazníků narušuje
- Poškozuje pověst značky
- A spousta dalších útoků
V dnešním internetovém prostředí může být webová aplikace poškozena řadou problémů. Výše uvedený obrázek znázorňuje několik nejběžnějších útoků páchaných útočníky, z nichž každý může způsobit značné poškození jednotlivé aplikaci nebo celému podniku. Znalost mnoha útoků, které činí aplikaci zranitelnou, a také možné výsledky útoku, umožňuje společnosti řešit zranitelnosti s předstihem a efektivně je testovat.
Během raných fází SDLC lze zavést zmírňující kontroly, aby se předešlo jakýmkoli problémům tím, že se identifikuje hlavní příčina zranitelnosti. Během testu zabezpečení webových aplikací lze znalosti o tom, jak tyto hrozby fungují, využít také k cílení na známá zajímavá místa.
Rozpoznání dopadu útoku je také důležité pro řízení rizik společnosti, protože dopady úspěšného útoku mohou být použity k určení celkové závažnosti zranitelnosti. Pokud jsou zranitelnosti objeveny během bezpečnostního testu, určení jejich závažnosti umožňuje společnosti efektivněji upřednostňovat úsilí o nápravu. Chcete-li snížit rizika pro společnost, začněte s kritickými závažnostmi a postupujte dolů k těm, které mají menší dopad.
Před identifikací problému vám posouzení možného dopadu každého programu v knihovně aplikací společnosti pomůže stanovit priority testování zabezpečení aplikací. Testování zabezpečení Wenb lze naplánovat tak, aby se nejprve zaměřovalo na kritické aplikace firmy, s cílenějším testováním pro snížení rizika vůči podniku. Se zavedeným seznamem vysoce profilovaných aplikací lze naplánovat testování zabezpečení wenb tak, aby se nejprve zaměřilo na kritické aplikace firmy, s cílenějším testováním pro snížení rizika vůči podniku.
Jaké funkce by měly být prověřeny během testu zabezpečení webové aplikace?
Během testování zabezpečení webových aplikací zvažte následující neúplný seznam funkcí. Neefektivní implementace každého z nich by mohla mít za následek slabá místa a ohrozit společnost.
- Konfigurace aplikace a serveru. Šifrovací/šifrovací nastavení, konfigurace webového serveru a tak dále jsou příklady potenciálních nedostatků.
- Ověření zpracování vstupu a chyb Špatné zpracování vstupu a výstupu vede k SQL injection, cross-site scripting (XSS) a dalším typickým problémům s injektováním.
- Autentizace a údržba relací. Chyby zabezpečení, které by mohly vést k předstírání identity uživatele. Měla by se také vzít v úvahu pevnost a ochrana.
- Povolení. Testuje se schopnost aplikace chránit před vertikálními a horizontálními eskalacemi oprávnění.
- Logika v podnikání. Spoléhá na ně většina programů, které poskytují obchodní funkce.
- Logika na straně klienta. Tento typ funkce se stává běžnějším u moderních webových stránek s vysokým obsahem JavaScriptu a také u webových stránek využívajících jiné typy technologií na straně klienta (např. Silverlight, Flash, Java applety).
Chcete-li se podrobně seznámit s certifikačním kurikulem, můžete rozšířit a analyzovat níže uvedenou tabulku.
Kurikulum certifikace penetračního testování webových aplikací EITC/IS/WAPT odkazuje na didaktické materiály s otevřeným přístupem ve formě videa. Učební proces je rozdělen do struktury krok za krokem (programy -> lekce -> témata) pokrývající příslušné části kurikula. Poskytuje se také neomezené poradenství s odborníky na domény.
Podrobnosti o kontrole certifikačního postupu Jak to funguje.
Stáhněte si kompletní offline samoučící se přípravné materiály pro program EITC/IS/WAPT Web Applications Penetration Testing v souboru PDF
Přípravné materiály EITC/IS/WAPT – standardní verze
Přípravné materiály EITC/IS/WAPT – rozšířená verze s kontrolními otázkami