Hledáme free nástroj na testování děr webových aplikací. Vyhoví BackTrack Linux?

Jste-li tvůrce webové aplikace či internetových stránek a chcete se vyhnout mezerám v zabezpečení, nezbude vám, než se dočasně vžít do role útočníka. Existuje jednoduše nastavitelný, plně automatický a komplexní nástroj na kontrolu bezpečnosti webové aplikace, který by navíc byl k dispozici zdarma?

Útoky jsou dnes dvojí: buď se útočník nezaměřuje na předem určený cíl a skenery se snaží najít mezeru v zabezpečení prakticky kdekoliv, nebo je jeho úkolem napadnout jednu konkrétní aplikaci. Zatímco obrana proti útoku vedenému na jeden cíl je velmi obtížná či prakticky nemožná (neboť nějaká skulina se při zapojení zkušeného mozku vždy najde), obrana proti útokům méně cíleným je snazší. Ostatně, tyto útoky jsou mnohem častější. K obraně proti nim také není potřeba tolik znalostí a zkušeností jako při ochraně před cíleným tlakem (například průmyslovou či informační špionáží v zadané firmě).

Při základním testování stačí použít k testovacímu útoku stejné nástroje „hromadného ničení“, které používají dnešní hackeři – bezpečnostní skenery. Jedná se o nástroje, které prohledají celý web, vyzkouší zranitelnosti typu SQLi (podstrčení dotazu na databázi), XSS (cros-site-scripting – podstrčení většinou Javascriptu, změna vzhledu stránek), CRLFi (vložení odřádkování), Directory Traversal (průchod adresářovou strukturou) a mnohé další, prověří aktuálnost částí aplikace a provedou další úlohy. Je nicméně obtížné najít komplexní skenery dostatečně kvalitní, lehce ovladatelné, plně automatické a také snadno ufinancovatelné. 

Na internetu je k dispozici řada nástrojů zdarma, ovšem schopnost důkladného, hlubokého testování mnoha typů útoků není velká. Existují ovšem také profesionální nástroje. Oblíbený je například Acunetix Vulnerability Scanner, ten však něco stojí. Pro malou firmu s jen jedním (!) webem stojí cca 25 500 Kč, pro více webů to máme 96 000 Kč a skenování pro zákazníky z jednoho počítače hezkých 120 200 Kč. Deset vláken procesů stojí více než 240 000 Kč. Na to, že se jedná o jeden z nejkvalitnějších plně qautomatických skenerů na trhu s hlubokým i širokým záběrem testování, jsou ceny možná adekvátní, pro menší firmy a živnostníky však příliš vysoké.

Tento článek má tedy za cíl zodpovědět otázku: mohl by být BackTrack Linux levnou (bezplatnou) alternativou těchto profesionálních systémů? Poslední verze BackTrack Linuxu je označena jako 5 R2 a vyšla 1. března 2012. Pokud budete mít chuť si tuto verzi vyzkoušet, bude asi nejlepší zvolit spouštění z flash disku. Je třeba stáhnout obraz disku iso a pomocí například programu Unetbootin vytvořit flash, ze kterého lze systém zavést. Po nastavení USB disku na první místo v bootovací sekvenci pomocí BIOSu systém naběhne. V některých případech žádné přihlašovací jméno ani heslo nechce, pokud byste ho museli zadat, je to root/toor. V terminálu, který naběhne, je třeba zadat:

service networking start
startx

Tím dojde ke zprovoznění sítě a startu grafického rozhraní. Pokud nevedete internet kabelem a chcete se připojit přes WiFi, zvolte v menu Applications>Internet>Wicd Network Manager, vyberte příslušnou síť a klikněte na Connect (případně na Properties a zadejte parametry připojení).

Jak BackTrack působí na první pohled? Nová verze je odvozená od Ubuntu, použito je Gnome Classic. Distribuce má svůj vlastní design, vše je sladěno do tmavočerných odstínů a černé/šedé, na pohled působí čistě a přehledně. Prostředí ostatně vypadá mnohem lépe, než když se v novém Ubuntu 12.04 někdo snaží použít starší Gnome Classic (Ubuntu samotné už staré Gnome nepreferuje a je to vidět). Lze také přejít na KDE. Práce v systému je blesková, v porovnání s výkonem „vylehčených“ distribucí Xubuntu a Lubuntu na stejném počítači je subjektivně (překvapivě) rychlejší. Distribuce okamžitě upoutá svojí orientací na bezpečnost. Uživatel si ihned všimne i nejmenších drobností – například toho, že předinstalovaný internetový prohlížeč je Mozilla Firefox a nechybí v něm doplněk No Script. Veškeré maličkosti i důležité součásti v systému jsou mimochodem připraveny na použití proxy či toru a dalších anonymizačních technik.

Systém je vyladěn po stránce grafiky i výkonu 

Co je na výběr? Automatů není moc

Pojďme se nyní na ukázku podívat, jaké nástroje jsou k dispozici k testování klasických zranitelností webových aplikací. Pojďme se nejprve podívat na položku menu Exploitation Tools>Web Exploitation Tools. K dispozici tu je 11 programů. Pro představu pro méně zkušené unixové uživatele – jen dva z nich jsou k dispozici v grafickém režimu. Zde je jejich přehled:

asp-auditor – pro zjištění zranitelností špatně nakonfigurovaného ASP.NET serveru. Na ukázku jak se používá – po spuštění z menu je do terminálu nutno zadat např.:

./asp-audit.pl http://www.idnes.cz

asp-auditor puštěný na idnes.cz 

darkmysqli – pomocí SQLi zjišťuje informace o databázi, případně ji celou „dumpne“. Je potřeba mít připravený link s querystringem a podezřením na možnost SQLi a vědět, co zhruba dělat.

darkmysqli puštěný na web avicom.co.il 

fimap – LFI/RFI skener (Local File Inclusion/Remote file Inclusion). Umí použít Google na vyhledávání zranitelností na různých webech, ale musíte mít připravené běžné vzorce, které se objevují v adresách (takzvané „dorks“), např.

inurl:article.php?id=

Umí také spouštět testy na jednotlivých URL, generovat seznam URL (pomocí crawleru puštěného na zadaný web) a skenovat stránky z tohoto seznamu na LFI/RFI zranitelnosti.

oscanner – Oracle Scanner – ukáže základní informace o instalaci.

padbuster – nástroj na automatizaci kryptografického útoku „padding oracle“, obvykle využitelné na aplikace ASP.NET. Uplatnitelné jen u nezáplatovaných instalací serveru.

sqlmap – další automatizovaný nástroj na SQLi, trochu pohodlnější než DarkMySQLi, i když je stále mít potřeba „podezřelé“ odkazy s querystringem a zkoušet přímo na nich. Nějaké „chytré crawlování“ a automatické útoky se nekonají.

sqlninja – pomůcka na vzdálené útoky na SQL Server od Microsoftu, nikoliv však ze strany webové aplikace.

sqlsus – další ze sady automatizovaných nástrojů na SQLi, má desítky parametrů a příkazů. Práce se začíná se opět linky s querystringem.

sslstrip – SSL Strip je nástroj na odposlouchávání komunikace HTTPS vhodný pro útok typu man-in-the-middle.

websecurify – komplexní nástroj pro skenování různých druhů zranitelností. Funguje v grafickém rozhraní. Pokus o penetrační test byl proveden se starší tureckou stránkou www.avicom.co.il. Zde je možnost srovnat Acunetix s Websecurify. Druhý jmenovaný program vykonal 38 requestů a přišel na následující zranitelnosti:

  • SQL Injection (ukázka jedné adresy)
  • e-maily ve formátu, které přečte snadno robot (5 případů)
  • chyby, které „hází“ pokus o shlédnutí jistých adresářů – návrh o vytvoření vlastní chybové zprávy (která nic neodkryje)
  • nechráněné cesty jak se dostat k informacím o serveru

Naproti tomu Acunetix najde chyb mnohem víc:

  • SQL Injection – 2 adresy
  • XSS – 2 adresy
  • Microsoft Internet Information Server 5 – možnost obejití autentizace
  • chybové zprávy odkrývající informace o serveru
  • upozornění na složky s pravděpodobně nechtěně uveřejněným materiálem
  • upozornění na povolené metody TRACE a OPTIONS
  • seznam nefunkčních odkazů
  • seznam e-mailů v plain textu

Na shromáždění informací ostatně použije 16 102 „requestů“…

Websecurify na avicom.co.il 

Acunetix na avicom.co.il 

xsser – docela pěkný skener na XSS zranitelnosti. Lze zapnout v grafickém režimu:

./xsser –gtk

Na zadání http://www.avicom.co.il tvrdí, že žádnou zranitelnost nenašel (crawler nastaven na největší šířku i hloubku). Když mu napovíme http://www.avicom.co.il/page.php, už si poradí s jednoduše napadnutelným a neošetřeným querystringem ?id= a následně v prohlížeči přímo otevře ukázku možného napadení.

XSSer na avicom.co.il 

návrh XSSeru na napadení v prohlížeči 

Je tedy vidět, že Backtrack obsahuje řadu nástrojů na poloautomatické testování, při kterém je třeba mít jednak více vědomostí o útocích a jednak víc času. Komplexních plně automatických programů je k dispozici méně. Kromě Websecurify jsou ovšem v distribuci k dispozici ještě další, kvalitnější a důkladnější nástroje.

Pomalu, ale důkladně

Popis stovek programů, které jsou v BackTracku k dispozici, by přesáhl rámec článku, pojďme si nicméně představit alespoň nástroje na zjišťování informací a komplexní testování penetrace webových stránek. Podívali jsme se na položku v menu Exploitation Tools, další položkou je Vulnerability Assessment>Web Application Assessment. Ve skupině webových skenerů stojí za zmínku například Webscarab, program na sledování a pozměňování HTTP a HTTPS komunikace. Další výborný kousek je Burp Suite, který je ovšem k dispozici ve free verzi a tudíž neobsahuje nejcennější modul – scanner (plná verze je za cca 5000 Kč za rok a uživatele), který z části dosahuje kvalit Acunetixu. Stojí za to upozornit i na bezpečnostní skener Grendel-Scann, který rád používá hrubou sílu a velký počet requestů. Ze skupiny obecných skenerů je i montrealská Vega. Vypadá hezky a udělá všechno za uživatele. Najde žel však jen velmi málo zranitelností. Na oblíbené turecké stránce nenašla Vega nic, ačkoliv prokazatelně obsahuje SQLi i XSS. Na jiných stránkách ovšem zranitelnosti našla.

Vega (od Subgraph) vypadá hezky, ale najde jen málo zranitelností 

Jinou přehlednou a funkční aplikací je w3af – kompletní skener s mnoha pluginy, dobře nastavitelný. Jeho nevýhodou je však opravdu nízká rychlost. Skenování je nicméně hloubkové, originální je graficky znázorněná kompletní struktura webu. Skener našel při testování mnoho chyb a jeho výsledky byly velmi přesvědčivé.

Content

w3af – pomalý, avšak velmi důkladný a kvalitní nástroj 

Zaujala i Mantra, speciální instalace Firefoxu určená k testování, při zkoušení však jako skutečný nástroj neobstála. Ještě hlubší a ještě náročnější na výkon je komplexní nástroj OpenVAS (Vulnerability Assessment>Vulnerability Scanners>OpenVAS). Nastavit a rozběhnout ho není úplně triviální, i když je k dispozici velmi přehledné rozhraní. Docela pěkná „hračka“ je také Webshag, se kterou lze prohlédnout základní nastavení serveru, otevřené porty, verzi, vytáhnout všechny e-maily z webu…

No a to je tak všechno. Vraťme se k zadání. Hledáme univerzální nástroj, který co nejvíce automaticky a co nejméně „ručně“ proskenuje náš web a zjistí, kde se mistr tesař uťal a nechal ve zdi větší díru, než by bylo zdrávo. Bylo by dobré, aby byl takový nástroj co nejjednodušeji nastavitelný a pracoval co nejsamostatněji. Po testování na reálných webech lze říci, že BackTrack Linux několik takových nástrojů obsahuje. Jsou buď velmi důkladné, ale zároveň náročné na výkon či čas, nebo pracují rychle, ale jen povrchně. S důkladnými nástroji lze velmi pravděpodobně drahé profesionální řešení z velké části nahradit. Z nástrojů, které linuxová distribuce obsahuje, lze doporučit zejména w3af, OpenVAS a Websecurify. Vega je nadějná, ale příliš povrchní, za plnohodnotnou verzi Burp Suite by bylo třeba zaplatit asi 5000 Kč ročně, XSSer byl v našem testu „postižen slepotou“. U mnoha dalších nástrojů v BackTracku je potřeba se většinou smířit s učením se velkého množství parametrů a příkazů a zčásti ruční prací – to vše v textovém režimu.

6 názorů Vstoupit do diskuse
poslední názor přidán 7. 8. 2012 16:07
Zasílat nově přidané názory e-mailem

Školení UX: Jak zapojit uživatele do designu

  •  
    Jak dostat ono tajemné UX do designu.
  • Ve kterých fázích zapojit uživatele, abyste dostali nejvíc muziky za nejmíň peněz.
  • Jak vytvářet jednoduché a srozumitelné persony

Detailní informace o školení UX »