Nettverktøy, eller hvor skal en pentester begynne?

Fortsett snakk om nyttige verktøy for en pentester. I den nye artikkelen skal vi se på verktøy for å analysere sikkerheten til nettapplikasjoner.

Vår kollega BeLove har allerede gjort noe slikt samling for rundt syv år siden. Det er interessant å se hvilke verktøy som har beholdt og styrket sine posisjoner, og hvilke som har trukket seg i bakgrunnen og som nå er lite brukt.
Nettverktøy, eller hvor skal en pentester begynne?

Merk at Burp Suite også gjelder her, men det vil komme en egen publikasjon om den og dens nyttige plugins.

Innhold:

AMASS

AMASS er et Go-verktøy for å søke og telle opp DNS-underdomener og kartlegge det eksterne nettverket. Amass er et OWASP-prosjekt designet for å vise hvordan organisasjoner på Internett ser ut for en utenforstående observatør. Amass innhenter underdomenenavn på ulike måter, verktøyet bruker både en rekursiv oppregning av underdomener og åpen kildekode-søk.

Amass bruker IP-adresser oppnådd under drift for å oppdage relaterte nettverkssegmenter og autonome systemnumre. All informasjon som finnes brukes til å bygge et nettverkskart.

Pros:

  • Informasjonsinnsamlingsteknikker inkluderer:
    * DNS - ordbokoppslag av underdomener, bruteforce av underdomener, "smart" oppslag ved bruk av mutasjoner basert på funnet underdomener, omvendte DNS-spørringer og søk etter DNS-servere hvor det er mulig å gjøre en forespørsel om en soneoverføring (AXFR);

    * Åpen kildekode-søk - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Søk i databaser med TLS-sertifikater - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Bruke søkemotor-APIer - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Søk i nettarkiver på Internett: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integrasjon med Maltego;
  • Gir den mest komplette dekningen av oppgaven med å finne DNS-underdomener.

Cons:

  • Vær forsiktig med amass.netdomains - den vil prøve å få tilgang til hver IP-adresse i den identifiserte infrastrukturen og få domenenavn fra omvendte DNS-spørringer og TLS-sertifikater. Dette er en høyprofilert teknikk, den kan avsløre etterretningsaktivitetene dine i organisasjonen som etterforskes.
  • Høyt minneforbruk, kan forbruke opptil 2 GB RAM i forskjellige innstillinger, noe som ikke vil tillate deg å kjøre dette verktøyet i skyen på en billig VDS.

Nettverktøy, eller hvor skal en pentester begynne?

altdns

altdns er et Python-verktøy for å kompilere ordbøker for iterering over DNS-underdomener. Lar deg generere mange varianter av underdomener ved hjelp av mutasjoner og permutasjoner. Til dette brukes ord som ofte finnes i underdomener (for eksempel: test, dev, staging), alle mutasjoner og permutasjoner brukes på allerede kjente underdomener som kan sendes til Altdns. Utdataene er en liste over underdomenevariasjoner som kan eksistere, og denne listen kan senere brukes under DNS brute force.

Pros:

  • Fungerer godt med store datasett.

akvatone

akvatone - var tidligere bedre kjent som et annet verktøy for å finne underdomener, men forfatteren selv forlot dette til fordel for nevnte Amass. Nå er aquatone skrevet om i Go og mer skjerpet for foreløpig rekognosering på nettsider. For å gjøre dette går aquatone gjennom de angitte domenene og ser etter nettsteder på dem på forskjellige porter, hvoretter den samler inn all informasjon om nettstedet og tar et skjermbilde. Nyttig for rask foreløpig rekognosering av nettsteder, hvoretter du kan velge prioriterte mål for angrep.

Pros:

  • Ved utgangen oppretter den en gruppe filer og mapper som er praktiske å bruke når du arbeider med andre verktøy:
    * HTML-rapport med innsamlede skjermbilder og svaroverskrifter gruppert etter likhet;

    * En fil med alle nettadresser der nettsteder ble funnet;

    * Fil med statistikk og sidedata;

    * Mappe med filer som inneholder svarhoder fra funnet mål;

    * Mappe med filer som inneholder svarteksten fra funnet mål;

    * Skjermbilder av funnet nettsteder;

  • Støtter arbeid med XML-rapporter fra Nmap og Masscan;
  • Bruker hodeløs Chrome/Chromium for å gjengi skjermbilder.

Cons:

  • Det kan tiltrekke seg oppmerksomheten til inntrengningsdeteksjonssystemer, så det må konfigureres.

Skjermbildet ble tatt for en av de gamle versjonene av aquatone (v0.5.0), som implementerte DNS-underdomeneoppslag. Eldre versjoner finner du på utgivelsesside.
Nettverktøy, eller hvor skal en pentester begynne?

MassDNS

MassDNS er et annet verktøy for å slå opp DNS-underdomener. Hovedforskjellen er at den gjør DNS-spørringer direkte til mange forskjellige DNS-løsere og gjør det med en betydelig hastighet.

Pros:

  • Rask - i stand til å løse over 350 XNUMX navn per sekund.

Cons:

  • MassDNS kan forårsake en betydelig belastning på DNS-resolverne som brukes, noe som kan resultere i forbud mot disse serverne eller klager til Internett-leverandøren din. I tillegg vil det føre til mye belastning på selskapets DNS-servere, hvis de har det og om de er ansvarlige for domenene som du prøver å løse.
  • Listen over løsere er for øyeblikket utdatert, men hvis du velger ødelagte DNS-løsere og legger til nye kjente, vil alt være bra.

Nettverktøy, eller hvor skal en pentester begynne?
Skjermbilde av aquatone v0.5.0

nsec3map

nsec3map er et Python-verktøy for å få en komplett liste over domener beskyttet av DNSSEC.

Pros:

  • Oppdager raskt verter i DNS-soner med et minimum antall forespørsler hvis DNSSEC-støtte er aktivert i sonen;
  • Inkluderer en plugin for John the Ripper som kan brukes til å knekke mottatte NSEC3-hasher.

Cons:

  • Mange DNS-feil håndteres feil;
  • Det er ingen automatisk parallellisering av behandling av NSEC-poster - du må skille navneområdet manuelt;
  • Høyt minneforbruk.

Acunetix

Acunetix er en sårbarhetsskanner for nett som automatiserer prosessen med å sjekke sikkerheten til nettapplikasjoner. Tester applikasjonen for SQL-injeksjon, XSS, XXE, SSRF og mange andre nettsårbarheter. Men som enhver annen skanner av mange nettsårbarheter, erstatter den ikke en penetrasjonstester, siden den ikke kan finne komplekse kjeder av sårbarheter eller sårbarheter i logikk. Men det dekker mange forskjellige sårbarheter, inkludert ulike CVE-er som pentesteren kanskje har glemt, så det er veldig praktisk å bli kvitt rutinesjekker.

Pros:

  • Lavt nivå av falske positiver;
  • Resultatene kan eksporteres som rapporter;
  • Utfører et stort antall kontroller for ulike sårbarheter;
  • Parallell skanning av flere verter.

Cons:

  • Det er ingen dedupliseringsalgoritme (Acunetix vil vurdere sider med samme funksjonalitet som forskjellige, fordi forskjellige URL-er fører til dem), men utviklerne jobber med det;
  • Krever installasjon på en separat webserver, noe som kompliserer testing av klientsystemer koblet til via VPN og bruk av skanneren i et isolert segment av det lokale klientnettverket;
  • Det kan "støye" tjenesten som studeres, for eksempel ved å sende for mange angrepsvektorer til kontaktskjemaet på nettstedet, og dermed komplisere forretningsprosessene betydelig;
  • Det er en proprietær og følgelig ikke-gratis løsning.

Nettverktøy, eller hvor skal en pentester begynne?

Dirsearch

Dirsearch er et Python-verktøy for brute force av kataloger og filer på nettsteder.

Pros:

  • Kan skille ekte "200 OK"-sider fra "200 OK"-sider, men med teksten "page not found";
  • Leveres med en hendig ordbok som har en god balanse mellom størrelse og søkeeffektivitet. Inneholder standardbaner som er felles for mange CMS- og teknologistabler;
  • Eget ordbokformat, som lar deg oppnå god effektivitet og fleksibilitet ved oppregning av filer og kataloger;
  • Praktisk utgang - ren tekst, JSON;
  • Kunne gjøre struping - en pause mellom forespørsler, som er avgjørende for enhver svak tjeneste.

Cons:

  • Extensions må sendes som en streng, noe som er upraktisk hvis du trenger å passere mange extensions på en gang;
  • For å bruke din egen ordbok, må den endres litt til Dirsearch-ordbokformatet for maksimal effektivitet.

Nettverktøy, eller hvor skal en pentester begynne?

wfuzz

wfuzz - Python webapplikasjon fuzzer. Sannsynligvis en av de mest kjente nettfaserne. Prinsippet er enkelt: wfuzz lar deg fuzze hvor som helst i en HTTP-forespørsel, noe som gjør det mulig å fuzze GET/POST-parametere, HTTP-hoder, inkludert informasjonskapsler og andre autentiseringshoder. Samtidig er det også praktisk for enkel brute force av kataloger og filer, som krever en god ordbok. Den har også et fleksibelt filtersystem som du kan filtrere svar fra et nettsted med ulike parametere med, som lar deg oppnå effektive resultater.

Pros:

  • Multifunksjonell - modulær struktur, montering tar flere minutter;
  • Praktisk filtrering og fuzzing mekanisme;
  • Du kan fase en hvilken som helst HTTP-metode, så vel som hvilken som helst plassering i en HTTP-forespørsel.

Cons:

  • Under utvikling.

Nettverktøy, eller hvor skal en pentester begynne?

fuf

fuf - en nettfuzzer på Go, laget i "bildet og likheten" til wfuzz, lar deg brute filer, kataloger, URL-baner, navn og verdier for GET / POST-parametere, HTTP-hoder, inkludert Host-headeren for brute force virtuelle verter. Wfuzz skiller seg fra motstykket i høyere hastighet og noen nye funksjoner, for eksempel ordbøker i Dirsearch-format støttes.

Pros:

  • Filtre ligner på wfuzz-filtre, de lar deg konfigurere brute force fleksibelt;
  • Tillater uklare HTTP-header-verdier, POST-forespørselsdata og ulike deler av URL-en, inkludert navnene og verdiene til GET-parametere;
  • Enhver HTTP-metode kan spesifiseres.

Cons:

  • Under utvikling.

Nettverktøy, eller hvor skal en pentester begynne?

gobuster

gobuster - et Go-verktøy for rekognosering, har to driftsmoduser. Den første brukes til å brute force-filer og kataloger på nettstedet, den andre brukes til å telle opp DNS-underdomener. Verktøyet støtter i utgangspunktet ikke rekursiv opplisting av filer og kataloger, noe som selvfølgelig sparer tid, men på den annen side må råstyrken til hvert nytt endepunkt på nettsiden lanseres separat.

Pros:

  • Høy arbeidshastighet både for oppregning av DNS-underdomener og for brute force av filer og kataloger.

Cons:

  • Den gjeldende versjonen støtter ikke innstilling av HTTP-hoder;
  • Som standard anses bare noen av HTTP-statuskodene (200,204,301,302,307) som gyldige.

Nettverktøy, eller hvor skal en pentester begynne?

Arjun

Arjun - et verktøy for brute force skjulte HTTP-parametere i GET/POST-parametere, så vel som i JSON. Den innebygde ordboken har 25 980 ord, som Ajrun sjekker på nesten 30 sekunder. Trikset er at Ajrun ikke sjekker hver parameter separat, men sjekker ~1000 parametere på en gang og ser om svaret er endret. Hvis svaret har endret seg, deler du disse 1000 parameterne i to deler og sjekker hvilken av disse delene som påvirker svaret. Ved hjelp av et enkelt binært søk finner man altså en parameter eller flere skjulte parametere som påvirket svaret og som derfor kan eksistere.

Pros:

  • Høy arbeidshastighet på grunn av binært søk;
  • Støtte for GET / POST parametere, samt parametere i form av JSON;

Plugin-modulen for Burp Suite fungerer på et lignende prinsipp - param miner, som også er veldig god til å finne skjulte HTTP-parametere. Vi vil snakke mer om det i den kommende artikkelen om Burp og dets plugins.
Nettverktøy, eller hvor skal en pentester begynne?

LinkFinder

LinkFinder er et Python-skript for å finne lenker i JavaScript-filer. Nyttig for å finne skjulte eller glemte endepunkter/URLer i en nettapplikasjon.

Pros:

  • Fort;
  • Det er en spesiell plugin for Chrome basert på LinkFinder.

.

Cons:

  • Upraktisk sluttkonklusjon;
  • Analyserer ikke JavaScript i dynamikk;
  • Ganske enkel lenkesøklogikk - hvis JavaScript på en eller annen måte er tilslørt, eller koblinger i utgangspunktet mangler og genereres dynamisk, vil den ikke kunne finne noe.

Nettverktøy, eller hvor skal en pentester begynne?

JSParser

JSParser er et Python-skript som bruker Tornado и JS Beautifier for å analysere relative URL-er fra JavaScript-filer. Veldig nyttig for å oppdage AJAX-forespørsler og kompilere en liste over API-metoder som applikasjonen samhandler med. Fungerer effektivt sammen med LinkFinder.

Pros:

  • Rask parsing av JavaScript-filer.

Nettverktøy, eller hvor skal en pentester begynne?

sqlmap

sqlmap - sannsynligvis et av de mest kjente verktøyene for å analysere webapplikasjoner. Sqlmap automatiserer søk og utnyttelse av SQL-injeksjoner, jobber med flere dialekter av SQL, har et stort antall forskjellige teknikker i sitt arsenal, alt fra direkte anførselstegn til komplekse vektorer for tidsbaserte SQL-injeksjoner. I tillegg har den mange teknikker for videre utnyttelse for ulike DBMS, så den er nyttig ikke bare som skanner for SQL-injeksjoner, men også som et kraftig verktøy for å utnytte allerede funnet SQL-injeksjoner.

Pros:

  • Et stort antall forskjellige teknikker og vektorer;
  • Lavt antall falske positive;
  • Mange muligheter for finjustering, ulike teknikker, måldatabase, manipuleringsskript for å omgå WAF;
  • Evne til å lage en dump av utdata;
  • Mange forskjellige driftsmuligheter, for eksempel for noen databaser - automatisk lasting / lossing av filer, få muligheten til å utføre kommandoer (RCE) og andre;
  • Støtte for direkte tilkobling til databasen ved hjelp av dataene som ble innhentet under angrepet;
  • Du kan sende inn en tekstfil med resultatene av Burp som input - du trenger ikke å komponere alle kommandolinjeattributtene manuelt.

Cons:

  • Det er vanskelig å tilpasse for eksempel å skrive noen av dine egne sjekker på grunn av dårlig dokumentasjon for dette;
  • Uten passende innstillinger utfører den et ufullstendig sett med kontroller, noe som kan være misvisende.

Nettverktøy, eller hvor skal en pentester begynne?

NoSQLMap

NoSQLMap er et Python-verktøy for å automatisere søk og utnyttelse av NoSQL-injeksjoner. Det er praktisk å bruke ikke bare i NoSQL-databaser, men også direkte når du reviderer webapplikasjoner som bruker NoSQL.

Pros:

  • I likhet med sqlmap finner den ikke bare en potensiell sårbarhet, men sjekker også muligheten for å utnytte den for MongoDB og CouchDB.

Cons:

  • Støtter ikke NoSQL for Redis, Cassandra, utvikling er i gang i denne retningen.

oxml_xxe

oxml_xxe er et verktøy for å bygge inn XXE XML-utnyttelser i ulike typer filer som bruker XML-formatet i en eller annen form.

Pros:

  • Støtter mange vanlige formater som DOCX, ODT, SVG, XML.

Cons:

  • Støtte for PDF, JPEG, GIF er ikke fullt implementert;
  • Oppretter bare én fil. For å løse dette problemet kan du bruke verktøyet docem, som kan opprette et stort antall nyttelastfiler på forskjellige steder.

Verktøyene ovenfor gjør en utmerket jobb med å teste XXE i tilfelle lasting av dokumenter som inneholder XML. Men husk også at XML-formatbehandlere kan brukes på mange andre måter, for eksempel kan XML brukes som dataformat i stedet for JSON.

Derfor anbefaler vi å ta hensyn til følgende depot, som inneholder et stort antall forskjellige nyttelaster: NyttelasterAllTheThings.

tplmap

tplmap - et Python-verktøy for automatisk å oppdage og utnytte Server-Side Template Injection-sårbarheter, har innstillinger og flagg som ligner på sqlmap. Den bruker flere forskjellige teknikker og vektorer, inkludert blinde injeksjoner, og har også teknikker for å utføre kode og laste/laste opp vilkårlige filer. I tillegg har han i sitt arsenal teknikker for et dusin forskjellige malmotorer og noen teknikker for å finne eval ()-lignende kodeinjeksjoner i Python, Ruby, PHP, JavaScript. Hvis vellykket, åpner du en interaktiv konsoll.

Pros:

  • Et stort antall forskjellige teknikker og vektorer;
  • Støtter mange motorer for gjengivelse av maler;
  • Mange operasjonsteknikker.

CeWL

CeWL — ordbokgenerator i Ruby, laget for å trekke ut unike ord fra det angitte nettstedet, følger koblingene på nettstedet til den angitte dybden. Den kompilerte ordboken med unike ord kan senere brukes til å brute force-passord på tjenester eller brute force-filer og kataloger på samme nettsted, eller til å angripe de mottatte hashene ved å bruke hashcat eller John the Ripper. Nyttig når du kompilerer en "målrettet" liste over potensielle passord.

Pros:

  • Lett å bruke.

Cons:

  • Du må være forsiktig med søkedybden for ikke å fange opp et ekstra domene.

Svakpass

Svakpass - en tjeneste som inneholder mange ordbøker med unike passord. Ekstremt nyttig for ulike oppgaver relatert til passordknekking, alt fra enkle online brute force av kontoer på måltjenester, som slutter med offline brute force av mottatte hashes ved hjelp av hashcat eller John The Ripper. Den består av omtrent 8 milliarder passord fra 4 til 25 tegn lange.

Pros:

  • Inneholder både spesifikke ordbøker og ordbøker med de vanligste passordene - du kan velge en spesifikk ordbok for dine egne behov;
  • Ordbøker oppdateres og oppdateres med nye passord;
  • Ordbøker er sortert etter effektivitet. Du kan velge alternativet både for en rask online brute, og for et detaljert utvalg av passord fra en stor ordbok med de siste lekkasjer;
  • Det er en kalkulator som viser passordet brute time på maskinvaren din.

Nettverktøy, eller hvor skal en pentester begynne?

Vi ønsker å plassere verktøyene for CMS-sjekker i en egen gruppe: WPScan, JoomScan og AEM hacker.

AEM_hacker

A.E.M. hacker er et verktøy for å identifisere sårbarheter i Adobe Experience Manager (AEM)-applikasjoner.

Pros:

  • Kan oppdage AEM-applikasjoner fra listen over URL-er gitt til den som input;
  • Inneholder skript for å få RCE ved å laste et JSP-skall eller kjøre SSRF.

JoomScan

JoomScan er et Perl-verktøy for å automatisere sårbarhetsdeteksjon ved distribusjon av Joomla CMS.

Pros:

  • Kunne finne konfigurasjonsfeil og problemer med administratorinnstillinger;
  • Viser Joomla-versjoner og relaterte sårbarheter, på samme måte for individuelle komponenter;
  • Inneholder mer enn 1000 utnyttelser for Joomla-komponenter;
  • Uttak av sluttrapporter i tekst- og HTML-format.

Nettverktøy, eller hvor skal en pentester begynne?

WPScan

WPScan - et verktøy for å skanne nettsteder på WordPress, har i sitt arsenal sårbarheter både for selve WordPress-motoren og for enkelte plugins.

Pros:

  • Kunne vise ikke bare usikre WordPress-plugins og temaer, men også få en liste over brukere og TimThumb-filer;
  • Kan utføre brute force-angrep på WordPress-nettsteder.

Cons:

  • Uten passende innstillinger utfører den et ufullstendig sett med kontroller, noe som kan være misvisende.

Nettverktøy, eller hvor skal en pentester begynne?

Generelt foretrekker forskjellige mennesker forskjellige verktøy for arbeid: de er alle gode på hver sin måte, og det en person liker passer kanskje ikke til en annen i det hele tatt. Hvis du tror at vi ufortjent har oversett noen gode verktøy, skriv om det i kommentarfeltet!

Kilde: www.habr.com

Legg til en kommentar