Webværktøjer, eller hvor skal en pentester starte?

Vi fortsætter tale om nyttige værktøjer til pentestere. I den nye artikel vil vi se på værktøjer til at analysere sikkerheden i webapplikationer.

Vores kollega BeLove Jeg har allerede gjort sådan noget samling omkring syv år siden. Det er interessant at se, hvilke værktøjer der har bevaret og styrket deres positioner, og hvilke der er faldet i baggrunden og nu sjældent bruges.
Webværktøjer, eller hvor skal en pentester starte?

Bemærk, at dette også inkluderer Burp Suite, men der vil være en separat publikation om det og dets nyttige plugins.

Indhold:

samle sammen

samle sammen - et Go-værktøj til søgning og optælling af DNS-underdomæner og kortlægning af det eksterne netværk. Amass er et OWASP-projekt designet til at vise, hvordan organisationer på internettet ser ud for en udenforstående. Amass opnår underdomænenavne på forskellige måder; værktøjet bruger både rekursiv opregning af underdomæner og open source-søgninger.

For at opdage indbyrdes forbundne netværkssegmenter og autonome systemnumre bruger Amass IP-adresser opnået under drift. Al information, der findes, bruges til at bygge et netværkskort.

Teknikere:

  • Informationsindsamlingsteknikker omfatter:
    * DNS - ordbogssøgning af underdomæner, bruteforce-underdomæner, smart søgning ved hjælp af mutationer baseret på fundne underdomæner, omvendte DNS-forespørgsler og søgning efter DNS-servere, hvor det er muligt at lave en zoneoverførselsanmodning (AXFR);

    * Open source-søgning - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Søg i TLS-certifikatdatabaser - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Brug af søgemaskine-API'er - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Søg i internetwebarkiver: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integration med Maltego;
  • Giver den mest komplette dækning af opgaven med at søge efter DNS-underdomæner.

Ulemper:

  • Vær forsigtig med amass.netdomains - det vil forsøge at kontakte alle IP-adresser i den identificerede infrastruktur og få domænenavne fra omvendte DNS-opslag og TLS-certifikater. Dette er en "højprofileret" teknik, den kan afsløre dine efterretningsaktiviteter i den organisation, der undersøges.
  • Højt hukommelsesforbrug, kan forbruge op til 2 GB RAM i forskellige indstillinger, hvilket ikke vil tillade dig at køre dette værktøj i skyen på en billig VDS.

Webværktøjer, eller hvor skal en pentester starte?

Altdns

Altdns — et Python-værktøj til kompilering af ordbøger til opregning af DNS-underdomæner. Giver dig mulighed for at generere mange varianter af underdomæner ved hjælp af mutationer og permutationer. Til dette bruges ord som ofte findes i underdomæner (for eksempel: test, dev, staging), alle mutationer og permutationer anvendes på allerede kendte underdomæner, som kan sendes til Altdns input. Outputtet er en liste over variationer af underdomæner, der kan eksistere, og denne liste kan senere bruges til DNS brute force.

Teknikere:

  • Fungerer godt med store datasæt.

aquatone

aquatone - var tidligere bedre kendt som et andet værktøj til at søge underdomæner, men forfatteren selv opgav dette til fordel for førnævnte Amass. Nu er aquatone blevet omskrevet i Go og er mere gearet til foreløbig rekognoscering på hjemmesider. For at gøre dette går aquatone de angivne domæner igennem og søger efter hjemmesider på forskellige porte, hvorefter den samler alle oplysninger om siden og tager et skærmbillede. Praktisk til hurtig foreløbig rekognoscering af hjemmesider, hvorefter du kan vælge prioriterede mål for angreb.

Teknikere:

  • Outputtet opretter en gruppe filer og mapper, som er praktiske at bruge, når du arbejder videre med andre værktøjer:
    * HTML-rapport med indsamlede skærmbilleder og svartitler grupperet efter lighed;

    * En fil med alle URL'er, hvor websteder blev fundet;

    * Fil med statistik og sidedata;

    * En mappe med filer, der indeholder svaroverskrifter fra fundne mål;

    * En mappe med filer, der indeholder brødteksten af ​​svaret fra de fundne mål;

    * Skærmbilleder af fundne websteder;

  • Understøtter arbejde med XML-rapporter fra Nmap og Masscan;
  • Bruger hovedløs Chrome/Chromium til at gengive skærmbilleder.

Ulemper:

  • Det kan tiltrække sig opmærksomhed fra indtrængningsdetektionssystemer, så det kræver konfiguration.

Skærmbilledet er taget for en af ​​de gamle versioner af aquatone (v0.5.0), hvor DNS-underdomænesøgning blev implementeret. Ældre versioner kan findes på udgivelser side.
Webværktøjer, eller hvor skal en pentester starte?

MassDNS

MassDNS er et andet værktøj til at finde DNS-underdomæner. Dens største forskel er, at den laver DNS-forespørgsler direkte til mange forskellige DNS-resolvere og gør det med betydelig hastighed.

Teknikere:

  • Hurtigt - i stand til at løse mere end 350 tusind navne i sekundet.

Ulemper:

  • MassDNS kan forårsage betydelig belastning af DNS-resolvere i brug, hvilket kan føre til forbud mod disse servere eller klager til din internetudbyder. Derudover vil det lægge en stor belastning på virksomhedens DNS-servere, hvis de har dem, og hvis de er ansvarlige for de domæner, du forsøger at løse.
  • Listen over resolvere er i øjeblikket forældet, men hvis du vælger de ødelagte DNS-resolvere og tilføjer nye kendte, vil alt være i orden.

Webværktøjer, eller hvor skal en pentester starte?
Skærmbillede af aquatone v0.5.0

nsec3map

nsec3map er et Python-værktøj til at få en komplet liste over DNSSEC-beskyttede domæner.

Teknikere:

  • Opdager hurtigt værter i DNS-zoner med et minimum antal forespørgsler, hvis DNSSEC-understøttelse er aktiveret i zonen;
  • Indeholder et plugin til John the Ripper, der kan bruges til at knække de resulterende NSEC3-hashes.

Ulemper:

  • Mange DNS-fejl håndteres ikke korrekt;
  • Der er ingen automatisk parallelisering af behandling af NSEC-poster - du skal opdele navneområdet manuelt;
  • Højt hukommelsesforbrug.

Acunetix

Acunetix — en websårbarhedsscanner, der automatiserer processen med at kontrollere sikkerheden af ​​webapplikationer. Tester applikationen for SQL-injektioner, XSS, XXE, SSRF og mange andre websårbarheder. Men som enhver anden scanner erstatter en række web-sårbarheder ikke en pentester, da den ikke kan finde komplekse kæder af sårbarheder eller sårbarheder i logikken. Men det dækker en masse forskellige sårbarheder, herunder forskellige CVE'er, som pentesteren måske har glemt, så det er meget praktisk at frigøre dig fra rutinetjek.

Teknikere:

  • Lavt niveau af falske positiver;
  • Resultater kan eksporteres som rapporter;
  • Udfører et stort antal kontroller for forskellige sårbarheder;
  • Parallel scanning af flere værter.

Ulemper:

  • Der er ingen deduplikeringsalgoritme (Acunetix vil betragte sider, der er identiske i funktionalitet, for at være forskellige, da de fører til forskellige URL'er), men udviklerne arbejder på det;
  • Kræver installation på en separat webserver, hvilket komplicerer test af klientsystemer med en VPN-forbindelse og brug af scanneren i et isoleret segment af det lokale klientnetværk;
  • Tjenesten under undersøgelse kan lave støj, for eksempel ved at sende for mange angrebsvektorer til kontaktformularen på siden, og derved komplicere forretningsprocesser i høj grad;
  • Det er en proprietær og derfor ikke gratis løsning.

Webværktøjer, eller hvor skal en pentester starte?

Dirsearch

Dirsearch — et Python-værktøj til brute-forcing mapper og filer på websteder.

Teknikere:

  • Kan skelne ægte "200 OK" sider fra "200 OK" sider, men med teksten "side ikke fundet";
  • Leveres med en praktisk ordbog, der har en god balance mellem størrelse og søgeeffektivitet. Indeholder standardstier, der er fælles for mange CMS- og teknologistakke;
  • Dens eget ordbogsformat, som giver dig mulighed for at opnå god effektivitet og fleksibilitet i optælling af filer og mapper;
  • Praktisk output - almindelig tekst, JSON;
  • Det kan stryge - en pause mellem anmodninger, hvilket er afgørende for enhver svag tjeneste.

Ulemper:

  • Extensions skal sendes som en streng, hvilket er ubelejligt, hvis du skal passere mange extensions på én gang;
  • For at bruge din ordbog skal den ændres en smule til Dirsearch ordbogsformatet for maksimal effektivitet.

Webværktøjer, eller hvor skal en pentester starte?

wfuzz

wfuzz - Python webapplikation fuzzer. Sandsynligvis en af ​​de mest berømte webphasere. Princippet er enkelt: wfuzz giver dig mulighed for at indfase et hvilket som helst sted i en HTTP-anmodning, hvilket gør det muligt at fase GET/POST-parametre, HTTP-headere, inklusive Cookie og andre autentificeringsheadere. Samtidig er det også praktisk til simpel brute force af mapper og filer, som du har brug for en god ordbog til. Den har også et fleksibelt filtersystem, hvormed du kan filtrere svar fra hjemmesiden efter forskellige parametre, hvilket giver dig mulighed for at opnå effektive resultater.

Teknikere:

  • Multifunktionel - modulær struktur, montering tager et par minutter;
  • Praktisk filtrering og fuzzing mekanisme;
  • Du kan fase enhver HTTP-metode såvel som ethvert sted i en HTTP-anmodning.

Ulemper:

  • Under udvikling.

Webværktøjer, eller hvor skal en pentester starte?

ffuf

ffuf - en webfuzzer i Go, skabt i "billedet og ligheden" af wfuzz, giver dig mulighed for at brute filer, mapper, URL-stier, navne og værdier af GET/POST-parametre, HTTP-headers, inklusive Host-headeren for brute force af virtuelle værter. wfuzz adskiller sig fra sin bror i højere hastighed og nogle nye funktioner, for eksempel understøtter den Dirsearch-formatordbøger.

Teknikere:

  • Filtre ligner wfuzz-filtre, de giver dig mulighed for fleksibelt at konfigurere brute force;
  • Giver dig mulighed for at fuzze HTTP-header-værdier, POST-anmodningsdata og forskellige dele af URL'en, herunder navne og værdier af GET-parametre;
  • Du kan angive enhver HTTP-metode.

Ulemper:

  • Under udvikling.

Webværktøjer, eller hvor skal en pentester starte?

gobuster

gobuster — et Go-værktøj til rekognoscering, har to driftsformer. Den første bruges til at brute force-filer og mapper på et websted, den anden bruges til at brute force DNS-underdomæner. Værktøjet understøtter i første omgang ikke rekursiv optælling af filer og mapper, hvilket naturligvis sparer tid, men på den anden side skal den brute force af hvert nyt endepunkt på hjemmesiden lanceres separat.

Teknikere:

  • Høj operationshastighed både til brute force-søgning af DNS-underdomæner og for brute force af filer og mapper.

Ulemper:

  • Den aktuelle version understøtter ikke indstilling af HTTP-headere;
  • Som standard anses kun nogle af HTTP-statuskoderne (200,204,301,302,307) for gyldige.

Webværktøjer, eller hvor skal en pentester starte?

Arjun

Arjun - et værktøj til brute force af skjulte HTTP-parametre i GET/POST-parametre såvel som i JSON. Den indbyggede ordbog har 25 ord, som Ajrun tjekker på næsten 980 sekunder. Tricket er, at Ajrun ikke tjekker hver parameter separat, men tjekker ~30 parametre ad gangen og ser om svaret er ændret. Hvis svaret er ændret, deler det disse 1000 parametre i to dele og kontrollerer, hvilken af ​​disse dele der påvirker svaret. Ved at bruge en simpel binær søgning finder man således en parameter eller flere skjulte parametre, som har påvirket svaret og derfor kan eksistere.

Teknikere:

  • Høj hastighed på grund af binær søgning;
  • Understøttelse af GET/POST-parametre, samt parametre i form af JSON;

Pluginnet til Burp Suite fungerer efter et lignende princip - param-miner, som også er meget god til at finde skjulte HTTP-parametre. Vi vil fortælle dig mere om det i en kommende artikel om Burp og dets plugins.
Webværktøjer, eller hvor skal en pentester starte?

LinkFinder

LinkFinder — et Python-script til at søge efter links i JavaScript-filer. Nyttigt til at finde skjulte eller glemte endepunkter/URL'er i en webapplikation.

Teknikere:

  • Hurtig;
  • Der er et særligt plugin til Chrome baseret på LinkFinder.

.

Ulemper:

  • Upraktisk endelig konklusion;
  • Analyserer ikke JavaScript over tid;
  • En ret simpel logik for at søge efter links - hvis JavaScript på en eller anden måde er sløret, eller linksene i første omgang mangler og genereres dynamisk, så vil den ikke kunne finde noget.

Webværktøjer, eller hvor skal en pentester starte?

JSParser

JSParser er et Python-script, der bruger Tornado и JSBeautifier at parse relative URL'er fra JavaScript-filer. Meget nyttig til at detektere AJAX-anmodninger og kompilere en liste over API-metoder, som applikationen interagerer med. Fungerer effektivt sammen med LinkFinder.

Teknikere:

  • Hurtig parsing af JavaScript-filer.

Webværktøjer, eller hvor skal en pentester starte?

sqlmap

sqlmap er nok et af de mest berømte værktøjer til at analysere webapplikationer. Sqlmap automatiserer søgningen og driften af ​​SQL-injektioner, arbejder med adskillige SQL-dialekter og har et stort antal forskellige teknikker i sit arsenal, lige fra lige anførselstegn til komplekse vektorer til tidsbaserede SQL-injektioner. Derudover har den mange teknikker til yderligere udnyttelse af forskellige DBMS'er, så den er nyttig ikke kun som scanner til SQL-injektioner, men også som et kraftfuldt værktøj til at udnytte allerede fundne SQL-injektioner.

Teknikere:

  • En lang række forskellige teknikker og vektorer;
  • Lavt antal falske positive;
  • Masser af finjusteringsmuligheder, forskellige teknikker, måldatabase, manipulationsscripts til at omgå WAF;
  • Evne til at skabe output dump;
  • Mange forskellige operationelle muligheder, for eksempel for nogle databaser - automatisk indlæsning/aflæsning af filer, opnåelse af evnen til at udføre kommandoer (RCE) og andre;
  • Understøttelse af direkte forbindelse til databasen ved hjælp af data opnået under et angreb;
  • Du kan indsende en tekstfil med resultaterne af Burp som input - ingen grund til manuelt at komponere alle kommandolinjeattributterne.

Ulemper:

  • Det er svært at tilpasse for eksempel at skrive nogle af dine egne checks på grund af den sparsomme dokumentation for dette;
  • Uden de relevante indstillinger udfører den et ufuldstændigt sæt kontroller, som kan være vildledende.

Webværktøjer, eller hvor skal en pentester starte?

NoSQLMap

NoSQLMap — et Python-værktøj til automatisering af søgning og udnyttelse af NoSQL-injektioner. Det er praktisk at bruge ikke kun i NoSQL-databaser, men også direkte ved revision af webapplikationer, der bruger NoSQL.

Teknikere:

  • Ligesom sqlmap finder den ikke kun en potentiel sårbarhed, men kontrollerer også muligheden for dens udnyttelse for MongoDB og CouchDB.

Ulemper:

  • Understøtter ikke NoSQL for Redis, Cassandra, udvikling er i gang i denne retning.

oxml_xxe

oxml_xxe — et værktøj til at indlejre XXE XML-udnyttelser i forskellige typer filer, der bruger XML-formatet i en eller anden form.

Teknikere:

  • Understøtter mange almindelige formater såsom DOCX, ODT, SVG, XML.

Ulemper:

  • Understøttelse af PDF, JPEG, GIF er ikke fuldt implementeret;
  • Opretter kun én fil. For at løse dette problem kan du bruge værktøjet docem, som kan oprette et stort antal nyttelastfiler forskellige steder.

Ovenstående hjælpeprogrammer gør et godt stykke arbejde med at teste XXE, når du indlæser dokumenter, der indeholder XML. Men husk også, at XML-formathandlere kan findes i mange andre tilfælde, for eksempel kan XML bruges som dataformat i stedet for JSON.

Derfor anbefaler vi, at du er opmærksom på følgende depot, som indeholder et stort antal forskellige nyttelaster: NyttelastAllTheThings.

tplmap

tplmap - et Python-værktøj til automatisk at identificere og udnytte Server-Side Template Injection sårbarheder; det har indstillinger og flag, der ligner sqlmap. Bruger flere forskellige teknikker og vektorer, herunder blind injektion, og har også teknikker til at udføre kode og indlæse/uploade vilkårlige filer. Derudover har han i sit arsenal teknikker til et dusin forskellige skabelonmotorer og nogle teknikker til at søge efter eval()-lignende kodeinjektioner i Python, Ruby, PHP, JavaScript. Hvis det lykkes, åbner det en interaktiv konsol.

Teknikere:

  • En lang række forskellige teknikker og vektorer;
  • Understøtter mange skabelongengivelsesmotorer;
  • Masser af betjeningsteknikker.

CeWL

CeWL - en ordbogsgenerator i Ruby, skabt til at udtrække unikke ord fra et bestemt websted, følger links på webstedet til en bestemt dybde. Den kompilerede ordbog med unikke ord kan senere bruges til at brute force adgangskoder på tjenester eller brute force filer og mapper på den samme hjemmeside, eller til at angribe de resulterende hashes ved hjælp af hashcat eller John the Ripper. Nyttigt, når du kompilerer en "mål"-liste over potentielle adgangskoder.

Teknikere:

  • Let at bruge.

Ulemper:

  • Du skal være forsigtig med søgedybden for ikke at fange et ekstra domæne.

Weakpass

Weakpass - en tjeneste, der indeholder mange ordbøger med unikke adgangskoder. Ekstremt nyttig til forskellige opgaver relateret til adgangskodeknækning, lige fra simpel online brute force af konti på måltjenester til off-line brute force af modtagne hashes ved hjælp af hashkat eller John The Ripper. Den indeholder omkring 8 milliarder adgangskoder med en længde på mellem 4 og 25 tegn.

Teknikere:

  • Indeholder både specifikke ordbøger og ordbøger med de mest almindelige adgangskoder - du kan vælge en specifik ordbog til dine egne behov;
  • Ordbøger opdateres og fyldes op med nye adgangskoder;
  • Ordbøger er sorteret efter effektivitet. Du kan vælge muligheden for både hurtig online brute force og detaljeret valg af adgangskoder fra en omfangsrig ordbog med de seneste lækager;
  • Der er en lommeregner, der viser den tid, det tager at brute adgangskoder på dit udstyr.

Webværktøjer, eller hvor skal en pentester starte?

Vi vil gerne inkludere værktøjer til CMS-tjek i en separat gruppe: WPScan, JoomScan og AEM hacker.

AEM_hacker

AEM hacker er et værktøj til at identificere sårbarheder i Adobe Experience Manager (AEM) applikationer.

Teknikere:

  • Kan identificere AEM-applikationer fra listen over URL'er, der sendes til dens input;
  • Indeholder scripts til at opnå RCE ved at indlæse en JSP-shell eller udnytte SSRF.

JoomScan

JoomScan — et Perl-værktøj til automatisering af detektering af sårbarheder ved implementering af Joomla CMS.

Teknikere:

  • I stand til at finde konfigurationsfejl og problemer med administrative indstillinger;
  • Viser Joomla-versioner og tilhørende sårbarheder, på samme måde for individuelle komponenter;
  • Indeholder mere end 1000 udnyttelser til Joomla-komponenter;
  • Output af slutrapporter i tekst- og HTML-formater.

Webværktøjer, eller hvor skal en pentester starte?

WPScan

WPScan - et værktøj til at scanne WordPress-sider, det har sårbarheder i sit arsenal både for selve WordPress-motoren og for nogle plugins.

Teknikere:

  • I stand til at liste ikke kun usikre WordPress-plugins og -temaer, men også få en liste over brugere og TimThumb-filer;
  • Kan udføre brute force-angreb på WordPress-websteder.

Ulemper:

  • Uden de relevante indstillinger udfører den et ufuldstændigt sæt kontroller, som kan være vildledende.

Webværktøjer, eller hvor skal en pentester starte?

Generelt foretrækker forskellige mennesker forskellige værktøjer til arbejdet: de er alle gode på deres egen måde, og det, en person kan lide, passer måske slet ikke til en anden. Hvis du mener, at vi uretfærdigt har ignoreret nogle gode hjælpemidler, så skriv om det i kommentarerne!

Kilde: www.habr.com

Tilføj en kommentar