Webové nástroje alebo kde začať ako pentester?

Pokračujeme hovoriť o užitočných nástrojoch pre pentesterov. V novom článku sa pozrieme na nástroje na analýzu bezpečnosti webových aplikácií.

Náš kolega BeLove Už som niečo také urobil kompilácia asi pred siedmimi rokmi. Je zaujímavé sledovať, ktoré nástroje si udržali a upevnili svoje pozície a ktoré ustúpili do úzadia a v súčasnosti sa používajú len zriedka.
Webové nástroje alebo kde začať ako pentester?

Upozorňujeme, že to zahŕňa aj balík Burp Suite, ale o ňom a jeho užitočných doplnkoch bude vydaná samostatná publikácia.

Obsah:

hromadiť

hromadiť - Go nástroj na vyhľadávanie a enumeráciu DNS subdomén a mapovanie externej siete. Amass je projekt OWASP navrhnutý tak, aby ukázal, ako vyzerajú organizácie na internete pre cudzinca. Amass získava názvy subdomén rôznymi spôsobmi; nástroj využíva rekurzívne počítanie subdomén a vyhľadávanie open source.

Na objavenie prepojených sieťových segmentov a čísel autonómnych systémov používa Amass IP adresy získané počas prevádzky. Všetky nájdené informácie sa použijú na vytvorenie mapy siete.

Pros:

  • Techniky zhromažďovania informácií zahŕňajú:
    * DNS - slovníkové vyhľadávanie subdomén, bruteforce subdomén, inteligentné vyhľadávanie pomocou mutácií na základe nájdených subdomén, reverzné DNS dotazy a vyhľadávanie DNS serverov, kde je možné zadať požiadavku na prenos zóny (AXFR);

    * Vyhľadávanie s otvoreným zdrojom – Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Vyhľadávanie v databázach certifikátov TLS - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Používanie API vyhľadávačov – BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Prehľadávajte internetové webové archívy: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • integrácia s Maltego;
  • Poskytuje najkompletnejšie pokrytie úlohy vyhľadávania subdomén DNS.

Nevýhody:

  • Buďte opatrní s amass.netdomains - pokúsi sa kontaktovať každú IP adresu v identifikovanej infraštruktúre a získať názvy domén z reverzných DNS vyhľadávaní a TLS certifikátov. Ide o „vysokoprofilovú“ techniku, môže odhaliť vaše spravodajské aktivity vo vyšetrovanej organizácii.
  • Vysoká spotreba pamäte, môže spotrebovať až 2 GB RAM v rôznych nastaveniach, čo vám neumožní spustiť tento nástroj v cloude na lacnom VDS.

Webové nástroje alebo kde začať ako pentester?

Altdns

Altdns — nástroj Pythonu na zostavovanie slovníkov na vyčíslenie subdomén DNS. Umožňuje generovať mnoho variantov subdomén pomocou mutácií a permutácií. Na tento účel sa používajú slová, ktoré sa často nachádzajú v subdoménach (napríklad: test, dev, staging), všetky mutácie a permutácie sa aplikujú na už známe subdomény, ktoré je možné odoslať na vstup Altdns. Výstupom je zoznam variácií subdomén, ktoré môžu existovať, a tento zoznam možno neskôr použiť na DNS hrubou silou.

Pros:

  • Funguje dobre s veľkými súbormi údajov.

akvatón

akvatón - bol skôr známy ako ďalší nástroj na vyhľadávanie subdomén, no sám autor od toho upustil v prospech spomínaného Amassu. Teraz bol aquatone prepísaný v Go a je viac zameraný na predbežný prieskum na webových stránkach. Ak to chcete urobiť, aquatone prechádza zadanými doménami a vyhľadáva webové stránky na rôznych portoch, potom zhromažďuje všetky informácie o lokalite a vytvára snímku obrazovky. Pohodlné pre rýchly predbežný prieskum webových stránok, po ktorom si môžete vybrať prioritné ciele pre útoky.

Pros:

  • Výstup vytvára skupinu súborov a priečinkov, ktoré je vhodné použiť pri ďalšej práci s inými nástrojmi:
    * HTML správa so zhromaždenými snímkami obrazovky a názvami odpovedí zoskupených podľa podobnosti;

    * Súbor so všetkými adresami URL, na ktorých boli nájdené webové stránky;

    * Súbor so štatistikami a údajmi o stránke;

    * Priečinok so súbormi obsahujúcimi hlavičky odpovedí z nájdených cieľov;

    * Priečinok so súbormi obsahujúcimi telo odpovede z nájdených cieľov;

    * Snímky obrazovky nájdených webových stránok;

  • Podporuje prácu s XML správami z Nmap a Masscan;
  • Používa bezhlavý Chrome/Chromium na vykresľovanie snímok obrazovky.

Nevýhody:

  • Môže upútať pozornosť systémov detekcie narušenia, takže vyžaduje konfiguráciu.

Snímka obrazovky bola urobená pre jednu zo starých verzií aquatone (v0.5.0), v ktorej bolo implementované vyhľadávanie subdomén DNS. Staršie verzie nájdete na stránka vydania.
Webové nástroje alebo kde začať ako pentester?

MassDNS

MassDNS je ďalším nástrojom na vyhľadávanie subdomén DNS. Jeho hlavným rozdielom je, že zadáva DNS dotazy priamo mnohým rôznym DNS resolverom a robí to značnou rýchlosťou.

Pros:

  • Rýchly - schopný rozlíšiť viac ako 350 tisíc mien za sekundu.

Nevýhody:

  • MassDNS môže spôsobiť značné zaťaženie používaných prekladačov DNS, čo môže viesť k zákazom týchto serverov alebo sťažnostiam u vášho ISP. Okrem toho to značne zaťaží servery DNS spoločnosti, ak ich majú a ak sú zodpovedné za domény, ktoré sa pokúšate vyriešiť.
  • Zoznam resolverov je momentálne zastaraný, no ak vyberiete nefunkčné DNS resolvery a pridáte nové známe, všetko bude v poriadku.

Webové nástroje alebo kde začať ako pentester?
Snímka obrazovky aquatone v0.5.0

nsec3map

nsec3map je nástroj Pythonu na získanie kompletného zoznamu domén chránených DNSSEC.

Pros:

  • Rýchlo zistí hostiteľov v zónach DNS s minimálnym počtom dopytov, ak je v zóne povolená podpora DNSSEC;
  • Zahŕňa doplnok pre John the Ripper, ktorý možno použiť na prelomenie výsledných hashov NSEC3.

Nevýhody:

  • Mnoho chýb DNS sa nespracuje správne;
  • Neexistuje automatická paralelizácia spracovania NSEC záznamov – menný priestor musíte rozdeliť manuálne;
  • Vysoká spotreba pamäte.

Acunetix

Acunetix — skener webových zraniteľností, ktorý automatizuje proces kontroly bezpečnosti webových aplikácií. Testuje aplikáciu na SQL injekcie, XSS, XXE, SSRF a mnoho ďalších webových zraniteľností. Avšak, ako každý iný skener, rôzne webové zraniteľnosti nenahrádzajú pentester, pretože nedokáže nájsť zložité reťazce zraniteľností alebo zraniteľností v logike. Pokrýva však množstvo rôznych zraniteľností, vrátane rôznych CVE, na ktoré mohol pentester zabudnúť, takže je veľmi vhodný na to, aby vás oslobodil od bežných kontrol.

Pros:

  • Nízka úroveň falošných poplachov;
  • Výsledky možno exportovať ako správy;
  • Vykonáva veľké množstvo kontrol rôznych zraniteľností;
  • Paralelné skenovanie viacerých hostiteľov.

Nevýhody:

  • Neexistuje žiadny deduplikačný algoritmus (Acunetix bude považovať stránky s identickou funkčnosťou za odlišné, pretože vedú na rôzne adresy URL), ale vývojári na tom pracujú;
  • Vyžaduje inštaláciu na samostatnom webovom serveri, čo komplikuje testovanie klientskych systémov s pripojením VPN a používanie skenera v izolovanom segmente lokálnej klientskej siete;
  • Sledovaná služba môže spôsobovať hluk, napríklad odosielaním príliš veľkého množstva vektorov útokov do kontaktného formulára na stránke, čím sa značne komplikujú obchodné procesy;
  • Je to proprietárne, a teda nie bezplatné riešenie.

Webové nástroje alebo kde začať ako pentester?

Dirsearch

Dirsearch — nástroj Pythonu na hrubé vynucovanie adresárov a súborov na webových stránkach.

Pros:

  • Dokáže rozlíšiť skutočné „200 OK“ strán od „200 OK“, ale s textom „stránka sa nenašla“;
  • Dodáva sa s praktickým slovníkom, ktorý má dobrú rovnováhu medzi veľkosťou a efektívnosťou vyhľadávania. Obsahuje štandardné cesty spoločné pre mnohé CMS a technologické zásobníky;
  • Vlastný formát slovníka, ktorý vám umožňuje dosiahnuť dobrú efektivitu a flexibilitu pri vymenúvaní súborov a adresárov;
  • Pohodlný výstup - obyčajný text, JSON;
  • Môže robiť škrtenie - pauzu medzi požiadavkami, čo je životne dôležité pre každú slabú službu.

Nevýhody:

  • Rozšírenia musia byť odovzdané ako reťazec, čo je nepohodlné, ak potrebujete odovzdať veľa rozšírení naraz;
  • Aby ste mohli používať váš slovník, bude potrebné ho mierne upraviť na formát slovníka Dirsearch pre maximálnu efektivitu.

Webové nástroje alebo kde začať ako pentester?

wfuzz

wfuzz - fuzzer webových aplikácií v Pythone. Pravdepodobne jeden z najznámejších webových fázovačov. Princíp je jednoduchý: wfuzz umožňuje fázovať ľubovoľné miesto v HTTP požiadavke, čo umožňuje fázovať parametre GET/POST, HTTP hlavičky vrátane Cookie a iné autentifikačné hlavičky. Zároveň je vhodný aj pre jednoduchú hrubú silu adresárov a súborov, na ktoré potrebujete dobrý slovník. Disponuje tiež flexibilným filtračným systémom, pomocou ktorého môžete filtrovať odpovede z webovej stránky podľa rôznych parametrov, čo vám umožňuje dosiahnuť efektívne výsledky.

Pros:

  • Multifunkčná - modulárna štruktúra, montáž trvá niekoľko minút;
  • Pohodlný mechanizmus filtrovania a fuzzingu;
  • Môžete fázovať akúkoľvek metódu HTTP, ako aj akékoľvek miesto v požiadavke HTTP.

Nevýhody:

  • Vo vývoji.

Webové nástroje alebo kde začať ako pentester?

fuf

fuf — webový fuzzer v Go, vytvorený v „obrázku a podobe“ wfuzz, umožňuje brutálne upravovať súbory, adresáre, cesty URL, názvy a hodnoty parametrov GET/POST, hlavičky HTTP vrátane hlavičky Host pre hrubú silu virtuálnych hostiteľov. wfuzz sa od svojho brata líši vyššou rýchlosťou a niektorými novinkami, napríklad podporuje slovníky formátu Dirsearch.

Pros:

  • Filtre sú podobné filtrom wfuzz, umožňujú flexibilne konfigurovať hrubú silu;
  • Umožňuje fuzzovať hodnoty hlavičiek HTTP, údaje požiadaviek POST a rôzne časti adresy URL vrátane názvov a hodnôt parametrov GET;
  • Môžete zadať ľubovoľnú metódu HTTP.

Nevýhody:

  • Vo vývoji.

Webové nástroje alebo kde začať ako pentester?

gobuster

gobuster — nástroj Go na prieskum, má dva režimy prevádzky. Prvý sa používa na brutálne vynútenie súborov a adresárov na webovej stránke, druhý sa používa na brutálne vynútenie subdomén DNS. Nástroj spočiatku nepodporuje rekurzívne enumerovanie súborov a adresárov, čo, samozrejme, šetrí čas, no na druhej strane treba hrubú silu každého nového koncového bodu na webe spúšťať samostatne.

Pros:

  • Vysoká rýchlosť prevádzky ako pre hrubou silou vyhľadávanie subdomén DNS, tak aj pre hrubou silou súborov a adresárov.

Nevýhody:

  • Aktuálna verzia nepodporuje nastavenie HTTP hlavičiek;
  • V predvolenom nastavení sa za platné považujú iba niektoré stavové kódy HTTP (200,204,301,302,307).

Webové nástroje alebo kde začať ako pentester?

Arjun

Arjun - nástroj na hrubú silu skrytých HTTP parametrov v parametroch GET/POST, ako aj v JSON. Vstavaný slovník má 25 980 slov, ktoré Ajrun skontroluje za takmer 30 sekúnd. Trik je v tom, že Ajrun nekontroluje každý parameter samostatne, ale kontroluje ~ 1000 parametrov naraz a zisťuje, či sa odpoveď zmenila. Ak sa odpoveď zmenila, rozdelí týchto 1000 parametrov na dve časti a skontroluje, ktorá z týchto častí ovplyvňuje odpoveď. Pomocou jednoduchého binárneho vyhľadávania sa teda nájde parameter alebo niekoľko skrytých parametrov, ktoré ovplyvnili odpoveď, a preto môžu existovať.

Pros:

  • Vysoká rýchlosť vďaka binárnemu vyhľadávaniu;
  • Podpora parametrov GET/POST, ako aj parametrov vo forme JSON;

Plugin pre Burp Suite funguje na podobnom princípe - param-baník, ktorý je tiež veľmi dobrý pri hľadaní skrytých parametrov HTTP. Viac vám o ňom povieme v pripravovanom článku o Burpe a jeho pluginoch.
Webové nástroje alebo kde začať ako pentester?

LinkFinder

LinkFinder — skript Python na vyhľadávanie odkazov v súboroch JavaScript. Užitočné na nájdenie skrytých alebo zabudnutých koncových bodov/adres URL vo webovej aplikácii.

Pros:

  • Rýchly;
  • Pre prehliadač Chrome existuje špeciálny doplnok založený na LinkFinder.

.

Nevýhody:

  • Nepohodlný konečný záver;
  • Neanalyzuje JavaScript v priebehu času;
  • Celkom jednoduchá logika na vyhľadávanie odkazov – ak je JavaScript nejako zahmlený, alebo odkazy na začiatku chýbajú a generujú sa dynamicky, tak nebude vedieť nič nájsť.

Webové nástroje alebo kde začať ako pentester?

JSParser

JSParser je Python skript, ktorý používa Tornádo и JSBeautifier analyzovať relatívne adresy URL zo súborov JavaScript. Veľmi užitočné na zisťovanie požiadaviek AJAX a zostavovanie zoznamu metód API, s ktorými aplikácia interaguje. Funguje efektívne v spojení s LinkFinder.

Pros:

  • Rýchla analýza súborov JavaScript.

Webové nástroje alebo kde začať ako pentester?

sqlmap

sqlmap je pravdepodobne jedným z najznámejších nástrojov na analýzu webových aplikácií. Sqlmap automatizuje vyhľadávanie a prevádzku SQL injekcií, pracuje s niekoľkými SQL dialektmi a má vo svojom arzenáli obrovské množstvo rôznych techník, od priamych úvodzoviek až po zložité vektory pre časovo založené SQL injekcie. Okrem toho má mnoho techník na ďalšie využitie pre rôzne DBMS, takže je užitočný nielen ako skener SQL injekcií, ale aj ako výkonný nástroj na využitie už nájdených SQL injekcií.

Pros:

  • Veľké množstvo rôznych techník a vektorov;
  • Nízky počet falošných poplachov;
  • Veľa možností dolaďovania, rôzne techniky, cieľová databáza, tamper skripty na obídenie WAF;
  • Schopnosť vytvárať výstupný výpis;
  • Mnoho rôznych operačných schopností, napríklad pre niektoré databázy - automatické načítanie/vyloženie súborov, získanie schopnosti vykonávať príkazy (RCE) a iné;
  • Podpora priameho pripojenia k databáze pomocou údajov získaných počas útoku;
  • Ako vstup môžete odoslať textový súbor s výsledkami Burp – nie je potrebné manuálne skladať všetky atribúty príkazového riadku.

Nevýhody:

  • Je ťažké prispôsobiť si napríklad vypísanie niektorých vlastných šekov kvôli vzácnej dokumentácii;
  • Bez príslušných nastavení vykonáva neúplnú sadu kontrol, čo môže byť zavádzajúce.

Webové nástroje alebo kde začať ako pentester?

NoSQLMap

NoSQLMap — nástroj Pythonu na automatizáciu vyhľadávania a využívania injekcií NoSQL. Je vhodné ho použiť nielen v NoSQL databázach, ale aj priamo pri audite webových aplikácií, ktoré NoSQL využívajú.

Pros:

  • Rovnako ako sqlmap, nielen nájde potenciálnu zraniteľnosť, ale tiež preverí možnosť jej zneužitia pre MongoDB a CouchDB.

Nevýhody:

  • Nepodporuje NoSQL pre Redis, Cassandra, vývoj týmto smerom prebieha.

oxml_xxe

oxml_xxe — nástroj na vkladanie exploitov XXE XML do rôznych typov súborov, ktoré v určitej forme používajú formát XML.

Pros:

  • Podporuje mnoho bežných formátov ako DOCX, ODT, SVG, XML.

Nevýhody:

  • Podpora pre PDF, JPEG, GIF nie je plne implementovaná;
  • Vytvorí iba jeden súbor. Na vyriešenie tohto problému môžete použiť nástroj docem, ktorý dokáže vytvoriť veľké množstvo súborov užitočného zaťaženia na rôznych miestach.

Vyššie uvedené nástroje odvádzajú skvelú prácu pri testovaní XXE pri načítavaní dokumentov obsahujúcich XML. Pamätajte však aj na to, že obslužné nástroje formátu XML možno nájsť v mnohých iných prípadoch, napríklad XML možno použiť ako formát údajov namiesto JSON.

Preto vám odporúčame venovať pozornosť nasledujúcemu úložisku, ktoré obsahuje veľké množstvo rôznych užitočných zaťažení: Užitočné zaťaženie AllTheThings.

tplmap

tplmap - nástroj Pythonu na automatickú identifikáciu a využívanie zraniteľností vkladania šablón na strane servera; má nastavenia a príznaky podobné ako sqlmap. Používa niekoľko rôznych techník a vektorov, vrátane slepej injekcie, a má tiež techniky na spustenie kódu a načítanie/nahrávanie ľubovoľných súborov. Okrem toho má vo svojom arzenáli techniky pre tucet rôznych šablón šablón a niektoré techniky na vyhľadávanie injekcií kódu podobného eval() v Pythone, Ruby, PHP, JavaScript. V prípade úspechu otvorí interaktívnu konzolu.

Pros:

  • Veľké množstvo rôznych techník a vektorov;
  • Podporuje mnoho nástrojov na vykresľovanie šablón;
  • Veľa operačných techník.

CeWL

CeWL - generátor slovníka v Ruby, vytvorený na extrahovanie jedinečných slov z konkrétnej webovej stránky, sleduje odkazy na stránke do určitej hĺbky. Zostavený slovník jedinečných slov možno neskôr použiť na brutálne vynútené heslá v službách alebo na súbory a adresáre hrubej sily na tej istej webovej stránke alebo na útok na výsledné hash pomocou hashcat alebo John the Ripper. Užitočné pri zostavovaní „cieľového“ zoznamu potenciálnych hesiel.

Pros:

  • Jednoduché použitie.

Nevýhody:

  • Musíte byť opatrní s hĺbkou vyhľadávania, aby ste nezachytili ďalšiu doménu.

Slabý pas

Slabý pas - služba obsahujúca veľa slovníkov s jedinečnými heslami. Mimoriadne užitočné pre rôzne úlohy súvisiace s prelomením hesiel, od jednoduchých online hrubou silou účtov na cieľových službách až po offline hrubou silou prijatých hashov pomocou hashcat alebo John The Ripper. Obsahuje približne 8 miliárd hesiel s dĺžkou od 4 do 25 znakov.

Pros:

  • Obsahuje špecifické slovníky aj slovníky s najbežnejšími heslami - môžete si vybrať konkrétny slovník pre vlastnú potrebu;
  • Slovníky sa aktualizujú a dopĺňajú novými heslami;
  • Slovníky sú zoradené podľa účinnosti. Môžete si vybrať možnosť rýchlej online hrubej sily a podrobného výberu hesiel z rozsiahleho slovníka s najnovšími únikmi informácií;
  • K dispozícii je kalkulačka, ktorá ukazuje čas potrebný na brutálne heslá na vašom zariadení.

Webové nástroje alebo kde začať ako pentester?

Nástroje na kontrolu CMS by sme radi zaradili do samostatnej skupiny: WPScan, JoomScan a AEM hacker.

AEM_hacker

AEM hacker je nástroj na identifikáciu zraniteľností v aplikáciách Adobe Experience Manager (AEM).

Pros:

  • Dokáže identifikovať aplikácie AEM zo zoznamu adries URL odoslaných na jeho vstup;
  • Obsahuje skripty na získanie RCE načítaním shellu JSP alebo využívaním SSRF.

JoomScan

JoomScan — nástroj Perl na automatizáciu detekcie zraniteľností pri nasadzovaní Joomla CMS.

Pros:

  • Schopný nájsť konfiguračné chyby a problémy s administratívnymi nastaveniami;
  • Vypisuje verzie Joomly a súvisiace zraniteľnosti, podobne pre jednotlivé komponenty;
  • Obsahuje viac ako 1000 exploitov pre komponenty Joomla;
  • Výstup záverečných správ v textových a HTML formátoch.

Webové nástroje alebo kde začať ako pentester?

WPScan

WPScan - nástroj na skenovanie WordPress stránok, má vo svojom arzenáli zraniteľnosti ako pre samotný WordPress engine, tak aj pre niektoré pluginy.

Pros:

  • Schopný uvádzať nielen nebezpečné doplnky a témy WordPress, ale aj získať zoznam používateľov a súborov TimThumb;
  • Môže vykonávať útoky hrubou silou na stránky WordPress.

Nevýhody:

  • Bez príslušných nastavení vykonáva neúplnú sadu kontrol, čo môže byť zavádzajúce.

Webové nástroje alebo kde začať ako pentester?

Vo všeobecnosti platí, že rôzni ľudia uprednostňujú na prácu rôzne nástroje: všetci sú svojím spôsobom dobrí a to, čo sa páči jednému, nemusí druhému vôbec vyhovovať. Ak si myslíte, že sme nespravodlivo ignorovali nejaký dobrý nástroj, napíšte o ňom do komentárov!

Zdroj: hab.com

Pridať komentár