Webové nástroje aneb kde začít jako pentester?

Pokračovat mluvit o užitečných nástrojích pro pentestery. V novém článku se podíváme na nástroje pro analýzu bezpečnosti webových aplikací.

Náš kolega Být milován Už jsem něco takového udělal sestavení asi před sedmi lety. Je zajímavé sledovat, které nástroje si udržely a posílily své pozice a které ustoupily do pozadí a nyní se používají jen zřídka.
Webové nástroje aneb kde začít jako pentester?

Všimněte si, že to také zahrnuje Burp Suite, ale o něm a jeho užitečných pluginech bude vydána samostatná publikace.

Obsah:

Hromadit

Hromadit - nástroj Go pro vyhledávání a výčet subdomén DNS a mapování externí sítě. Amass je projekt OWASP, který má ukázat, jak vypadají organizace na internetu pro outsidera. Amass získává názvy subdomén různými způsoby, nástroj využívá jak rekurzivní výčet subdomén, tak vyhledávání open source.

K odhalení propojených segmentů sítě a čísel autonomních systémů používá Amass IP adresy získané během provozu. Všechny nalezené informace se použijí k vytvoření mapy sítě.

výhody:

  • Techniky shromažďování informací zahrnují:
    * DNS - slovníkové vyhledávání subdomén, subdomény bruteforce, chytré vyhledávání pomocí mutací na základě nalezených subdomén, reverzní DNS dotazy a vyhledávání DNS serverů, kde je možné zadat požadavek na přenos zóny (AXFR);

    * Vyhledávání open source – Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Prohledávejte databáze certifikátů TLS - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Použití rozhraní API vyhledávačů - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Prohledávejte internetové webové archivy: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integrace s Maltego;
  • Poskytuje nejúplnější pokrytí úlohy vyhledávání subdomén DNS.

nevýhody:

  • Buďte opatrní s amass.netdomains – pokusí se kontaktovat každou IP adresu v identifikované infrastruktuře a získat doménová jména z reverzního DNS vyhledávání a TLS certifikátů. Jedná se o „high-profile“ techniku, může odhalit vaše zpravodajské aktivity ve vyšetřované organizaci.
  • Vysoká spotřeba paměti, může spotřebovat až 2 GB RAM v různých nastaveních, což vám nedovolí spustit tento nástroj v cloudu na levném VDS.

Webové nástroje aneb kde začít jako pentester?

Altdns

Altdns — nástroj Pythonu pro kompilaci slovníků pro výčet subdomén DNS. Umožňuje generovat mnoho variant subdomén pomocí mutací a permutací. K tomu se používají slova, která se často nacházejí v subdoménách (například: test, dev, staging), všechny mutace a permutace jsou aplikovány na již známé subdomény, které lze odeslat na vstup Altdns. Výstupem je seznam variant subdomén, které mohou existovat, a tento seznam lze později použít pro hrubou sílu DNS.

výhody:

  • Funguje dobře s velkými datovými soubory.

aquaton

aquaton - byl dříve známější jako další nástroj pro vyhledávání subdomén, ale sám autor od toho upustil ve prospěch zmíněného Amassu. Nyní byl aquatone přepsán v Go a je více zaměřen na předběžný průzkum na webových stránkách. Za tímto účelem aquatone prochází zadané domény a vyhledává webové stránky na různých portech, poté shromažďuje všechny informace o webu a pořizuje snímek obrazovky. Pohodlné pro rychlý předběžný průzkum webových stránek, po kterém si můžete vybrat prioritní cíle pro útoky.

výhody:

  • Výstup vytvoří skupinu souborů a složek, které je vhodné použít při další práci s jinými nástroji:
    * Zpráva HTML se shromážděnými snímky obrazovky a názvy odpovědí seskupené podle podobnosti;

    * Soubor se všemi adresami URL, kde byly nalezeny webové stránky;

    * Soubor se statistikami a daty stránek;

    * Složka se soubory obsahujícími hlavičky odpovědí z nalezených cílů;

    * Složka se soubory obsahujícími tělo odpovědi z nalezených cílů;

    * Snímky obrazovky nalezených webových stránek;

  • Podporuje práci s XML zprávami z Nmap a Masscan;
  • K vykreslování snímků obrazovky používá bezhlavý Chrome/Chromium.

nevýhody:

  • Může přitahovat pozornost systémů detekce narušení, takže vyžaduje konfiguraci.

Snímek obrazovky byl pořízen pro jednu ze starých verzí aquatone (v0.5.0), ve které bylo implementováno vyhledávání subdomén DNS. Starší verze najdete na stránka vydání.
Webové nástroje aneb kde začít jako pentester?

MassDNS

MassDNS je dalším nástrojem pro hledání subdomén DNS. Jeho hlavní rozdíl je v tom, že dotazy DNS zadává přímo mnoha různým překladačům DNS a činí tak značnou rychlostí.

výhody:

  • Rychlý - schopný vyřešit více než 350 tisíc jmen za sekundu.

nevýhody:

  • MassDNS může způsobit značné zatížení používaných DNS resolverů, což může vést k zákazu těchto serverů nebo stížnostem u vašeho ISP. Navíc to značně zatíží firemní servery DNS, pokud je mají a jsou zodpovědné za domény, které se snažíte vyřešit.
  • Seznam překladačů je aktuálně zastaralý, ale pokud vyberete nefunkční překladače DNS a přidáte nové známé, bude vše v pořádku.

Webové nástroje aneb kde začít jako pentester?
Snímek obrazovky k aquatone v0.5.0

nsec3map

nsec3map je nástroj Pythonu pro získání kompletního seznamu domén chráněných DNSSEC.

výhody:

  • Rychle zjistí hostitele v zónách DNS s minimálním počtem dotazů, pokud je v zóně povolena podpora DNSSEC;
  • Obsahuje plugin pro John the Ripper, který lze použít k prolomení výsledných NSEC3 hashů.

nevýhody:

  • Mnoho chyb DNS není zpracováno správně;
  • Nedochází k automatické paralelizaci zpracování NSEC záznamů – jmenný prostor musíte rozdělit ručně;
  • Vysoká spotřeba paměti.

Acunetix

Acunetix — skener zranitelnosti webu, který automatizuje proces kontroly zabezpečení webových aplikací. Testuje aplikaci na injekce SQL, XSS, XXE, SSRF a mnoho dalších webových zranitelností. Nicméně, jako každý jiný skener, různé zranitelnosti webu nenahrazují pentester, protože nemůže najít složité řetězce zranitelností nebo zranitelností v logice. Pokrývá však mnoho různých zranitelností, včetně různých CVE, na které mohl pentester zapomenout, takže je velmi výhodné, když vás osvobodí od rutinních kontrol.

výhody:

  • Nízká úroveň falešných poplachů;
  • Výsledky lze exportovat jako zprávy;
  • Provádí velké množství kontrol různých zranitelností;
  • Paralelní skenování více hostitelů.

nevýhody:

  • Neexistuje žádný deduplikační algoritmus (Acunetix bude považovat stránky s identickou funkčností za odlišné, protože vedou na různé URL), ale vývojáři na tom pracují;
  • Vyžaduje instalaci na samostatný webový server, což komplikuje testování klientských systémů s připojením VPN a používání skeneru v izolovaném segmentu místní klientské sítě;
  • Zkoumaná služba může dělat hluk, například tím, že posílá příliš mnoho útočných vektorů do kontaktního formuláře na webu, čímž značně komplikuje obchodní procesy;
  • Jedná se o proprietární a tedy ne bezplatné řešení.

Webové nástroje aneb kde začít jako pentester?

Dirsearch

Dirsearch — nástroj Pythonu pro hrubé vynucování adresářů a souborů na webových stránkách.

výhody:

  • Dokáže rozlišit skutečné stránky „200 OK“ od stránek „200 OK“, ale s textem „stránka nenalezena“;
  • Dodává se s praktickým slovníkem, který má dobrou rovnováhu mezi velikostí a efektivitou vyhledávání. Obsahuje standardní cesty společné pro mnoho CMS a technologických zásobníků;
  • Vlastní formát slovníku, který umožňuje dosáhnout dobré efektivity a flexibility při výčtu souborů a adresářů;
  • Pohodlný výstup - prostý text, JSON;
  • Může dělat throttling - pauzu mezi požadavky, což je životně důležité pro každou slabou službu.

nevýhody:

  • Rozšíření musí být předána jako řetězec, což je nepohodlné, pokud potřebujete předat mnoho rozšíření najednou;
  • Aby bylo možné používat váš slovník, bude nutné jej pro maximální efektivitu mírně upravit na formát slovníku Dirsearch.

Webové nástroje aneb kde začít jako pentester?

wfuzz

wfuzz - fuzzer webových aplikací v Pythonu. Pravděpodobně jeden z nejznámějších webových phaserů. Princip je jednoduchý: wfuzz umožňuje fázovat libovolné místo v HTTP požadavku, což umožňuje fázovat GET/POST parametry, HTTP hlavičky včetně Cookie a další autentizační hlavičky. Zároveň se hodí i pro jednoduchou hrubou sílu adresářů a souborů, ke které potřebujete dobrý slovník. Disponuje také flexibilním filtračním systémem, pomocí kterého můžete filtrovat odpovědi z webu podle různých parametrů, což umožňuje dosáhnout efektivních výsledků.

výhody:

  • Multifunkční - modulární struktura, montáž zabere pár minut;
  • Pohodlný mechanismus filtrování a fuzzingu;
  • Můžete fázovat libovolnou metodu HTTP, stejně jako jakékoli místo v požadavku HTTP.

nevýhody:

  • Ve vývoji.

Webové nástroje aneb kde začít jako pentester?

fuf

fuf — webový fuzzer v Go, vytvořený v „obrázku a podobě“ wfuzz, umožňuje brutálně upravovat soubory, adresáře, cesty URL, názvy a hodnoty parametrů GET/POST, HTTP hlavičky, včetně hlavičky Host pro hrubou sílu virtuálních hostitelů. wfuzz se od svého bratra liší vyšší rychlostí a některými novinkami, například podporuje slovníky formátu Dirsearch.

výhody:

  • Filtry jsou podobné filtrům wfuzz, umožňují flexibilně konfigurovat hrubou sílu;
  • Umožňuje fuzz hodnoty hlaviček HTTP, data požadavků POST a různé části adresy URL, včetně názvů a hodnot parametrů GET;
  • Můžete zadat libovolnou metodu HTTP.

nevýhody:

  • Ve vývoji.

Webové nástroje aneb kde začít jako pentester?

gobuster

gobuster — nástroj Go pro průzkum, má dva režimy provozu. První se používá k hrubému vynucení souborů a adresářů na webu, druhý se používá k hrubému vynucení subdomén DNS. Nástroj zpočátku nepodporuje rekurzivní výčet souborů a adresářů, což samozřejmě šetří čas, ale na druhou stranu je nutné spouštět hrubou sílu každého nového koncového bodu na webu zvlášť.

výhody:

  • Vysoká rychlost provozu jak pro hrubou sílu prohledávání DNS subdomén, tak pro hrubou sílu souborů a adresářů.

nevýhody:

  • Aktuální verze nepodporuje nastavení HTTP hlaviček;
  • Ve výchozím nastavení jsou za platné považovány pouze některé stavové kódy HTTP (200,204,301,302,307).

Webové nástroje aneb kde začít jako pentester?

Arjun

Arjun - nástroj pro hrubou sílu skrytých HTTP parametrů v parametrech GET/POST, stejně jako v JSON. Vestavěný slovník má 25 980 slov, která Ajrun zkontroluje za téměř 30 sekund. Trik je v tom, že Ajrun nekontroluje každý parametr zvlášť, ale kontroluje ~1000 parametrů najednou a vidí, zda se odpověď změnila. Pokud se odpověď změnila, rozdělí těchto 1000 parametrů na dvě části a zkontroluje, která z těchto částí ovlivňuje odpověď. Pomocí jednoduchého binárního vyhledávání je tedy nalezen parametr nebo několik skrytých parametrů, které ovlivnily odpověď, a proto mohou existovat.

výhody:

  • Vysoká rychlost díky binárnímu vyhledávání;
  • Podpora parametrů GET/POST a také parametrů ve formě JSON;

Plugin pro Burp Suite funguje na podobném principu - param-miner, který je také velmi dobrý při hledání skrytých parametrů HTTP. Více vám o něm řekneme v připravovaném článku o Burpu a jeho pluginech.
Webové nástroje aneb kde začít jako pentester?

LinkFinder

LinkFinder — skript Python pro vyhledávání odkazů v souborech JavaScript. Užitečné pro hledání skrytých nebo zapomenutých koncových bodů/URL ve webové aplikaci.

výhody:

  • Rychle;
  • Pro Chrome existuje speciální plugin založený na LinkFinder.

.

nevýhody:

  • Nepohodlný konečný závěr;
  • Neanalyzuje JavaScript v průběhu času;
  • Vcelku jednoduchá logika pro vyhledávání odkazů - pokud je JavaScript nějak zamlžován, nebo odkazy zpočátku chybí a generují se dynamicky, pak nebude schopen nic najít.

Webové nástroje aneb kde začít jako pentester?

JSParser

JSParser je skript Pythonu, který používá Tornádo и JSBeautifier analyzovat relativní adresy URL ze souborů JavaScript. Velmi užitečné pro detekci požadavků AJAX a sestavení seznamu metod API, se kterými aplikace komunikuje. Funguje efektivně ve spojení s LinkFinder.

výhody:

  • Rychlá analýza souborů JavaScript.

Webové nástroje aneb kde začít jako pentester?

sqlmap

sqlmap je pravděpodobně jedním z nejznámějších nástrojů pro analýzu webových aplikací. Sqlmap automatizuje vyhledávání a provoz SQL injections, pracuje s několika SQL dialekty a má ve svém arzenálu obrovské množství různých technik, od přímých uvozovek až po složité vektory pro časově založené SQL injections. Navíc má mnoho technik pro další využití pro různé DBMS, takže je užitečný nejen jako skener pro SQL injekce, ale také jako výkonný nástroj pro využívání již nalezených SQL injekcí.

výhody:

  • Velké množství různých technik a vektorů;
  • Nízký počet falešně pozitivních výsledků;
  • Spousta možností doladění, různé techniky, cílová databáze, tamper skripty pro obcházení WAF;
  • Schopnost vytvářet výstupní výpis;
  • Mnoho různých operačních schopností, například pro některé databáze - automatické načítání/vyjímání souborů, získání schopnosti spouštět příkazy (RCE) a další;
  • Podpora přímého připojení k databázi pomocí dat získaných při útoku;
  • Jako vstup můžete odeslat textový soubor s výsledky Burp – není třeba ručně skládat všechny atributy příkazového řádku.

nevýhody:

  • Je obtížné přizpůsobit, například napsat některé z vašich vlastních šeků kvůli vzácné dokumentaci;
  • Bez odpovídajícího nastavení provádí neúplnou sadu kontrol, což může být zavádějící.

Webové nástroje aneb kde začít jako pentester?

NoSQLMap

NoSQLMap — nástroj Pythonu pro automatizaci vyhledávání a využívání injekcí NoSQL. Je vhodné jej použít nejen v NoSQL databázích, ale i přímo při auditu webových aplikací, které NoSQL využívají.

výhody:

  • Stejně jako sqlmap nejen najde potenciální zranitelnost, ale také prověří možnost jejího zneužití pro MongoDB a CouchDB.

nevýhody:

  • Nepodporuje NoSQL pro Redis, Cassandra, vývoj tímto směrem probíhá.

oxml_xxe

oxml_xxe — nástroj pro vkládání exploitů XXE XML do různých typů souborů, které v nějaké formě používají formát XML.

výhody:

  • Podporuje mnoho běžných formátů jako DOCX, ODT, SVG, XML.

nevýhody:

  • Podpora pro PDF, JPEG, GIF není plně implementována;
  • Vytvoří pouze jeden soubor. K vyřešení tohoto problému můžete použít nástroj docem, který dokáže vytvořit velké množství souborů užitečného zatížení na různých místech.

Výše uvedené nástroje odvádějí skvělou práci při testování XXE při načítání dokumentů obsahujících XML. Pamatujte však také na to, že obslužné nástroje formátu XML lze nalézt v mnoha jiných případech, například XML lze použít jako datový formát místo JSON.

Proto doporučujeme věnovat pozornost následujícímu úložišti, které obsahuje velké množství různých užitečných zatížení: Užitečné zatíženíAllTheThings.

tplmap

tplmap - nástroj Pythonu pro automatickou identifikaci a využívání zranitelností vkládání šablon na straně serveru; má nastavení a příznaky podobné sqlmap. Používá několik různých technik a vektorů, včetně slepé injekce, a má také techniky pro provádění kódu a načítání/nahrávání libovolných souborů. Kromě toho má ve svém arzenálu techniky pro tucet různých šablonových enginů a některé techniky pro vyhledávání injekcí kódu podobného eval() v Pythonu, Ruby, PHP, JavaScript. Pokud bude úspěšný, otevře interaktivní konzolu.

výhody:

  • Velké množství různých technik a vektorů;
  • Podporuje mnoho šablon vykreslování motorů;
  • Spousta operačních technik.

CeWL

CeWL - generátor slovníků v Ruby, vytvořený k extrahování jedinečných slov z konkrétní webové stránky, sleduje odkazy na stránce do zadané hloubky. Zkompilovaný slovník jedinečných slov lze později použít k použití hesel hrubou silou ve službách nebo souborů a adresářů hrubou silou na stejném webu nebo k napadení výsledných hashů pomocí hashcat nebo John the Ripper. Užitečné při sestavování „cílového“ seznamu potenciálních hesel.

výhody:

  • Snadné použití.

nevýhody:

  • Musíte být opatrní s hloubkou vyhledávání, abyste nezachytili doménu navíc.

Slabý pas

Slabý pas - služba obsahující mnoho slovníků s jedinečnými hesly. Mimořádně užitečné pro různé úkoly související s prolomením hesel, od jednoduchých online hrubou silou účtů na cílových službách až po offline hrubou sílu přijatých hashů pomocí hashcat nebo John The Ripper. Obsahuje asi 8 miliard hesel o délce od 4 do 25 znaků.

výhody:

  • Obsahuje jak specifické slovníky, tak slovníky s nejběžnějšími hesly – můžete si vybrat konkrétní slovník pro vlastní potřebu;
  • Slovníky jsou aktualizovány a doplňovány novými hesly;
  • Slovníky jsou seřazeny podle účinnosti. Můžete si vybrat možnost jak rychlé online hrubé síly, tak podrobného výběru hesel z objemného slovníku s nejnovějšími úniky;
  • K dispozici je kalkulačka, která ukazuje čas potřebný k brutálnímu hesel na vašem zařízení.

Webové nástroje aneb kde začít jako pentester?

Nástroje pro kontrolu CMS bychom rádi zařadili do samostatné skupiny: WPScan, JoomScan a AEM hacker.

AEM_hacker

AEM hacker je nástroj pro identifikaci zranitelností v aplikacích Adobe Experience Manager (AEM).

výhody:

  • Dokáže identifikovat aplikace AEM ze seznamu adres URL odeslaných na jeho vstup;
  • Obsahuje skripty pro získání RCE načtením shellu JSP nebo využitím SSRF.

JoomScan

JoomScan — nástroj Perl pro automatizaci detekce zranitelností při nasazení Joomla CMS.

výhody:

  • Schopnost najít konfigurační chyby a problémy s nastavením správy;
  • Vypisuje verze Joomly a související zranitelnosti, podobně pro jednotlivé komponenty;
  • Obsahuje více než 1000 exploitů pro komponenty Joomla;
  • Výstup závěrečných zpráv v textových a HTML formátech.

Webové nástroje aneb kde začít jako pentester?

WPScan

WPScan - nástroj pro skenování WordPress webů, má ve svém arzenálu zranitelnosti jak pro samotný WordPress engine, tak pro některé pluginy.

výhody:

  • Schopný vypsat nejen nebezpečné pluginy a témata WordPress, ale také získat seznam uživatelů a souborů TimThumb;
  • Může provádět útoky hrubou silou na weby WordPress.

nevýhody:

  • Bez odpovídajícího nastavení provádí neúplnou sadu kontrol, což může být zavádějící.

Webové nástroje aneb kde začít jako pentester?

Obecně platí, že různí lidé preferují pro práci různé nástroje: všichni jsou svým způsobem dobří a to, co se líbí jednomu, nemusí druhému vůbec vyhovovat. Pokud si myslíte, že jsme nespravedlivě ignorovali nějakou dobrou utilitu, napište o ní do komentářů!

Zdroj: www.habr.com

Přidat komentář