Evan Saez, který je nadšencem, návrhářem a programátorem penetračního testovacího nástroje a pracuje jako analytik kybernetických hrozeb ve společnosti Lifars, promluvil o nejnovějších a nejlepších penetračních nástrojích a o vhodném způsobu jejich použití. Tady jsou jeho postřehy.
Dostupné nástroje pro penetrační testování
Nástroje pro penetrační testování, o kterých se zde bude mluvit, zahrnují Metasploit, Nessus Vulnerability Scanner, Nmap, Burp Suite, Owasp ZAP, SQLmap, Kali Linux a Jawfish (Evan Saez je vývojářem projektu Jawfish).
Tyto nástroje jsou klíčem k zabezpečení podniku, protože jsou to ty samé produkty, které používají útočníci. Pokud nenajdete své díry a neopravíte je, najdou je oni.
Metasploit je framework s větší základnou programátorských fanoušků, který se rozšiřuje o vlastní moduly fungující jako testovací nástroje k otestování slabin v operačních systémech a aplikacích.
Lidé vydávají tyto vlastní moduly na serverech GitHub a Bitbucket. Bitbucket je stejně jako GitHub on-line repozitářem pro programátorské projekty.
„Metasploit je zřejmě nejpopulárnějším řešením svého druhu pro penetrační testování,“ uvádí Saez.
Nessus Vulnerability Scanner je na signaturách založený nástroj pro vyhledávání zranitelností. „Nessus dokáže pouze porovnávat výsledky skenování s databází známých signatur zranitelností,“ popisuje Saez.
Síťový skener Nmap umožňuje penetračním testérům zjistit typy počítačů, serverů a hardwaru, které má podnik ve své síti.
Skutečnost, že jsou tyto stroje identifikovatelné prostřednictvím těchto externích sond, je sama o sobě zranitelností. Útočníci používají tyto informace k vytvoření základů pro útoky.
Burp Suite je dalším oblíbeným nástrojem pro penetrační testování, určeným pro webové aplikace. Mapuje a analyzuje webové aplikace, vyhledává a umí zneužít zranitelnosti, jak uvádí společnost PortSwigger, která je dodavatelem nástroje Burp Suite pro zabezpečení webu.
Owasp ZAP (Zed Attack Proxy) je řešení pro penetrační testování webových aplikací od neziskového projektu Owasp (Open Web Application Security Project). Nabízí automatizované a manuální skenování webových aplikací, jehož účelem je pomoci nováčkům i zkušeným profesionálním penetračním testérům. ZAP je open source systém dostupný na webu GitHub.
SQLmap automatizuje odhalování děr typu SQL Injection. Ty se potom snaží zneužít a získat úplnou kontrolu nad databázemi a hostujícími servery.
Kali Linux představuje komplexní nástroj obsahující předinstalovanou sadu specializovaných penetračních testovacích (a bezpečnostních a forenzních) nástrojů. „Obsahuje nástroje použitelné pro lidi, kteří nemají v oblasti bezpečnosti žádné znalosti,“ popisuje Saez.
Jawfish je na rozdíl od většiny nástrojů založených na signaturách řešením, které využívá genetické algoritmy. „Genetické algoritmy hledají věci v kontextu vyhledávání,“ vysvětluje Saez.
Na základě vyhledávacích kritérií, jak se Jawfish dostává blíže k tomu, co se hledá (v tomto případě zranitelnost), nakonec nějakou může najít. Jawfish nevyžaduje databázi signatur.
Jak je používat
Metasploit, Nessus Vulnerability Scanner, Nmap, Burp Suite, Owasp ZAP, SQLmap, Kali Linux a Jawfish mají své specifické využití. Většina podniků tak bude potřebovat více nástrojů.
Metasploit nabízí jak rozhraní Ruby, tak i příkazový řádek, takže si váš penetrační testér může vybrat libovolné z nich v závislosti na tom, co právě chcete dělat.
„Rozhraní Ruby je vhodnější pro testování velmi rozsáhlé sítě, protože spouštění příkazů z příkazového řádku by bylo příliš zdlouhavé,“ vysvětluje Saez.
Nessus Vulnerability Scanner hledá otevřené porty v počítačích a firewallech a instalace potenciálně zranitelného softwaru. „Pokud jde o penetrační testování, je tento nástroj méně užitečný, protože je příliš nápadný a při zjišťování zranitelností jde tzv. předními dveřmi a komunikuje s operačním systémem.
Toto řešení se obvykle používá při kontrole dodržování předpisů ke zjišťování, zda jsou nainstalované všechny záplaty,“ vysvětluje Garrett Payer, vedoucí technolog v konzultační a implementátorské společnosti ICF International.
Nmap je dobré používat k vyhledávání hostitelů, otevřených portů, verzí softwaru, operačních systémů, verzí hardwaru a zranitelností – obecně k mapování terénu pro síťový útok.
Je užitečný v každé fázi penetračního testování, kdykoli máte novou sadu hostitelů, portů a dalších prostředků, které je potřebné identifikovat, například při zadávání nového segmentu sítě.
„Tento systém nabízí funkci skriptování a je užitečný pro výčet uživatelského přístupu,“ dodává Payer.
K mapování webových aplikací používejte Burp Suite a webový prohlížeč. Nástroje uvnitř sady Burp Suite zjišťují funkcionalitu aplikací a bezpečnostní díry a potom zahájí vlastní útoky.
Burp Suite automatizuje opakované funkce, a přitom uživateli ponechává volbu pro případy, kdy penetrační testér potřebuje kontrolu nad jednotlivými možnostmi testování.
„Tento funkcemi nabitý nástroj zkoumá skriptování mezi weby a další zranitelnosti pomocí proxy,“ popisuje Payer. „Přináší to transparentnost toho, co webové stránky vlastně posílají na server.“
Owasp ZAP vykonává různá skenování a testy včetně skenování portů, skenování hrubou silou a fuzzingu za účelem nalezení nezabezpečeného kódu. Penetrační testéři používají intuitivní grafické uživatelské rozhraní podobné aplikacím Microsoftu a některé nástroje pro design webu (jako je například Arachnophilia).
Poté, co začnete surfovat a uděláte na webu potřebné úkony, znovu použijete ZAP a můžete vidět kód a co se stalo při těchto činnostech. Owasp ZAP nastavíte jako proxy server a začne kontrolovat webový provoz, který zpracovává.
„Tento nástroj je novější než Burp Suite, nemá tolik funkcí, ale je zdarma jako open source. Poskytuje podmnožinu funkcí a grafické uživatelské rozhraní, které je užitečné pro lidi, kteří s penetračním testováním webových aplikací teprve začínají,“ uvádí Payer.
Řešení SQLmap se používá pomocí příkazů Pythonu na příkazové řádce k testování nesprávně naprogramovaných webových stránek a adres URL spojených s databázemi. Pokud škodlivě vytvořený odkaz (URL) do databáze vyvolá chybu, potom je takový odkaz předmětem útoku.
SQLmap se instaluje do operačního systému Ubuntu Linux ve virtuálním stroji. „SQLmap je vhodný pro skriptování. Umí zjistit takové věci, jako například zda programátor parametrizoval vstupy,“ uvádí Payer.
Pokud ne, mohou penetrační testér či útočník odeslat jméno, středník a SQL příkaz a spustit ho v databázi a získat kontrolu, vysvětluje Payer.
Nainstalujte si Kali Linux a spusťte libovolný z desítek integrovaných nástrojů pro penetrační testy a útoky. „Kali Linux je k dispozici s velkým množstvím uživatelské dokumentace,“ uvádí Saez.
Penetrační testovací řešení Jawfish můžete zkusit použít pomocí dostupného formuláře grafického uživatelského rozhraní. Jednoduše zadejte IP adresu serveru, zranitelnou webovou adresu na této IP adrese, zranitelnost, metodu a cílový text.
Nástroj vrátí cílový text, když se vám podaří úspěšně napadnout tuto adresu. Je to ale zcela nový systém a není zatím prověřený pro podnikové nasazení...
Tento příspěvek vyšel v Security Worldu 3/2015.Oproti této on-line verzi je výrazně obsáhlejší a přináší další poznatky a tipy, které lze využít při praktické implementaci u vás ve firmě.
Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.