v rozprávaní o užitočných nástrojoch pre pentestera. V novom článku sa zameriame na nástroje pre analýzu zabezpečenia webových aplikácií.
Náš kolega už vytvoril podobný asi pred siedmimi rokmi. Zaujímavé je pozrieť sa na to, ktoré nástroje udržali a posilnili svoje pozície, a ktoré ustúpili do pozadia a teraz sa používajú zriedkavo.

Upozorníme, že sem patrí aj Burp Suite, ale o ňom a jeho užitočných pluginoch bude samostatná publikácia.
Obsah:
Amass
— nástroj na Go na vyhľadávanie a prehľadávanie subdomén DNS a tvorenie mapy vonkajšej siete. Amass je projekt OWASP, vytvorený na to, aby ukázal, ako vyzerajú organizácie na internete pre vonkajšieho pozorovateľa. Názvy subdomén získava Amass rôznymi spôsobmi, v nástroji sa používa ako rekurzívne prehľadávanie subdomén, tak aj vyhľadávanie v otvorených zdrojoch.
Na zistenie vzájomne prepojených sieťových segmentov a čísel autonómnych systémov Amass používa IP adresy získané počas práce. Všetky nájdené informácie sa používajú na vytvorenie mapy siete.
Výhody:
- Techniky zberu informácií zahŕňajú:
* DNS — prehľadávanie subdomén podľa slovníka, bruteforce subdomén, „inteligentné“ prehľadávanie s použitím mutácií na základe nájdených subdomén, spätné DNS dopyty a vyhľadávanie DNS serverov, na ktorých je možné zrealizovať dopyt na prenos zóny (AXFR);* Vyhľadávanie v otvorených zdrojoch — 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 TLS certifikátov — Censys, CertDB, CertSpotter, Crtsh, Entrust;
* Používanie API vyhľadávacích systémov — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;
* Vyhľadávanie vo webových archívoch internetu: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;
- Integrácia s Maltego;
- Zabezpečuje najkompletnejšie pokrytie úlohy vyhľadávania DNS subdomén.
Nevýhody:
- Dávajte pozor na amass.netdomains — pokúsi sa osloviť každú IP adresu v identifikovanej infraštruktúre a získať názvy domén z spätných DNS dotazov a TLS certifikátov. Toto je „hlasná“ technika, môže odhaliť vaše spravodajské aktivity v skúmanej organizácii.
- Vysoká spotreba pamäte môže dosiahnuť až 2 GB RAM v rôznych nastaveniach, čo neumožní spustiť tento nástroj v cloude na lacnom VDS.

Altdns
— nástroj v Pythone na zostavovanie slovníkov na prelomenie DNS subdomén. Umožňuje generovať množstvo variant subdomén pomocou mutácií a permutácií. Na to sa používajú slová, ktoré sa často vyskytujú 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é poskytnúť do Altdns. Na výstupe sa získava zoznam variácií subdomén, ktoré môžu existovať, a tento zoznam sa následne môže použiť pri DNS bruteforce.
Výhody:
- Dobře funguje s veľkými súbormi údajov.
aquatone
— predtým bol známejší ako ďalší nástroj na vyhľadávanie subdomén, ale sám autor sa vzdal tohto prístupu v prospech vyššie uvedeného Amass. Teraz je aquatone prepisovaný v Go a je viac zameraný na predbežné prieskumy webových stránok. Na tento účel aquatone prechádza zadanými doménami a hľadá na nich webové stránky na rôznych portoch, poté zhromažďuje všetky informácie o stránke a robí snímky obrazovky. Je užitočný pre rýchly predbežný prieskum webových stránok, po ktorom si môžete vybrať prioritné ciele pre útoky.
Výhody:
- Na výstupe vytvára skupinu súborov a priečinkov, ktoré sú pohodlné na ďalšiu prácu s inými nástrojmi:
* HTML report so zozbieranými snímkami obrazovky a skupinami podľa podobnosti hlavičiek odpovedí;* Súbor so všetkými URL, na ktorých boli nájdené webové stránky;
* Súbor so štatistikou a údajmi stránky;
* Priečinok so súbormi obsahujúcimi hlavičky odpovedí od nájdených cieľov;
* Priečinok so súbormi obsahujúcimi telo odpovede od nájdených cieľov;
* Snímky obrazoviek nájdených webových stránok;
- Podporuje prácu s XML reportmi z Nmap a Masscan;
- Používa headless Chrome/Chromium na renderovanie snímok obrazovky.
Nevýhody:
- Môže upútať pozornosť systémov detekcie narušení, preto vyžaduje konfiguráciu.
Snímek obrazovky bol urobený pre jednu zo starých verzií aquatone (v0.5.0), v ktorej bol implementovaný vyhľadávanie DNS subdomén. Staršie verzie môžete nájsť na .

MassDNS
— ďalší nástroj na vyhľadávanie DNS subdomén. Jeho hlavnou odlišnosťou je, že robí DNS dotazy priamo na množstvo rôznych DNS resolverov a robí to so značnou rýchlosťou.
Výhody:
- Rýchly — dokáže spracovať viac ako 350 tisíc názvov za sekundu.
Nevýhody:
- MassDNS môže spôsobiť značnú záťaž na používané DNS resolveri, čo môže viesť k zablokovaniu na týchto serveroch alebo sťažnosťam na váš poskytovateľ. Okrem toho to vytvorí veľkú záťaž na DNS servery spoločnosti, ak nejaké majú a ak sú zodpovedné za domény, ktoré sa snažíte rozlíšiť.
- Zoznam resolverov je v súčasnosti zastaraný, avšak ak odstránite nefunkčné DNS resolvery a pridáte nové známe — všetko bude v poriadku.

Snímka obrazovky aquatone v0.5.0
nsec3map
— nástroj na Pythone na získanie kompletného zoznamu domén chránených DNSSEC.
Výhody:
- Rýchlo zisťuje hostiteľov v DNS zónach s minimálnym počtom požiadaviek, ak je v zóne povolená podpora DNSSEC;
- Podieľa sa plugin pre John the Ripper, ktorý môžete využiť na hackovanie získaných hashov NSEC3.
Nevýhody:
- Mnohé DNS chyby sa spracúvajú nesprávne;
- Nie je automatizované paralelizovanie spracovania NSEC záznamov — musíte proces oddeliť manuálne;
- Vysoká spotreba pamäte.
Acunetix
— skener webových zraniteľností, ktorý automatizuje proces kontroly bezpečnosti webových aplikácií. Testuje aplikáciu na prítomnosť SQL injekcií, XSS, XXE, SSRF a mnohých ďalších webových zraniteľností. Avšak, ako každý iný skener množstva webových zraniteľností, nenahrádza pentestera, pretože zložené reťazce zraniteľností alebo zraniteľnosti v logike nie sú schopné nájsť. Na druhej strane pokrýva veľmi veľa rôznych zraniteľností, vrátane rôznych CVE, na ktoré mohol pentester zabudnúť, preto je veľmi užitočný na uvoľnenie od rutinných kontrol.
Výhody:
- Nízka úroveň falošných pozitív;
- Výsledky je možné exportovať vo forme správ;
- Realizuje veľké množstvo kontrol na rôzne zraniteľnosti;
- Paralelné skenovanie viacerých hostiteľov.
Nevýhody:
- Nie je algoritmus deduplikaácie (podobné funkcionálne stránky Acunetix považuje za rôzne, keďže majú rôzne URL), ale vývojári na tom pracujú;
- Vyžaduje inštaláciu na samostatný webový server, čo komplikuje testovanie klientskych systémov s pripojením cez VPN a používanie skenera v izolovanom segmente miestnej klientskej siete;
- Môže "zašumieť" skúmanú službu, napríklad poslať do kontaktného formulára na webovej stránke príliš veľa útočných vektorov, čím sa značne skomplikuje podnikanie.
- Je to proprietárne a teda nebezpečné riešenie.

Dirsearch
— nástroj na Pythone na brute-force adresárov a súborov na webových stránkach.
Výhody:
- Dokáže rozlíšiť skutočné „200 OK“ stránky od stránok „200 OK“, ale s textom „stránka neexistuje“;
- Dodáva sa s užitočným slovníkom, ktorý má dobrú rovnováhu medzi veľkosťou a efektívnosťou vyhľadávania. Obsahuje štandardné cesty charakteristické pre mnohé CMS a technologické stacky;
- Má vlastný formát slovníka, ktorý umožňuje dosiahnuť dobrú efektívnosť a flexibilitu prechádzania súbormi a adresármi;
- Pohodlný výstup — jednoduchý text, JSON;
- Dokáže robiť throttling — pauzu medzi požiadavkami, čo je nevyhnutné pre akúkoľvek slabšiu službu.
Nevýhody:
- Rozšírenia treba posielať v podobe reťazca, čo nie je ideálne, ak potrebujete poslať veľa rozšírení naraz;
- Aby ste mohli použiť svoj slovník, bude ho potrebné trochu upraviť do formátu slovníkov Dirsearch pre maximálnu efektivitu.

wfuzz
— Python fuzzér webových aplikácií. Pravdepodobne jeden z najznámejších web fuzzérov. Princíp je jednoduchý: wfuzz umožňuje fuzzovať akékoľvek miesto v HTTP požiadavke, čo poskytuje možnosť fuzzovať GET/POST parametre, HTTP hlavičky, vrátane cookie a iné autentifikačné hlavičky. Zároveň je vhodný aj pre jednoduché brute-force adresárov a súborov, na čo je potrebný dobrý slovník. Má tiež flexibilný filter, pomocou ktorého je možné filtrovať odpovede z webovej stránky podľa rôznych parametrov, čo umožňuje dosiahnuť efektívne výsledky.
Výhody:
- Viacúčelový — modulárna štruktúra, zostavenie trvá niekoľko minút;
- Pohodlný mechanizmus filtrovania a fuzzovania;
- Možno fuzzovať akúkoľvekHTTP metódu a tiež akékoľvek miesto v HTTP požiadavke.
Nevýhody:
- V stave vývoja.

ffuf
— web fuzzér napísaný v Go, vytvorený podľa „obrazu a podoby“ wfuzz, umožňuje brute-force súbory, adresáre, URL cesty, názvy a hodnoty GET/POST parametrov, HTTP hlavičky, vrátane hlavičky Host pre brute-force virtuálnych hostiteľov. Oproti svojmu náprotivku wfuzz sa vyznačuje vyššou rýchlosťou a niektorými novými funkciami, ako je podpora slovníkov vo formáte Dirsearch.
Výhody:
- Filtre sú podobné filtrám wfuzz a umožňujú flexibilne nastaviť brute-force;
- Umožňuje fuzzovať hodnoty HTTP hlavičiek, dáta POST požiadaviek a rôzne časti URL, vrátane názvov a hodnôt GET parametrov;
- Môžete zadať akúkoľvek HTTP metódu.
Nevýhody:
- V stave vývoja.

gobuster
— nástroj na Go pre prieskum, má dva prevádzkové režimy. Prvý sa používa na bruteforcing súborov a adresárov na webe, druhý — na preverovanie DNS subdomén. Nástroj pôvodne nepodporuje rekurzívne prehľadávanie súborov a adresárov, čo síce šetrí čas, ale na druhej strane je potrebné spustiť bruteforcing každého nového koncového bodu na webe zvlášť.
Výhody:
- Vysoká rýchlosť práce ako pri preverovaní DNS subdomén, tak aj pri bruteforcingu súborov a adresárov.
Nevýhody:
- V aktuálnej verzii nepodporuje nastavenie HTTP hlavičiek;
- Predvolene považuje za platné iba niektoré HTTP stavové kódy (200, 204, 301, 302, 307).

Arjun
— nástroj pre bruteforcing skrytých HTTP parametrov v GET/POST parametroch, ako aj v JSON. Vstavaný slovník obsahuje 25 980 slov, ktoré Ajrun overuje takmer za 30 sekúnd. Zameranie spočíva v tom, že Ajrun neoveruje každý parameter samostatne, ale preveruje naraz ~1000 parametrov a sleduje, či sa odpoveď zmenila. Ak sa odpoveď zmenila, tak rozdelí týchto 1000 parametrov na dve časti a preverí, ktorá z týchto častí ovplyvňuje odpoveď. Takto sa s použitím jednoduchého binárneho hľadania nájde parameter alebo niekoľko skrytých parametrov, ktoré mali zásadný vplyv na odpoveď a teda môžu existovať.
Výhody:
- Vysoká rýchlosť práce vďaka binárnemu hľadaniu;
- Podpora GET/POST parametrov, ako aj parametrov vo forme JSON;
Na podobnom princípe funguje aj plugin pre Burp Suite — , ktorý je tiež veľmi dobrý pri hľadaní skrytých HTTP parametrov. Podrobnejšie ho popíšeme v nadchádzajúcom článku o Burp a jeho pluginoch.

LinkFinder
— skript na Pythone na vyhľadávanie odkazov v JavaScript súboroch. Je užitočný na hľadanie skrytých alebo zabudnutých koncových bodov/URL vo webovej aplikácii.
Výhody:
- Rýchly;
- Existuje špeciálny plugin pre Chrome založený na LinkFinder-e.
.
Nevýhody:
- Nepohodlný konečný výstup;
- Neanalyzuje JavaScript dynamicky;
- Celkom jednoduchá logika vyhľadávania odkazov — ak je JavaScript akýmkoľvek spôsobom obfuskovaný, alebo odkazy pôvodne chýbajú a generujú sa dynamicky, tak nemôže nič nájsť.

JSParser
— skript na Pythone, ktorý využíva a na analýzu relatívnych URL adries z JavaScript súborov. Je veľmi užitočný na odhaľovanie AJAX požiadaviek a zostavovanie zoznamu API metód, s ktorými interaguje aplikácia. Efektívne pracuje v páre s LinkFinder-om.
Výhody:
- Rýchle parsovanie JavaScript súborov.

sqlmap
— pravdepodobne jeden z najznámejších nástrojov na analýzu webových aplikácií. Sqlmap automatizuje vyhľadávanie a využívanie SQL injekcií, pracuje s viacerými dialektmi SQL a má vo svojom arzenále obrovské množstvo rôznych techník, začínajúc od jednoduchých citácií až po zložité vektory pre time-based SQL injekcie. Okrem toho má množstvo techník na ďalšie využitie pre rôzne DBMS, preto je užitočný nielen ako skener SQL injekcií, ale aj ako mocný nástroj na využívanie už nájdených SQL injekcií.
Výhody:
- Veľa rôznych techník a vektorov;
- Nízke množstvo falošných pozitív;
- Mnoho možností presného nastavenia, rôzne techniky, cieľová DB, tamper skripty na obídenie WAF;
- Možnosť vytvorenia dumpu výstupných údajov;
- Veľa rôznych možností na využitie, napríklad pre niektoré DB — automatické nahrávanie/vykladanie súborov, získanie možnosti vykonávania príkazov (RCE) a ďalšie;
- Podpora priameho pripojenia k DB s použitím údajov získaných v priebehu útoku;
- Na vstup môžeme poskytnúť textový súbor s výsledkami práce Burp — nie je potrebné manuálne zostavovať všetky atribúty príkazového riadku.
Nevýhody:
- Ťažko prispôsobiteľný, napríklad napísať vlastné kontroly kvôli nedostatočnej dokumentácii na to;
- Bez príslušných nastavení vykonáva neúplný súbor kontrol, čo môže uvádzať do omylu.

NoSQLMap
— nástroj v Pythone na automatizáciu vyhľadávania a využívania NoSQL injekcií. Je pohodlné ho používať nie len v NoSQL databázach, ale aj pri audite webových aplikácií, ktoré používajú NoSQL.
Výhody:
- Rovnako ako sqlmap, umožňuje nielen nájsť potenciálnu zraniteľnosť, ale aj overiť možnosť jej využitia pre MongoDB a CouchDB.
Nevýhody:
- Nepodporuje NoSQL pre Redis, Cassandra, na tejto oblasti sa pracuje.
oxml_xxe
— nástroj na vkladanie XXE XML exploitov do rôznych typov súborov, v ktorých sa akýmkoľvek spôsobom používa XML formát.
Výhody:
- Podporuje mnohé rozšírené formáty, ako DOCX, ODT, SVG, XML.
Nevýhody:
- Nepodporuje úplne PDF, JPEG, GIF;
- Vytvára iba jeden súbor. Na riešenie tohto problému možno použiť nástroj , ktorý môže vytvoriť veľké množstvo súborov s payloadmi na rôznych miestach.
Uvedené nástroje sú vynikajúce na testovanie XXE pri nahrávaní dokumentov obsahujúcich XML. Nezabúdajte však, že XML formátovače môžu byť použité v mnohých iných situáciách, napríklad XML sa môže používať ako formát dát miesto JSON.
Preto odporúčame venovať pozornosť nasledujúcemu repozitáru, ktorý obsahuje široké množstvo rôznych payloadov: .
tplmap
— nástroj v Pythone na automatické objavovanie a zneužívanie zraniteľností Server-Side Template Injection, má podobné nastavenia a prapory ako sqlmap. Používa niekoľko rôznych techník a vektorov, vrátane slepých injekcií a má techniky na vykonávanie kódu a nahrávanie/vykladanie ľubovoľných súborov. Okrem toho má vo svojom arzenáli techniky pre desiatky rôznych šablónových enginov a niektoré techniky na vyhľadávanie eval()-podobných injekcií kódu v Pythone, Ruby, PHP, JavaScripte. V prípade úspešného zneužitia otvára interaktívnu konzolu.
Výhody:
- Veľa rôznych techník a vektorov;
- Podporuje množstvo engineov pre renderovanie šablón;
- Množstvo exploit techník.
CeWL
— generátor slovníkov v Ruby, vytvorený na extrakciu unikátnych slov z určeného webu, prechádza odkazmi na stránke do určitej hĺbky. Zložený slovník z unikátnych slov je možné neskôr využiť na bruteforce hesiel na službách alebo bruteforce súborov a adresárov na tej istej webovej stránke, alebo na útok na získané hash pomocou hashcat alebo John the Ripper. Je užitočný pri zostavovaní "cieľového" zoznamu potenciálnych hesiel.
Výhody:
- Jednoduché na použitie.
Nevýhody:
- Je potrebné byť opatrný s hĺbkou vyhľadávania, aby sa nezachytil ďalší domén.
Weakpass
— služba, ktorá obsahuje množstvo slovníkov s unikátnymi heslami. Mimoriadne užitočné pre rôzne úlohy spojené s hackovaním hesiel, začínajúc od jednoduchého online bruteforce účtov na cieľových službách, až po offline bruteforce získaných hash pomocou alebo . Obsahuje približne 8 miliárd hesiel s dĺžkou od 4 do 25 znakov.
Výhody:
- Obsahuje ako špecifické slovníky, tak aj slovníky s najčastejšími heslami — je možné vybrať konkrétny slovník podľa vlastných potrieb;
- Slovníky sa aktualizujú a dopĺňajú novými heslami;
- Slovníky sú usporiadané podľa efektivity. Môžete si vybrať variantu pre rýchly online bruteforce, ako aj pre dôkladný výber hesiel z rozsiahleho slovníka s poslednými únikmi;
- Sú tu kalkulačka, ktorá ukazuje čas bruteforcingu hesiel na vašom hardvéri.

Do samostatnej skupiny by sme chceli zaradiť nástroje na kontrolu CMS: WPScan, JoomScan a AEM hacker.
AEM_hacker
— nástroj na identifikáciu zraniteľností v aplikáciách Adobe Experience Manager (AEM).
Výhody:
- Môže identifikovať AEM aplikácie zo zoznamu URL zadaných ako vstup;
- Obsahuje skripty na získanie RCE pomocou nahrávania JSP shellu alebo exploatáciou SSRF.
JoomScan
— nástroj napísaný v Perle na automatizáciu zistenia zraniteľností pri nasadení Joomla CMS.
Výhody:
- Schopný nachádzať nedostatky v konfigurácii a problémy administrátorských nastavení;
- Vypisuje verzie Joomla a s nimi súvisiace zraniteľnosti, rovnako ako pre jednotlivé komponenty;
- Obsahuje viac ako 1000 exploitov pre komponenty Joomla;
- Výstupy konečných správ v textovom a HTML formáte.

WPScan
— nástroj na skenovanie stránok na WordPress, má vo svojom arzenáli zraniteľnosti ako pre samotný engine WordPress, tak aj pre niektoré pluginy.
Výhody:
- Schopný vypisovať nielen nesprávne WordPress pluginy a témy, ale aj získať zoznam používateľov a TimThumb súborov;
- Môže vykonávať bruteforce útoky na WordPress stránky.
Nevýhody:
- Bez príslušných nastavení vykonáva neúplný súbor kontrol, čo môže uvádzať do omylu.

Celkovo rôzni ľudia preferujú pri práci rôzne nástroje: všetky sú svojím spôsobom dobré a to, čo sa páči jednému, nemusí vyhovovať inému. Ak si myslíte, že sme nezákonne opomenuli nejakú dobrú utilitu — napíšte o nej v komentároch!
Zdroj: habr.com
