Spletna orodja ali kje začeti pentester?

Nadaljujemo s predstavljanjem koristnih orodij za pentesterje. V novem članku bomo obravnavali orodja za analizo varnosti spletnih aplikacij.

Naš kolega BeLove je že pripravil podobno zbiro pred približno sedmimi leti. Zanimivo je videti, katere naprave so ohranile in okrepile svoj položaj, in katere so odšle v ozadje ter se redko uporabljajo.
Spletna orodja ali kje začeti pentester?

Omeniti je treba, da sem spada tudi Burp Suite, vendar bo o njem in njegovih koristnih vtičnikih objavljena ločena objava.

Vsebina:

Amass

Amass — orodje na Go za iskanje in enumeracijo DNS poddomen ter za izdelavo zemljevida zunanje mreže. Amass je projekt OWASP, ustvarjen za prikaz, kako za zunanjega opazovalca izgledajo organizacije na spletu. Imena poddomen Amass pridobiva na različne načine, orodje uporablja tako rekurzivno preučevanje poddomen kot iskanje po odprtih virih.

Za odkrivanje povezanih omrežnih segmentov in številk avtonomnih sistemov Amass uporablja IP-naslove, pridobljene med delom. Vse najdene informacije se uporabljajo za sestavo zemljevida omrežja.

Prednosti:

  • Tehnike zbiranja informacij vključujejo:
    * DNS — preučevanje poddomen preko podatkovnika, bruteforce poddomen, 'pameten' pregled z uporabo mutacij na podlagi najdenih poddomen, obratni DNS-poizvedbe in iskanje DNS strežnikov, ki omogočajo poizvedbo za prenos območja (AXFR);

    * Iskanje po odprtih virih — Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Iskanje po bazah podatkov TLS certifikatov — Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Uporaba API-jev iskalnih sistemov — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Iskanje po spletnem arhivu interneta: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integracija z Maltego;
  • Zagotavlja najbolj popolno pokritost naloge iskanja DNS poddomen.

Mane:

  • Bodite previdni z amass.netdomains — poskusil bo dostopati do vsakega IP naslova v identificirani infrastrukturi in pridobiti imena domen iz obratnih DNS-poizvedb in TLS certifikatov. To je 'glasna' tehnika, lahko razkrije vaše obveščevalne dejavnosti v raziskovani organizaciji.
  • Visoko povpraševanje po pomnilniku, lahko porabi do 2 GB RAM-a v različnih nastavitvah, kar ne bo omogočilo zagon tega orodja v oblaku na poceni VDS.

Spletna orodja ali kje začeti pentester?

Altdns

Altdns — orodje v Pythonu za ustvarjanje besednjakov za preiskovanje DNS-poddomen. Omogoča generiranje številnih različic poddomen s pomočjo mutacij in permutacij. Uporabljajo se besede, ki se pogosto pojavljajo v poddomenah (npr.: test, dev, stagiranje), vse mutacije in permutacije se uporabljajo na že znanih poddomenah, ki jih je mogoče vnesti v Altdns. Na izhodu dobimo seznam variacij poddomen, ki lahko obstajajo, in ta seznam se lahko nato uporablja pri DNS-bruteforcingu.

Prednosti:

  • Dobro deluje z velikimi razredi podatkov.

aquatone

aquatone — je bil prej bolj znan kot še eno orodje za iskanje poddomen, vendar se je sam avtor odpovedal temu v prid zgoraj omenjenemu Amass. Zdaj je aquatone ponovno napisan v Go in bolj usmerjen v predhodno obveščevalno delo na spletnih straneh. V ta namen aquatone pregleduje navedene domene in išče na njih spletne strani na različnih vratih, nato zbere vse informacije o strani in ustvari posnetek zaslona. Uporaben je za hitro predhodno obveščevalno delo na spletnih straneh, po katerem je mogoče izbrati prioritete za napade.

Prednosti:

  • Na izhodu ustvari skupino datotek in map, ki jih je enostavno uporabiti pri nadaljnjem delu z drugimi orodji:
    * HTML-poročilo s zbranimi posnetki zaslona in združenimi po podobnosti naslovi odgovorov;

    * Datoteka z vsemi URL-ji, kjer so bila najdena spletna mesta;

    * Datoteka s statistiko in podatki o strani;

    * Mapa z datotekami, ki vsebujejo naslove odgovorov najdenih ciljev;

    * Mapa z datotekami, ki vsebujejo telo odgovorov najdenih ciljev;

    * Posnetki zaslona najdenih spletnih mest;

  • Podpira delo z XML-poročili iz Nmapa in Masscana;
  • Uporablja headless Chrome/Chromium za ustvarjanje posnetkov zaslona.

Mane:

  • Lahko pritegne pozornost sistemov za odkrivanje vdorov, zato zahteva nastavitev.

Posnetek zaslona je bil narejen za eno od starejših različic aquatone (v0.5.0), v kateri je bila implementirana iskanje DNS-poddomen. Starejše različice lahko najdete na strani z izdajami.
Spletna orodja ali kje začeti pentester?

MassDNS

MassDNS — še eno orodje za iskanje DNS-poddomen. Njegova glavna razlika je v tem, da neposredno izvaja DNS-poizvedbe na številne različne DNS-rezolverje in to počne z znatno hitrostjo.

Prednosti:

  • Hiter — lahko razreši več kot 350 tisoč imen na sekundo.

Mane:

  • MassDNS lahko povzroči znatno obremenitev uporabljenih DNS-rezolverjev, kar lahko privede do prepovedi na teh strežnikih ali pritožb vašemu ponudniku. Poleg tega lahko povzroči veliko obremenitev DNS-strežnikov podjetja, če jih imajo in če so odgovorni za domene, ki jih poskušate razrešiti.
  • Seznam rezolverjev je trenutno zastarel, toda če odstranjujete nefunkcionalne DNS-rezolverje in dodate nove znane, bo vse v redu.

Spletna orodja ali kje začeti pentester?
Posnetek zaslona aquatone v0.5.0

nsec3map

nsec3map — orodje v Pythonu za pridobivanje popolnega seznama domen, zaščitenih z DNSSEC.

Prednosti:

  • Hitro odkriva gostitelje v DNS-območjih z minimalnim številom poizvedb, če je v območju omogočena podpora za DNSSEC;
  • Vključuje vtičnik za John the Ripper, ki ga je mogoče uporabiti za razbijanje pridobljenih NSEC3 hešov.

Mane:

  • Številne DNS-napake se obravnavajo nepravilno;
  • Ni samodejnega obdelovanja NSEC-zapisov, zato je treba ročno razdeliti imenska območja;
  • Visoka poraba pomnilnika.

Acunetix

Acunetix — skener ranljivosti spletnih aplikacij, ki avtomatizira postopek preverjanja varnosti spletnih aplikacij. Testira aplikacijo na prisotnost SQL-injekcij, XSS, XXE, SSRF in številnih drugih spletnih ranljivosti. Vendar kot vsak drug skener ranljivosti ne more nadomestiti pentesterja, saj kompleksne verige ranljivosti ali ranljivosti v logiki ne more najti. Kljub temu pokriva veliko različnih ranljivosti, vključno z različnimi CVE, na katere je lahko pentester pozabil, zato je zelo priročen za osvoboditev od rutinskih preverjanj.

Prednosti:

  • Nizka stopnja lažnih alarmov;
  • Rezultate je mogoče izvoziti v obliki poročil;
  • Izvaja veliko število preverjanj za različne ranljivosti;
  • Paralelno skeniranje več gostiteljev.

Mane:

  • Ni algoritma za deduplikacijo (strani Acunetix, ki so funkcionalno enake, bo obravnaval kot različne, saj vodijo do različnih URL-jev), vendar razvijalci na tem delajo;
  • Zahteva namestitev na ločenem spletnem strežniku, kar otežuje testiranje odjemalskih sistemov s povezavo preko VPN in uporabo skenerja v izoliranem segmentu lokalne klientske mreže;
  • Lahko 'zazvoni' raziskovani storitvi, na primer, pošlje preveč napadalnih vektorjev v kontaktni obrazec na spletnem mestu, s čimer močno oteži poslovne procese;
  • Je lastniško in zato nebrezplačno rešitev.

Spletna orodja ali kje začeti pentester?

Dirsearch

Dirsearch — orodje v Pythonu za prebijanje map in datotek na spletnih straneh.

Prednosti:

  • Lahko razlikuje prave "200 OK" strani od strani "200 OK", vendar s sporočilom "stran ni bila najdena";
  • Dobavljajo se z uporabnim slovarjem, ki ima dobro ravnotežje med velikostjo in učinkovitostjo iskanja. Vsebuje standardne poti, značilne za mnoge CMS in tehnološke sklade;
  • Svoj format slovarja, ki omogoča dosego dobre učinkovitosti in prilagodljivosti pri prebijanju datotek in map;
  • Ugodna izhodna oblika — naveden tekst, JSON;
  • Zmore izvajati throttling — pavzo med poizvedbami, kar je življenjskega pomena za vsak šibek servis.

Mane:

  • Razširitve je treba posredovati v obliki niza, kar je neprijetno, če je treba hkrati posredovati več razširitev;
  • Da bi uporabili svoj slovar, ga bo treba nekoliko prilagoditi v format slovarjev Dirsearch za maksimalno učinkovitost.

Spletna orodja ali kje začeti pentester?

wfuzz

wfuzz — Python fuzzing orodje za spletne aplikacije. Verjetno eno najbolj znanih spletnih fuzzing orodij. Načelo je preprosto: wfuzz omogoča fuzzing kateregakoli mesta v HTTP poizvedbi, kar omogoča fuzzing GET/POST parametrov, HTTP glav, vključno s piškotki in drugimi avtentikacijskimi glavami. Hkrati je primeren tudi za preprosto prebijanje map in datotek, za kar je potreben dober slovar. Ima tudi fleksibilen sistem filtrov, s katerim lahko filtrirate odgovore spletne strani po različnih parametrih, kar omogoča dosego učinkovitih rezultatov.

Prednosti:

  • Večnamensko — modularna struktura, sestava traja le nekaj minut;
  • Udoben mehanizem filtriranja in fuzzinga;
  • Lahko fuzzate kateri koli HTTP metoda, kot tudi katero koli mesto v HTTP poizvedbi.

Mane:

  • Je v fazi razvoja.

Spletna orodja ali kje začeti pentester?

ffuf

ffuf — spletni fuzzing orodje na Go, ustvarjeno po "podobi in podobah" wfuzz, omogoča prebijanje datotek, map, URL poti, imen in vrednosti GET/POST parametrov, HTTP glav, vključno z glavo Host za prebijanje virtualnih gostiteljev. Od svojega sobrat wfuzz se razlikuje po višji hitrosti in nekaterih novih funkcijah, kot na primer, podpira slovarje v formatu Dirsearch.

Prednosti:

  • Filtri so podobni filtrom wfuzz, omogočajo prilagodljiv fuzzing;
  • Omogoča fuzzing vrednosti HTTP glav, podatkov POST poizvedb in različnih delov URL, vključno z imeni in vrednostmi GET parametrov;
  • Lahko navedete katero koli HTTP metodo.

Mane:

  • Je v fazi razvoja.

Spletna orodja ali kje začeti pentester?

gobuster

gobuster — orodje na Go za razkrivanje, ima dva načina delovanja. Prvi se uporablja za bruteforce datotek in map na spletnem mestu, drugi pa za preizkušanje DNS-poddomen. Orodje sprva ne podpira rekurzivnega preiskovanja datotek in map, kar seveda prihrani čas, a po drugi strani je treba za vsak nov končni točki na spletnem mestu zaženeti bruteforce ločeno.

Prednosti:

  • Visoka hitrost delovanja tako za preizkušanje DNS-poddomen kot za bruteforce datotek in map.

Mane:

  • V trenutni različici ne podpira nastavitev HTTP-zaznamkov;
  • Privzeto šteje za veljavne le nekatere od HTTP-status kod (200, 204, 301, 302, 307).

Spletna orodja ali kje začeti pentester?

Arjun

Arjun — orodje za bruteforce skritih HTTP-parametrov v GET/POST-parametrih, kot tudi v JSON-u. Vgrajeni slovar vsebuje 25.980 besed, ki jih Ajrun preveri skoraj v 30 sekundah. Osredotoča se na to, da Ajrun ne preverja vsakega parametra posebej, temveč preveri približno ~1000 parametrov hkrati in opazuje, ali se je odgovor spremenil. Če se je odgovor spremenil, razdeli to 1000 parametrov na dva dela in preveri, kateri od teh delov vpliva na odgovor. Tako se s preprosto binairej logiko najde parameter ali več skritih parametrov, ki so vplivali na odgovor in torej lahko obstajajo.

Prednosti:

  • Visoka hitrost delovanja zaradi binairejnega iskanja;
  • Podpora GET/POST-parametrom, kot tudi parametrom v obliki JSON;

Na podoben način deluje tudi vtičnik za Burp Suite — param-miner, ki je prav tako zelo dober pri iskanju skritih HTTP-parametrov. Več bomo o njem povedali v prihajajočem članku o Burpu in njegovih vtičnikih.
Spletna orodja ali kje začeti pentester?

LinkFinder

LinkFinder — skript v Pythonu za iskanje povezav v JavaScript-datotekah. Koristen je za iskanje skritih ali pozabljenih končnih točk/URL v spletnem aplikacijah.

Prednosti:

  • Hiter;
  • Obstaja poseben vtičnik za Chrome na osnovi LinkFinder-a.

.

Mane:

  • Nepraktičen končni izhod;
  • Ne analizira JavaScript v dinamiki;
  • Dokaj preprosta logika iskanja povezav — če je JavaScript kako obfuciran, ali povezave sprva niso prisotne in se generirajo dinamično, potem ne more najti ničesar.

Spletna orodja ali kje začeti pentester?

JSParser

JSParser — skript v Pythonu, ki uporablja Tornado in JSBeautifier za analizo relativnih URL-naslovov iz JavaScript-datotek. Zelo uporaben za odkrivanje AJAX-pozivov in sestavljanje seznama API-metod, s katerimi interagira aplikacija. Učinkovito deluje v paru z LinkFinder-jem.

Prednosti:

  • Hitro razčlenjevanje JavaScript-datotek.

Spletna orodja ali kje začeti pentester?

sqlmap

sqlmap — morda, eden najbolj znanih orodij za analizo spletnih aplikacij. Sqlmap avtomatizira iskanje in izkoriščanje SQL-injekcij, deluje z več SQL-dialekti in v svojem arsenalu ima veliko različnih tehnik, ki segajo od 'direct' citatov do kompleksnih vektorjev za time-based SQL-injekcije. Poleg tega ima mnoge tehnike za nadaljnje izkoriščanje za različne DBMS, zato je uporaben ne samo kot skener za SQL-injekcije, ampak tudi kot močno orodje za izkoriščanje že najdenih SQL-injekcij.

Prednosti:

  • Veliko različnih tehnik in vektorjev;
  • Nizko število lažnih pozitivnih rezultatov;
  • Obsežne možnosti za natančno nastavitev, različne tehnike, ciljne DB, tamper-skripti za obhod WAF;
  • Možnost ustvarjanja izpisa izhodnih podatkov;
  • Veliko različnih možnosti za izkoriščanje, na primer za nekatere DB — samodejno nalaganje/izvažanje datotek, pridobitev možnosti izvajanja ukazov (RCE) in druge;
  • Podpira neposredno povezavo z DB z uporabo podatkov pridobljenih med napadom;
  • Na vhod lahko predložite besedilno datoteko z rezultati dela Burp — ni treba ročno sestavljati vseh atributov ukazne vrstice.

Mane:

  • Težko je prilagoditi, na primer, napisati lastne preglede zaradi revne dokumentacije za to;
  • Brez ustreznih nastavitev opravi nepopoln nabor pregledov, kar lahko zavaja.

Spletna orodja ali kje začeti pentester?

NoSQLMap

NoSQLMap — orodje v Pythonu za avtomatizacijo iskanja in izkoriščanja NoSQL-injekcij. Enostavno je uporabljati ne samo v NoSQL bazah podatkov, temveč tudi pri reviziji spletnih aplikacij, ki uporabljajo NoSQL.

Prednosti:

  • Kot sqlmap omogoča ne le iskanje potencialnih ranljivosti, temveč tudi preverjanje možnosti za njihovo izkoriščanje za MongoDB in CouchDB.

Mane:

  • Ne podpira NoSQL za Redis, Cassandra, na tem področju poteka razvoj.

oxml_xxe

oxml_xxe — orodje za vgradnjo XXE XML-exploitov v različne vrste datotek, v katerih se na kakršen koli način uporablja XML-format.

Prednosti:

  • Podpira mnoge razširjene formate, kot so DOCX, ODT, SVG, XML.

Mane:

  • Podpora PDF, JPEG, GIF ni povsem realizirana;
  • Ustvari le eno datoteko. Za rešitev tega problema lahko uporabite orodje docem, ki lahko ustvari veliko število datotek s payloadi na različnih mestih.

Zgornje omenjene naprave odlično opravljajo testiranje XXE pri nalaganju dokumentov, ki vsebujejo XML. Ne pozabite pa, da se obdelovalniki XML formatov lahko pojavijo v mnogih drugih situacijah, na primer, XML se lahko uporablja kot podatkovni format namesto JSON.

Zato vam priporočamo, da si ogledate naslednji repozitorij, ki vsebuje veliko raznolikih payloadov: PayloadsAllTheThings.

tplmap

tplmap — orodje v Pythonu za samodejno odkrivanje in izkoriščanje ranljivosti Server-Side Template Injection, ima podobne nastavitve in zastavice kot sqlmap. Uporablja več različnih tehnik in vektorjev, vključno z blind-injekcijami, ter ima tehnike za izvajanje kode in nalaganje/izvažanje poljubnih datotek. Poleg tega ima v svojem arsenalu tehnike za deset različnih motorjev za predloge in nekatere tehnike za iskanje eval()-podobnih injekcij kode v Pythonu, Rubyju, PHP-ju, JavaScriptu. V primeru uspešne izkoriščenosti odpre interaktivno konzolo.

Prednosti:

  • Veliko različnih tehnik in vektorjev;
  • Podpira številne motorje za upodabljanje predlog.
  • Mnogo tehnik izkoriščanja.

CeWL

CeWL — generator besedilnih seznamov v Rubyju, zasnovan za izločanje edinstvenih besed z določenega spletnega mesta, prehaja po povezavah na spletnem mestu do določene globine. Sestavljen seznam edinstvenih besed se lahko kasneje uporablja za brute-force napade gesel na storitvah ali za brute-force napade na datoteke in imenike na istem spletnem mestu, ali za napad na pridobljene hashe s pomočjo hashcat ali John the Ripper. Koristen pri sestavljanju 'ciljnega' seznama potencialnih gesel.

Prednosti:

  • Enostaven za uporabo.

Mane:

  • Treba je biti previden z globino iskanja, da se ne zajamejo nepotrebni domene.

Weakpass

Weakpass — storitev, ki vsebuje številne besedilne sezname z edinstvenimi gesli. Izjemno koristen za različne naloge, povezane s hekanjem gesel, od preprostega spletnega brute-forcinga računov na ciljnih storitvah do offline brute-forcinga pridobljenih hashov s pomočjo hashcat ili John The Ripper. Vsebuje približno 8 milijard gesel dolžine od 4 do 25 znakov.

Prednosti:

  • Vsebuje tako specifične besedilne sezname kot tudi sezname z najpogostejšimi gesli — lahko izberete določen seznam glede na svoje potrebe;
  • Besedilni seznami se redno posodabljajo in dopolnjujejo z novimi gesli.
  • Besedila so razvrščena po učinkovitosti. Lahko izberete možnost za hiter spletni bruteforce ali za temeljito izbiro gesel iz obsežnega seznama z zadnjimi uhajanji;
  • Obstaja kalkulator, ki prikazuje čas bruteforce napadov na vaši opremi.

Spletna orodja ali kje začeti pentester?

V posebno skupino bi radi umestili orodja za preverjanje CMS: WPScan, JoomScan in AEM hacker.

AEM_hacker

AEM hacker — orodje za odkrivanje ranljivosti v aplikacijah Adobe Experience Manager (AEM).

Prednosti:

  • Lahko odkrije AEM aplikacije iz seznama URL-jev, ki jih vnese;
  • Vsebuje skripte za pridobitev RCE z nalaganjem JSP lupinice ali izkoriščanjem SSRF.

JoomScan

JoomScan — orodje v Perl za avtomatizacijo odkrivanja ranljivosti pri namestitvi Joomla CMS.

Prednosti:

  • Zmožen je odkrivati težave s konfiguracijo in težave z administrativnimi nastavitvami;
  • Naštete različice Joomla in povezane ranljivosti, podobno za posamezne komponente;
  • Vsebuje več kot 1000 exploitov za komponente Joomla;
  • Izvaja zaključna poročila v besedilni in HTML obliki.

Spletna orodja ali kje začeti pentester?

WPScan

WPScan — orodje za skeniranje spletnih strani na WordPress, vsebuje ranljivosti tako za samo platformo WordPress kot tudi za nekatere vtičnike.

Prednosti:

  • Zmožen je naštevati nevarne WordPress vtičnike in teme, ter pridobiti seznam uporabnikov in TimThumb datoteke;
  • Lahko izvaja bruteforce napade na WordPress spletne strani.

Mane:

  • Brez ustreznih nastavitev opravi nepopoln nabor pregledov, kar lahko zavaja.

Spletna orodja ali kje začeti pentester?

Na splošno različni ljudje raje uporabljajo različna orodja: vsa so dobra na svoj način, kar se nekomu zdi dobro, morda ne ustreza drugim. Če menite, da smo nepošteno spregledali kakšno dobro orodje — sporočite o njem v komentarjih!

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster