Přehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2

Když jsem o tom psal poprvé tomto, bylo to ale trochu chudé a chaotické. Poté jsem se rozhodl rozšířit seznam nástrojů v přehledu, přidat struktuře článku, zohlednit kritiku (velké díky Lefty za rady) a poslal jsem ho do soutěže na SekLab (a publikoval jsem odkaz, ale z pochopitelných důvodů si ho nikdo nevšiml). Soutěž skončila, výsledky byly vyhlášeny a já mohu s čistým svědomím publikovat tuto (článek) na Habru.

Bezplatné nástroje pro penetrační testování webových aplikací

V tomto článku se zaměřím na nejpopulárnější nástroje pro penetrační testování webových aplikací podle strategie 'černé skříňky'.
K tomu si prostudujeme utilit, které pomohou v tomto druhu testování. Prozkoumáme následující kategorie produktů:

  1. Síťoví skeneri
  2. Skeneri zranitelností webových skriptů
  3. Exploatace
  4. Automatizace injekcí
  5. Debugger (sniffery, lokální proxy atd.)


Některé produkty mají univerzální 'povahu', proto je budu přiřazovat k té kategorii, ve které mají nejlepší výsledky (subjektivní názor).oSíťoví skeneri.

Hlavním úkolem je odhalit dostupné síťové služby, zjistit jejich verze, určit operační systém atd.

Nmap ('Network Mapper')

NmapPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
je bezplatná utilita s otevřeným zdrojovým kódem pro analýzu sítí a audit bezpečnosti systémů. Těsným odpůrcům konzole může posloužit Zenmap, což je GUI k Nmapu. Není to jen 'inteligentní' skener, je to vážný rozšiřitelný nástroj (z 'neobvyklých funkcí' — obsahuje skript pro kontrolu uzlu na přítomnost červa "
" (bylo zmíněnoStuxnet). Typický příklad použití: tadynmap -A -T4 localhost

-A pro určení verze OS, skenování pomocí skriptů a trasování

-T4 nastavení správy času (více — rychleji, od 0 do 5)
localhost — cílový hostitel
Něco ostřejšího?
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

To je soubor možností z profilu 'slow comprehensive scan' v Zenmapu. Provozuje se celkem dlouho, ale výsledkem je podrobnější informace, kterou lze získat o cílovém systému.

Referenční příručka v ruštině , pokud se rozhodnete prohloubit, a také doporučuji překlad článkuBeginners Guide to Nmap Nmap získal status „Produkt roku v oblasti bezpečnosti“ podle časopisů a společenství, jako jsou Linux Journal, Info World, LinuxQuestions.Org a Codetalker Digest..
Nmap получил статус “Security Product of the Year” такими журналами и сообществами как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Zajímavý detail, Nmap můžete vidět ve filmech „Matrix: Reloaded“, „Die Hard 4“, „Ultimátum Bourna“, „Hottabych“ a dalších.

IP-ToolsPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
IP-Tools — jakýsi balíček různých síťových utilit, dodávaný s GUI, „věnovaný“ uživatelům Windows.
Skenování portů, sdílených zdrojů (sdílené tiskárny/složky), WhoIs/Finger/Lookup, telnet klient a mnohem více. Prostě pohodlný, rychlý, funkční nástroj.

Nemá smysl zvažovat další produkty, protože existuje spousta utilit v této oblasti a všechny mají podobný princip fungování a funkce. Přesto zůstává nejčastěji používaným nmap.

Skeneri zranitelností webových skriptů

Snaží se nalézt populární zranitelnosti (SQL inj, XSS, LFI/RFI atd.) nebo chyby (nezmazané dočasné soubory, indexování adresářů apod.)

Acunetix Web Vulnerability ScannerPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Acunetix Web Vulnerability Scanner — z odkazu je zřejmé, že jde o skener XSS, ale není to úplně tak. Bezplatná verze, dostupná na odkazu, poskytuje poměrně široké funkce. Obvykle člověka, který tento skener spouští poprvé a poprvé obdrží zprávu o svém zdroji, obklopí malý šok, a pochopíte proč, když to uděláte. Je to velmi silný produkt pro analýzu různých zranitelností na webu a funguje nejen s nám známými weby na PHP, ale i na jiných jazycích (i když rozdíly v jazyce nejsou ukazatelem). Nemá smysl podrobně popisovat návod, protože skener prostě „zachytí“ akce uživatele. Něco podobného jako „další, další, další, hotovo“ v typické instalaci nějakého softwaru.

NiktoPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Nikto je Open Source (GPL) webový skener. Zbavuje rutinní manuální práce. Hledá na cílovém webu nezmazané skripty (nějaké test.php, index_.php atd.), nástroje na správu databáze (/phpmyadmin/, /pma a podobně) apod., to znamená, že kontroluje zdroj na nejčastější chyby, které vznikly většinou kvůli lidskému faktoru.
Kromě toho, pokud najde nějaký populární skript, zkontroluje jej na již známé exploity (které jsou v databázi).
Informuje o dostupných „nežádoucích“ metodách, jako je PUT a TRACE
A tak dále. Velmi užitečné, pokud pracujete jako auditor a každý den provádíte analýzy webů.
Mezi nevýhodami bych vyzdvihl vysoké procento falešných detekcí. Například, pokud váš web nevrací 404 chybu (kdy by se měla objevit), ale stále zobrazuje hlavní stránku, skener říká, že na vašem webu jsou všechny skripty a všechny zranitelnosti z jeho databáze. V praxi se to nestává tak často, ale ve skutečnosti to hodně závisí na struktuře vašeho webu.
Klasické použití:

./nikto.pl -host localhost

Pokud je nutné být autorizován na webu, lze nastavit cookie v souboru nikto.conf, proměnná STATIC-COOKIE.

WiktoPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Wikto — Nikto pro Windows, ale s některými doplňky, jako je "nepřesná" logika při kontrole kódu na chyby, použití GHDB, získávání odkazů a složek zdroje, a real-time monitorování HTTP požadavků/odpovědí. Wikto je napsán v C# a vyžaduje .NET framework.

skipfishPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
skipfish — skener webových zranitelností od Michala Zalewského (známého pod přezdívkou lcamtuf). Napsán v C, multiplatformní (pro Windows potřebuje Cygwin). Rekurzivně (a velmi dlouho, přibližně 20–40 hodin, ačkoli naposledy mi to běželo 96 hodin) prochází celý web a nachází různé bezpečnostní díry. Také generuje velmi velký provoz (několik GB příchozího/odchozího). Ale všechny prostředky jsou dobré, tím spíše, pokud máte čas a zdroje.
Typické použití:

./skipfish -o /home/reports www.example.com

Ve složce „reports“ bude zpráva ve formátu HTML, příklad.

w3af Přehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
w3af — Web Application Attack and Audit Framework, open-source skener webových zranitelností. Má GUI, ale lze pracovat z konzole. Přesněji je to framework s mnoha pluginy.
O jeho výhodách by se dalo dlouho vyprávět, lépe je vyzkoušet :]
Typická práce s ním spočívá ve výběru profilu, určení cíle a vlastně spuštění.

Mantra Security FrameworkPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Mantra je sen, který se stal skutečností.Sbírka volně dostupných a otevřených nástrojů pro informační bezpečnost, integrovaných do webového prohlížeče.
Jsou velmi užitečné při testování webových aplikací ve všech fázích.
Použití spočívá v instalaci a spuštění prohlížeče.

Ve skutečnosti existuje mnoho nástrojů v této kategorii a je docela obtížné vyčlenit konkrétní seznam. Nejčastěji si každý pentester sám určuje sadu potřebných nástrojů.

Exploatace

Pro automatizované a pohodlnější využití zranitelností v softwaru a skriptech se píší exploity, kterým stačí předat parametry k využití bezpečnostní chyby. Existují však produkty, které odstraňují potřebu manuálního vyhledávání exploitů, a dokonce je aplikují „za pochodu“. O této kategorii bude nyní řeč.

Metasploit Framework Přehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Metasploit® Framework — takový monster v naší oblasti. Umí tolik, že instrukce vyjdou na několik článků. Zaměříme se na automatické exploitování (nmap + metasploit). Podstata je taková, Nmap analyzuje požadovaný port, zjistí službu a metasploit se pokusí aplikovat na něj exploity podle typu služby (ftp, ssh atd.). Místo textové příručky vložím video, které je poměrně populární na téma autopwn.

Přehrát video

Ale lze prostě automatizovat práci požadovaného exploitu. Například:

msf > použít auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > nastavit RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > spustit

Ve skutečnosti jsou možnosti tohoto frameworku velmi široké, takže pokud jste se rozhodli prohloubit své znalosti, přejdeme k odkazu

ArmitagePřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Armitage — OVA kyberpunkového typu GUI pro Metasploit. Vizualizuje cíl, doporučuje exploity a poskytuje rozšířené možnosti tohoto frameworku. Obecně pro ty, kteří mají rádi, aby všechno vypadalo hezky a efektně.
Screencast:

Přehrát video

Tenable Nessus®Přehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Tenable Nessus® skener zranitelností — umí toho opravdu hodně, ale od něj potřebujeme jednu z funkcí — určení, pro jaké služby existují exploity. Bezplatná verze produktu je „pouze pro domácí použití“

Použití:

  • Stáhli jsme (pro svůj systém), nainstalovali, zaregistrovali (klíč přijde na mail).
  • Spustili server, přidali uživatele do Nessus Server Manager (tlačítko Spravovat uživatele)
  • Přihlásíme se na adresu
    https://localhost:8834/

    a získáme Flash klienta v prohlížeči

  • Skany -> Přidat -> vyplníme pole (vybereme nám vyhovující profil skenování) a klikneme na Skenovat

Za chvíli se zpráva o skenování objeví na kartě Zprávy
Pro ověření praktické zranitelnosti služeb vůči exploitům lze použít výše popsaný Metasploit Framework nebo se pokusit najít exploit (například na Explot-db, packet storm, explot search atd.) a použít ho ručně proti svému systému
IMHO: příliš objemné. Uvedl jsem ho jako jednoho z lídrů v tomto směru softwarového průmyslu.

Automatizace injekcí

Mnoho skenerů webových aplikací provádí vyhledávání injekcí, avšak stále jde pouze o obecné skenery. Existují však nástroje, které se specializují na hledání a zneužívání injekcí. O těchto nástrojích bude nyní řeč.

sqlmapPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
sqlmap — open-source nástroj pro hledání a zneužívání SQL injekcí. Podporuje databázové servery jako: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Typické použití se skládá z řádku:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Existuje dostatek manuálů, včetně manuálů v ruštině. Tento software velmi usnadňuje práci penetračnímu testerovi v této oblasti.
Přidám oficiální video ukázku:

Přehrát video

bsqlbf-v2
bsqlbf-v2 — skript v perlovém jazyce, brute forcer 'slepých' SQL injekcí. Funguje jak s celými čísly v URL, tak i s řetězci.
Podporuje databáze:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Příklad použití:

.\/bsqlbf-v2-3.pl -url www.somehost.com\/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Odkaz s parametry
-blind u — parametr pro injekci (výchozí nastavení přebírá poslední hodnotu z adresního řádku)
-sql "select table_name from information_schema.tables limit 1 offset 0" — náš libovolný dotaz do databáze
-database 1 — databázový server: MSSQL
-type 1 — typ útoku, 'slepá' injekce, založená na True a Error (například syntaktické chyby) odpovědích

Ladicí nástroje

Tyto nástroje používají většinou vývojáři při problémech s výsledky vykonávání svého kódu. Tento směr je však užitečný i při penetračním testování, kdy je možné manipulovat s potřebnými daty 'za běhu', analyzovat, co přichází jako odpověď na naše vstupní parametry (například při fuzzování) atd.

Burp Suite
Burp Suite — sada nástrojů, které pomáhají při testování na průnik. Na internetu je k dispozici dobrý přehled v ruštině od Raz0ra (sice z roku 2008).
Ve verzi zdarma je zahrnuto:

  • Burp Proxy — lokální proxy, umožňuje měnit již vytvořené požadavky z prohlížeče
  • Burp Spider — pavouk, vyhledává existující soubory a adresáře
  • Burp Repeater — ruční odesílání HTTP požadavků
  • Burp Sequencer — analýza náhodných hodnot ve formulářích
  • Burp Decoder — standardní kódovač-dekódovač (html, base64, hex atd.), kterých je tisíce a které lze rychle napsat v některém jazyce
  • Burp Comparer — komponenta pro porovnávání řetězců

V zásadě tento balík řeší prakticky všechny úkoly spojené s touto oblastí.

FiddlerPřehled bezplatných nástrojů pro penetrační testování webových zdrojů a nejen v2
Fiddler — Fiddler je ladicí proxy, která zaznamenává veškerý HTTP(S) provoz. Umožňuje zkoumat tento provoz, nastavovat breakpointy a 'hrát si' s příchozími nebo odchozími daty.

Existuje také další Firesheep, monstr Wireshark a další, volba je na uživateli.

Závěr

Samozřejmě, že každý pentester má svůj arzenál a soubor nástrojů, protože jich je opravdu mnoho. Pokusil jsem se přinést některé z nejpohodlnějších a nejpopulárnějších. Aby se každý, kdo má zájem, mohl seznámit i s dalšími nástroji v této oblasti, uvedu odkazy níže.

Různé žebříčky/seznamy skenerů a nástrojů

Distribuce Linuxu, které již obsahují různé nástroje pro pentesting

upd: Dokumentace k BurpSuite v ruštině od týmu „Hack4Sec“ (přidal AntonKuzmin)

P.S. Nelze opomenout XSpider. Neúčastní se přehledu, i když je podmíněně zdarma (dozvěděl jsem se, když jsem poslal článek na SecLab, vlastně kvůli tomu (neznalost, a také neměl jsem poslední verzi 7.8) a nezahrnul jsem ho do článku). A byl plánován jeho přehled (mám pro něj připravené složité testy), ale nevím, jestli ho svět uvidí.

P.P.S. Některé materiály z článku budou použity pro přímý účel v nadcházející prezentaci na CodeFest 2012 v sekci QA, kde budou uvedeny nezmíněné nástroje (zdarma, samozřejmě), a také se poví algoritmus, jaký postup použít, jaké výsledky očekávat, jaké konfigurace použít a různé tipy a triky při práci (o přednášce přemýšlím téměř každý den, pokusím se říci to nejlepší k tématu)
Mimochodem, o tomto článku proběhla přednáška na Open InfoSec Days (tag na Habré, the site), lze loupit karavany podívat se na materiály.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster