Webbverktyg, eller var ska man börja som pentester?

Vi fortsätter prata om användbara verktyg för pentesters. I den nya artikeln kommer vi att titta på verktyg för att analysera säkerheten i webbapplikationer.

Vår kollega Var kärlek Jag har redan gjort något sånt här sammanställning för ungefär sju år sedan. Det är intressant att se vilka verktyg som har behållit och stärkt sina positioner, och vilka som har bleknat i bakgrunden och som nu sällan används.
Webbverktyg, eller var ska man börja som pentester?

Observera att detta även inkluderar Burp Suite, men det kommer att finnas en separat publikation om det och dess användbara plugins.

Innehåll:

hopa

hopa - ett Go-verktyg för att söka och räkna upp DNS-underdomäner och kartlägga det externa nätverket. Amass är ett OWASP-projekt utformat för att visa hur organisationer på Internet ser ut för en utomstående. Amass får underdomännamn på olika sätt, verktyget använder både rekursiv uppräkning av underdomäner och sökningar med öppen källkod.

För att upptäcka sammankopplade nätverkssegment och autonoma systemnummer använder Amass IP-adresser som erhållits under drift. All information som hittas används för att bygga en nätverkskarta.

Fördelar:

  • Informationsinsamlingstekniker inkluderar:
    * DNS - ordbokssökning av underdomäner, bruteforce-underdomäner, smart sökning med mutationer baserade på hittade underdomäner, omvända DNS-frågor och sökning efter DNS-servrar där det är möjligt att göra en zonöverföringsbegäran (AXFR);

    * Sökning med öppen källkod - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Sök i TLS-certifikatdatabaser - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Använda sökmotorns API:er - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Sök i webbarkiv på Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integration med Maltego;
  • Ger den mest kompletta täckningen av uppgiften att söka efter DNS-underdomäner.

Nackdelar:

  • Var försiktig med amass.netdomains - det kommer att försöka kontakta alla IP-adresser i den identifierade infrastrukturen och få domännamn från omvända DNS-sökningar och TLS-certifikat. Detta är en "högprofilerad" teknik, den kan avslöja din underrättelseverksamhet i den organisation som undersöks.
  • Hög minnesförbrukning, kan förbruka upp till 2 GB RAM i olika inställningar, vilket inte tillåter dig att köra detta verktyg i molnet på en billig VDS.

Webbverktyg, eller var ska man börja som pentester?

Altdns

Altdns — ett Python-verktyg för att sammanställa ordböcker för att räkna upp DNS-underdomäner. Låter dig generera många varianter av underdomäner med hjälp av mutationer och permutationer. För detta används ord som ofta finns i underdomäner (till exempel: test, dev, staging), alla mutationer och permutationer appliceras på redan kända underdomäner, som kan skickas till Altdns-ingången. Utdata är en lista över varianter av underdomäner som kan existera, och den här listan kan senare användas för DNS brute force.

Fördelar:

  • Fungerar bra med stora datamängder.

akvaton

akvaton - var tidigare mer känt som ett annat verktyg för att söka underdomäner, men författaren själv övergav detta till förmån för ovan nämnda Amass. Nu har aquatone skrivits om i Go och är mer inriktat på preliminär spaning på webbplatser. För att göra detta går aquatone igenom de angivna domänerna och söker efter webbplatser på olika portar, varefter den samlar in all information om webbplatsen och tar en skärmdump. Bekvämt för snabb preliminär spaning av webbplatser, varefter du kan välja prioriterade mål för attacker.

Fördelar:

  • Utdata skapar en grupp filer och mappar som är bekväma att använda när du arbetar vidare med andra verktyg:
    * HTML-rapport med insamlade skärmdumpar och svarstitlar grupperade efter likhet;

    * En fil med alla webbadresser där webbplatser hittades;

    * Fil med statistik och siddata;

    * En mapp med filer som innehåller svarsrubriker från hittade mål;

    * En mapp med filer som innehåller brödtexten för svaret från de hittade målen;

    * Skärmdumpar av hittade webbplatser;

  • Stöder arbete med XML-rapporter från Nmap och Masscan;
  • Använder huvudlös Chrome/Chromium för att göra skärmdumpar.

Nackdelar:

  • Det kan locka uppmärksamheten från intrångsdetekteringssystem, så det kräver konfiguration.

Skärmdumpen togs för en av de gamla versionerna av aquatone (v0.5.0), där DNS-underdomänsökning implementerades. Äldre versioner finns på släpper sida.
Webbverktyg, eller var ska man börja som pentester?

MassDNS

MassDNS är ett annat verktyg för att hitta DNS-underdomäner. Dess huvudsakliga skillnad är att den gör DNS-förfrågningar direkt till många olika DNS-upplösare och gör det med stor hastighet.

Fördelar:

  • Snabb - kan lösa mer än 350 tusen namn per sekund.

Nackdelar:

  • MassDNS kan orsaka betydande belastning på DNS-resolvers som används, vilket kan leda till förbud mot dessa servrar eller klagomål till din ISP. Dessutom kommer det att lägga en stor belastning på företagets DNS-servrar, om de har det och om de är ansvariga för de domäner du försöker lösa.
  • Listan över lösare är för närvarande föråldrad, men om du väljer de trasiga DNS-lösare och lägger till nya kända kommer allt att bli bra.

Webbverktyg, eller var ska man börja som pentester?
Skärmdump av aquatone v0.5.0

nsec3map

nsec3map är ett Python-verktyg för att få en komplett lista över DNSSEC-skyddade domäner.

Fördelar:

  • Upptäcker snabbt värdar i DNS-zoner med ett minimum antal frågor om DNSSEC-stöd är aktiverat i zonen;
  • Inkluderar ett plugin för John the Ripper som kan användas för att knäcka de resulterande NSEC3-hasharna.

Nackdelar:

  • Många DNS-fel hanteras inte korrekt;
  • Det finns ingen automatisk parallellisering av bearbetning av NSEC-poster - du måste dela upp namnområdet manuellt;
  • Hög minnesförbrukning.

Acunetix

Acunetix — en webbsårbarhetsskanner som automatiserar processen för att kontrollera säkerheten för webbapplikationer. Testar applikationen för SQL-injektioner, XSS, XXE, SSRF och många andra webbsårbarheter. Men som vilken annan skanner som helst, ersätter inte en mängd webbsårbarheter en pentester, eftersom den inte kan hitta komplexa kedjor av sårbarheter eller sårbarheter i logiken. Men det täcker många olika sårbarheter, inklusive olika CVE, som pentestern kanske har glömt bort, så det är väldigt bekvämt för att befria dig från rutinkontroller.

Fördelar:

  • Låg nivå av falska positiva;
  • Resultat kan exporteras som rapporter;
  • Utför ett stort antal kontroller för olika sårbarheter;
  • Parallell scanning av flera värdar.

Nackdelar:

  • Det finns ingen dedupliceringsalgoritm (Acunetix kommer att betrakta sidor som är identiska i funktionalitet som olika, eftersom de leder till olika webbadresser), men utvecklarna arbetar på det;
  • Kräver installation på en separat webbserver, vilket komplicerar testning av klientsystem med en VPN-anslutning och användning av skannern i ett isolerat segment av det lokala klientnätverket;
  • Tjänsten som studeras kan göra oväsen, till exempel genom att skicka för många attackvektorer till kontaktformuläret på sajten, vilket i hög grad komplicerar affärsprocesser;
  • Det är en proprietär och följaktligen inte gratis lösning.

Webbverktyg, eller var ska man börja som pentester?

Dirsearch

Dirsearch — ett Python-verktyg för brute-forcing kataloger och filer på webbplatser.

Fördelar:

  • Kan skilja riktiga "200 OK"-sidor från "200 OK"-sidor, men med texten "page not found";
  • Levereras med en praktisk ordbok som har en bra balans mellan storlek och sökeffektivitet. Innehåller standardvägar som är gemensamma för många CMS- och teknikstackar;
  • Dess eget ordboksformat, som låter dig uppnå god effektivitet och flexibilitet vid uppräkning av filer och kataloger;
  • Bekväm utdata - vanlig text, JSON;
  • Det kan göra strypning - en paus mellan förfrågningar, vilket är avgörande för alla svaga tjänster.

Nackdelar:

  • Extensions måste skickas som en sträng, vilket är obekvämt om du behöver passera många extensions samtidigt;
  • För att kunna använda din ordbok måste den ändras något till Dirsearch-ordboksformatet för maximal effektivitet.

Webbverktyg, eller var ska man börja som pentester?

wfuzz

wfuzz - Python webbapplikation fuzzer. Förmodligen en av de mest kända webbfasarna. Principen är enkel: wfuzz låter dig fasa vilken plats som helst i en HTTP-förfrågan, vilket gör det möjligt att fasa in GET/POST-parametrar, HTTP-huvuden, inklusive Cookie och andra autentiseringshuvuden. Samtidigt är det också bekvämt för enkel brute force av kataloger och filer, för vilka du behöver en bra ordbok. Den har också ett flexibelt filtersystem, med vilket du kan filtrera svar från webbplatsen enligt olika parametrar, vilket gör att du kan uppnå effektiva resultat.

Fördelar:

  • Multifunktionell - modulär struktur, montering tar några minuter;
  • Bekväm filtrering och fuzzing mekanism;
  • Du kan fasa in vilken HTTP-metod som helst, såväl som vilken plats som helst i en HTTP-förfrågan.

Nackdelar:

  • Under utveckling.

Webbverktyg, eller var ska man börja som pentester?

ffuf

ffuf — en webbfuzzer i Go, skapad i "bilden och likheten" av wfuzz, låter dig bruta filer, kataloger, URL-sökvägar, namn och värden för GET/POST-parametrar, HTTP-rubriker, inklusive Host-huvudet för brute force av virtuella värdar. wfuzz skiljer sig från sin bror i högre hastighet och några nya funktioner, till exempel stöder den Dirsearch-formatordböcker.

Fördelar:

  • Filter liknar wfuzz-filter, de tillåter dig att flexibelt konfigurera brute force;
  • Låter dig fuzza HTTP-rubrikvärden, POST-begärandata och olika delar av URL:en, inklusive namn och värden för GET-parametrar;
  • Du kan ange vilken HTTP-metod som helst.

Nackdelar:

  • Under utveckling.

Webbverktyg, eller var ska man börja som pentester?

gobuster

gobuster — ett Go-verktyg för spaning, har två funktionssätt. Den första används för att brute force-filer och kataloger på en webbplats, den andra används för att brute force DNS-underdomäner. Verktyget stöder till en början inte rekursiv uppräkning av filer och kataloger, vilket naturligtvis sparar tid, men å andra sidan måste råkraften för varje ny slutpunkt på webbplatsen lanseras separat.

Fördelar:

  • Hög drifthastighet både för brute force-sökning av DNS-underdomäner och för brute force av filer och kataloger.

Nackdelar:

  • Den aktuella versionen stöder inte inställning av HTTP-rubriker;
  • Som standard anses endast några av HTTP-statuskoderna (200,204,301,302,307) vara giltiga.

Webbverktyg, eller var ska man börja som pentester?

Arjun

Arjun - ett verktyg för brute force av dolda HTTP-parametrar i GET/POST-parametrar, såväl som i JSON. Den inbyggda ordboken har 25 980 ord, som Ajrun kontrollerar på nästan 30 sekunder. Tricket är att Ajrun inte kontrollerar varje parameter separat, utan kontrollerar ~1000 parametrar åt gången och ser om svaret har ändrats. Om svaret har ändrats delar den upp dessa 1000 parametrar i två delar och kontrollerar vilken av dessa delar som påverkar svaret. Med hjälp av en enkel binär sökning hittas således en parameter eller flera dolda parametrar som påverkade svaret och som därför kan existera.

Fördelar:

  • Hög hastighet på grund av binär sökning;
  • Stöd för GET/POST-parametrar, samt parametrar i form av JSON;

Insticksprogrammet för Burp Suite fungerar på en liknande princip - param-miner, som också är väldigt bra på att hitta dolda HTTP-parametrar. Vi kommer att berätta mer om det i en kommande artikel om Burp och dess plugins.
Webbverktyg, eller var ska man börja som pentester?

LinkFinder

LinkFinder — ett Python-skript för att söka efter länkar i JavaScript-filer. Användbart för att hitta dolda eller glömda slutpunkter/URL:er i en webbapplikation.

Fördelar:

  • Snabb;
  • Det finns ett speciellt plugin för Chrome baserat på LinkFinder.

.

Nackdelar:

  • Obekväm slutsats;
  • Analyserar inte JavaScript över tid;
  • En ganska enkel logik för att söka efter länkar - om JavaScript på något sätt är fördunklat, eller om länkarna initialt saknas och genereras dynamiskt, kommer den inte att kunna hitta någonting.

Webbverktyg, eller var ska man börja som pentester?

JSParser

JSParser är ett Python-skript som använder Tornado и JSBeautifier för att analysera relativa webbadresser från JavaScript-filer. Mycket användbart för att upptäcka AJAX-förfrågningar och sammanställa en lista över API-metoder som applikationen interagerar med. Fungerar effektivt tillsammans med LinkFinder.

Fördelar:

  • Snabb analys av JavaScript-filer.

Webbverktyg, eller var ska man börja som pentester?

sqlmap

sqlmap är förmodligen ett av de mest kända verktygen för att analysera webbapplikationer. Sqlmap automatiserar sökningen och driften av SQL-injektioner, arbetar med flera SQL-dialekter och har ett stort antal olika tekniker i sin arsenal, allt från raka citat till komplexa vektorer för tidsbaserade SQL-injektioner. Dessutom har den många tekniker för ytterligare exploatering för olika DBMS, så den är användbar inte bara som skanner för SQL-injektioner, utan också som ett kraftfullt verktyg för att utnyttja redan hittade SQL-injektioner.

Fördelar:

  • Ett stort antal olika tekniker och vektorer;
  • Lågt antal falska positiva;
  • Massor av finjusteringsalternativ, olika tekniker, måldatabas, manipuleringsskript för att kringgå WAF;
  • Möjlighet att skapa output dump;
  • Många olika operativa funktioner, till exempel för vissa databaser - automatisk laddning/avlastning av filer, erhållande av förmågan att utföra kommandon (RCE) och andra;
  • Stöd för direkt anslutning till databasen med hjälp av data som erhållits under en attack;
  • Du kan skicka in en textfil med resultatet av Burp som indata - du behöver inte skriva alla kommandoradsattribut manuellt.

Nackdelar:

  • Det är svårt att anpassa till exempel att skriva några egna checkar på grund av den knappa dokumentationen för detta;
  • Utan lämpliga inställningar utför den en ofullständig uppsättning kontroller, vilket kan vara missvisande.

Webbverktyg, eller var ska man börja som pentester?

NoSQLMap

NoSQLMap — ett Python-verktyg för att automatisera sökning och utnyttjande av NoSQL-injektioner. Det är bekvämt att använda inte bara i NoSQL-databaser, utan också direkt vid granskning av webbapplikationer som använder NoSQL.

Fördelar:

  • Precis som sqlmap hittar den inte bara en potentiell sårbarhet, utan kontrollerar också möjligheten att dess exploatering för MongoDB och CouchDB.

Nackdelar:

  • Stöder inte NoSQL för Redis, Cassandra, utveckling pågår i denna riktning.

oxml_xxe

oxml_xxe — ett verktyg för att bädda in XXE XML-exploater i olika typer av filer som använder XML-formatet i någon form.

Fördelar:

  • Stöder många vanliga format som DOCX, ODT, SVG, XML.

Nackdelar:

  • Stöd för PDF, JPEG, GIF är inte fullt implementerat;
  • Skapar bara en fil. För att lösa detta problem kan du använda verktyget docem, som kan skapa ett stort antal nyttolastfiler på olika platser.

Ovanstående verktyg gör ett bra jobb med att testa XXE när du laddar dokument som innehåller XML. Men kom också ihåg att XML-formathanterare kan hittas i många andra fall, till exempel kan XML användas som dataformat istället för JSON.

Därför rekommenderar vi att du uppmärksammar följande förråd, som innehåller ett stort antal olika nyttolaster: PayloadsAllTheThings.

tplmap

tplmap - Ett Python-verktyg för att automatiskt identifiera och utnyttja sårbarheter för mallinjektion på serversidan; det har inställningar och flaggor som liknar sqlmap. Använder flera olika tekniker och vektorer, inklusive blindinjektion, och har även tekniker för att exekvera kod och ladda/ladda upp godtyckliga filer. Dessutom har han i sin arsenal tekniker för ett dussin olika mallmotorer och några tekniker för att söka efter eval()-liknande kodinjektioner i Python, Ruby, PHP, JavaScript. Om det lyckas öppnas en interaktiv konsol.

Fördelar:

  • Ett stort antal olika tekniker och vektorer;
  • Stöder många mallrenderingsmotorer;
  • Många operationstekniker.

CeWL

CeWL - en ordboksgenerator i Ruby, skapad för att extrahera unika ord från en angiven webbplats, följer länkar på webbplatsen till ett visst djup. Den sammanställda ordboken med unika ord kan senare användas för att brute force-lösenord på tjänster eller brute force-filer och kataloger på samma webbplats, eller för att attackera de resulterande hasharna med hashcat eller John the Ripper. Användbar när du sammanställer en "mål"-lista med potentiella lösenord.

Fördelar:

  • Lätt att använda.

Nackdelar:

  • Du måste vara försiktig med sökdjupet för att inte fånga en extra domän.

Svag pass

Svag pass - en tjänst som innehåller många ordböcker med unika lösenord. Extremt användbar för olika uppgifter relaterade till lösenordsknäckning, allt från enkel online brute force av konton på måltjänster, till off-line brute force av mottagna hash haschcat eller John The Ripper. Den innehåller cirka 8 miljarder lösenord som sträcker sig från 4 till 25 tecken långa.

Fördelar:

  • Innehåller både specifika ordböcker och ordböcker med de vanligaste lösenorden - du kan välja en specifik ordbok för dina egna behov;
  • Ordböcker uppdateras och fylls på med nya lösenord;
  • Ordböcker sorteras efter effektivitet. Du kan välja alternativet för både snabb online brute force och detaljerat urval av lösenord från en omfattande ordbok med de senaste läckorna;
  • Det finns en miniräknare som visar hur lång tid det tar att förstöra lösenord på din utrustning.

Webbverktyg, eller var ska man börja som pentester?

Vi skulle vilja inkludera verktyg för CMS-kontroller i en separat grupp: WPScan, JoomScan och AEM hacker.

AEM_hacker

AEM hacker är ett verktyg för att identifiera sårbarheter i Adobe Experience Manager (AEM)-applikationer.

Fördelar:

  • Kan identifiera AEM-applikationer från listan över URL:er som skickats till dess indata;
  • Innehåller skript för att erhålla RCE genom att ladda ett JSP-skal eller utnyttja SSRF.

JoomScan

JoomScan — ett Perl-verktyg för att automatisera upptäckten av sårbarheter vid implementering av Joomla CMS.

Fördelar:

  • Kan hitta konfigurationsbrister och problem med administrativa inställningar;
  • Listar Joomla-versioner och associerade sårbarheter, på samma sätt för enskilda komponenter;
  • Innehåller mer än 1000 exploits för Joomla-komponenter;
  • Utmatning av slutrapporter i text- och HTML-format.

Webbverktyg, eller var ska man börja som pentester?

WPScan

WPScan - ett verktyg för att skanna WordPress-sajter, det har sårbarheter i sin arsenal både för själva WordPress-motorn och för vissa plugins.

Fördelar:

  • Kan lista inte bara osäkra WordPress-plugins och teman, utan också få en lista över användare och TimThumb-filer;
  • Kan utföra brute force-attacker på WordPress-webbplatser.

Nackdelar:

  • Utan lämpliga inställningar utför den en ofullständig uppsättning kontroller, vilket kan vara missvisande.

Webbverktyg, eller var ska man börja som pentester?

I allmänhet föredrar olika människor olika verktyg för arbetet: de är alla bra på sitt sätt, och det en person gillar kanske inte passar en annan alls. Om du tycker att vi orättvist har ignorerat något bra verktyg, skriv om det i kommentarerna!

Källa: will.com

Lägg en kommentar