Webtools, of waar te beginnen als pentester?

We gaan door praat over handige tools voor pentesters. In het nieuwe artikel zullen we kijken naar tools voor het analyseren van de beveiliging van webapplicaties.

Onze collega BeLiefde Ik heb al zoiets gedaan compilatie ongeveer zeven jaar geleden. Het is interessant om te zien welke instrumenten hun positie hebben behouden en versterkt, en welke naar de achtergrond zijn verdwenen en nu zelden worden gebruikt.
Webtools, of waar te beginnen als pentester?

Merk op dat dit ook Burp Suite omvat, maar er zal een aparte publicatie over verschijnen en de handige plug-ins ervan.

Inhoud:

stapelen

stapelen - een Go-tool voor het zoeken en opsommen van DNS-subdomeinen en het in kaart brengen van het externe netwerk. Amass is een OWASP-project dat is ontworpen om te laten zien hoe organisaties op internet er voor een buitenstaander uitzien. Amass verkrijgt subdomeinnamen op verschillende manieren; de tool maakt gebruik van zowel recursieve opsomming van subdomeinen als open source-zoekopdrachten.

Om onderling verbonden netwerksegmenten en autonome systeemnummers te ontdekken, gebruikt Amass IP-adressen die tijdens het gebruik zijn verkregen. Alle gevonden informatie wordt gebruikt om een ​​netwerkkaart op te bouwen.

Voors:

  • Technieken voor het verzamelen van informatie zijn onder meer:
    * DNS - zoeken in woordenboek van subdomeinen, bruteforce-subdomeinen, slim zoeken met behulp van mutaties op basis van gevonden subdomeinen, reverse DNS-query's en zoeken naar DNS-servers waar het mogelijk is om een ​​zonetransferverzoek in te dienen (AXFR);

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

    * Zoeken in TLS-certificaatdatabases - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Met behulp van zoekmachine-API's - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Zoeken op internetwebarchieven: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integratie met Maltego;
  • Biedt de meest volledige dekking van het zoeken naar DNS-subdomeinen.

Tegens:

  • Wees voorzichtig met amass.netdomains - het zal proberen contact te maken met elk IP-adres in de geïdentificeerde infrastructuur en domeinnamen te verkrijgen via reverse DNS-lookups en TLS-certificaten. Dit is een 'spraakmakende' techniek; het kan uw inlichtingenactiviteiten in de onderzochte organisatie onthullen.
  • Hoog geheugengebruik, kan tot 2 GB RAM verbruiken in verschillende instellingen, waardoor u deze tool niet in de cloud op een goedkope VDS kunt gebruiken.

Webtools, of waar te beginnen als pentester?

Altdns

Altdns — een Python-tool voor het samenstellen van woordenboeken voor het opsommen van DNS-subdomeinen. Hiermee kunt u vele varianten van subdomeinen genereren met behulp van mutaties en permutaties. Hiervoor worden woorden gebruikt die vaak in subdomeinen voorkomen (bijvoorbeeld: test, dev, staging), alle mutaties en permutaties worden toegepast op reeds bekende subdomeinen, die aan de Altdns-invoer kunnen worden voorgelegd. De uitvoer is een lijst met varianten van subdomeinen die kunnen bestaan, en deze lijst kan later worden gebruikt voor DNS-brute force.

Voors:

  • Werkt goed met grote datasets.

aquatoon

aquatoon - was voorheen beter bekend als een ander hulpmiddel voor het zoeken in subdomeinen, maar de auteur heeft hier zelf afstand van gedaan ten gunste van het eerder genoemde Amass. Nu is aquatone herschreven in Go en meer gericht op voorlopige verkenningen op websites. Om dit te doen, doorloopt aquatone de opgegeven domeinen en zoekt naar websites op verschillende poorten, waarna het alle informatie over de site verzamelt en een screenshot maakt. Handig voor een snelle voorafgaande verkenning van websites, waarna u prioriteitsdoelen voor aanvallen kunt selecteren.

Voors:

  • De uitvoer creëert een groep bestanden en mappen die handig zijn om te gebruiken bij het verder werken met andere tools:
    * HTML-rapport met verzamelde schermafbeeldingen en antwoordtitels gegroepeerd op gelijkenis;

    * Een bestand met alle URL's waar websites zijn gevonden;

    * Bestand met statistieken en paginagegevens;

    * Een map met bestanden die antwoordheaders van gevonden doelen bevatten;

    * Een map met bestanden die de hoofdtekst van het antwoord van de gevonden doelen bevatten;

    * Screenshots van gevonden websites;

  • Ondersteunt het werken met XML-rapporten van Nmap en Masscan;
  • Gebruikt headless Chrome/Chromium om schermafbeeldingen weer te geven.

Tegens:

  • Het kan de aandacht trekken van inbraakdetectiesystemen en vereist dus configuratie.

De schermafbeelding is gemaakt voor een van de oude versies van aquatone (v0.5.0), waarin zoeken naar DNS-subdomeinen was geïmplementeerd. Oudere versies zijn te vinden op releases pagina.
Webtools, of waar te beginnen als pentester?

massaDNS

massaDNS is een ander hulpmiddel voor het vinden van DNS-subdomeinen. Het belangrijkste verschil is dat het DNS-query's rechtstreeks naar veel verschillende DNS-resolvers stuurt, en wel met aanzienlijke snelheid.

Voors:

  • Snel - in staat om meer dan 350 namen per seconde op te lossen.

Tegens:

  • MassDNS kan een aanzienlijke belasting veroorzaken op de gebruikte DNS-resolvers, wat kan resulteren in verbanningen van die servers of klachten bij uw ISP. Bovendien zal het een grote belasting vormen voor de DNS-servers van het bedrijf, als ze die hebben en als ze verantwoordelijk zijn voor de domeinen die u probeert op te lossen.
  • De lijst met resolvers is momenteel verouderd, maar als je de kapotte DNS-resolvers selecteert en nieuwe bekende toevoegt, komt alles goed.

Webtools, of waar te beginnen als pentester?
Schermafbeelding van aquatone v0.5.0

nsec3map

nsec3map is een Python-tool voor het verkrijgen van een volledige lijst met DNSSEC-beveiligde domeinen.

Voors:

  • Ontdekt snel hosts in DNS-zones met een minimum aantal queries als DNSSEC-ondersteuning is ingeschakeld in de zone;
  • Bevat een plug-in voor John the Ripper die kan worden gebruikt om de resulterende NSEC3-hashes te kraken.

Tegens:

  • Veel DNS-fouten worden niet correct afgehandeld;
  • Er is geen automatische parallellisatie van de verwerking van NSEC-records - u moet de naamruimte handmatig verdelen;
  • Hoog geheugenverbruik.

Acunetix

Acunetix — een scanner voor webkwetsbaarheid die het proces van het controleren van de veiligheid van webapplicaties automatiseert. Test de applicatie op SQL-injecties, XSS, XXE, SSRF en vele andere webkwetsbaarheden. Echter, net als elke andere scanner, vervangt een verscheidenheid aan webkwetsbaarheden een pentester niet, omdat deze geen complexe ketens van kwetsbaarheden of kwetsbaarheden in de logica kan vinden. Maar het dekt een heleboel verschillende kwetsbaarheden, waaronder verschillende CVE's, die de pentester misschien vergeten is, dus het is erg handig om u te bevrijden van routinecontroles.

Voors:

  • Laag niveau van valse positieven;
  • Resultaten kunnen worden geëxporteerd als rapporten;
  • Voert een groot aantal controles uit op diverse kwetsbaarheden;
  • Parallel scannen van meerdere hosts.

Tegens:

  • Er is geen deduplicatie-algoritme (Acunetix beschouwt pagina's die qua functionaliteit identiek zijn als verschillend, omdat ze naar verschillende URL's leiden), maar de ontwikkelaars werken eraan;
  • Vereist installatie op een aparte webserver, wat het testen van clientsystemen met een VPN-verbinding en het gebruik van de scanner in een geïsoleerd segment van het lokale clientnetwerk bemoeilijkt;
  • De onderzochte dienst kan bijvoorbeeld lawaai maken door te veel aanvalsvectoren naar het contactformulier op de site te sturen, waardoor bedrijfsprocessen aanzienlijk worden gecompliceerd;
  • Het is een propriëtaire en dus geen gratis oplossing.

Webtools, of waar te beginnen als pentester?

Zoeken

Zoeken — een Python-tool voor het bruut forceren van mappen en bestanden op websites.

Voors:

  • Kan echte “200 OK”-pagina’s onderscheiden van “200 OK”-pagina’s, maar met de tekst “pagina niet gevonden”;
  • Wordt geleverd met een handig woordenboek met een goede balans tussen grootte en zoekefficiëntie. Bevat standaardpaden die gebruikelijk zijn voor veel CMS- en technologiestacks;
  • Een eigen woordenboekformaat, waarmee u een goede efficiëntie en flexibiliteit kunt bereiken bij het opsommen van bestanden en mappen;
  • Handige uitvoer - platte tekst, JSON;
  • Het kan throttling uitvoeren: een pauze tussen verzoeken, wat essentieel is voor elke zwakke service.

Tegens:

  • Extensies moeten als een string worden doorgegeven, wat lastig is als u veel extensies tegelijk moet doorgeven;
  • Om uw woordenboek te kunnen gebruiken, moet het enigszins worden aangepast naar het Dirsearch-woordenboekformaat voor maximale efficiëntie.

Webtools, of waar te beginnen als pentester?

wfuzz

wfuzz - Fuzzer voor Python-webapplicaties. Waarschijnlijk een van de bekendste webfasers. Het principe is eenvoudig: met wfuzz kunt u elke plaats in een HTTP-verzoek faseren, waardoor het mogelijk wordt om GET/POST-parameters, HTTP-headers, inclusief Cookie en andere authenticatieheaders, te faseren. Tegelijkertijd is het ook handig voor eenvoudige brute kracht van mappen en bestanden, waarvoor je een goed woordenboek nodig hebt. Ook beschikt het over een flexibel filtersysteem, waarmee je reacties van de website kunt filteren op basis van verschillende parameters, waardoor je effectieve resultaten behaalt.

Voors:

  • Multifunctioneel - modulaire structuur, montage duurt een paar minuten;
  • Handig filter- en fuzzing-mechanisme;
  • U kunt elke HTTP-methode faseren, evenals elke plaats in een HTTP-verzoek.

Tegens:

  • In ontwikkeling.

Webtools, of waar te beginnen als pentester?

ffuf

ffuf — een webfuzzer in Go, gemaakt in de “afbeelding en gelijkenis” van wfuzz, stelt u in staat bestanden, mappen, URL-paden, namen en waarden van GET/POST-parameters, HTTP-headers, inclusief de Host-header, bruut te maken voor brute kracht van virtuele hosts. wfuzz verschilt van zijn broer door hogere snelheid en enkele nieuwe functies. Het ondersteunt bijvoorbeeld woordenboeken in Dirsearch-formaat.

Voors:

  • Filters zijn vergelijkbaar met wfuzz-filters, ze stellen u in staat om brute force flexibel te configureren;
  • Hiermee kunt u HTTP-headerwaarden, POST-verzoekgegevens en verschillende delen van de URL fuzzen, inclusief namen en waarden van GET-parameters;
  • U kunt elke HTTP-methode opgeven.

Tegens:

  • In ontwikkeling.

Webtools, of waar te beginnen als pentester?

gobuster

gobuster — een Go-tool voor verkenning, heeft twee werkingsmodi. De eerste wordt gebruikt om bestanden en mappen op een website brute force te maken, de tweede wordt gebruikt om DNS-subdomeinen brute force te forceren. De tool ondersteunt in eerste instantie geen recursieve opsomming van bestanden en mappen, wat uiteraard tijd bespaart, maar aan de andere kant moet de brute kracht van elk nieuw eindpunt op de website afzonderlijk worden gelanceerd.

Voors:

  • Hoge werkingssnelheid, zowel voor brute force-zoekopdrachten in DNS-subdomeinen als voor brute force-zoekopdrachten in bestanden en mappen.

Tegens:

  • De huidige versie ondersteunt het instellen van HTTP-headers niet;
  • Standaard worden slechts enkele van de HTTP-statuscodes (200,204,301,302,307) als geldig beschouwd.

Webtools, of waar te beginnen als pentester?

Arjun

Arjun - een tool voor brute kracht van verborgen HTTP-parameters in GET/POST-parameters, evenals in JSON. Het ingebouwde woordenboek bevat 25 woorden, die Ajrun in bijna 980 seconden controleert. De truc is dat Ajrun niet elke parameter afzonderlijk controleert, maar ~30 parameters tegelijk controleert en kijkt of het antwoord is veranderd. Als het antwoord is veranderd, verdeelt het deze 1000 parameters in twee delen en controleert welke van deze delen het antwoord beïnvloedt. Met behulp van een eenvoudige binaire zoekopdracht wordt dus een parameter of meerdere verborgen parameters gevonden die het antwoord hebben beïnvloed en daarom kunnen bestaan.

Voors:

  • Hoge snelheid dankzij binair zoeken;
  • Ondersteuning voor GET/POST-parameters, evenals parameters in de vorm van JSON;

De plug-in voor Burp Suite werkt volgens een soortgelijk principe: param-mijnwerker, wat ook erg goed is in het vinden van verborgen HTTP-parameters. We zullen je er meer over vertellen in een aankomend artikel over Burp en zijn plug-ins.
Webtools, of waar te beginnen als pentester?

LinkFinder

LinkFinder — een Python-script voor het zoeken naar links in JavaScript-bestanden. Handig voor het vinden van verborgen of vergeten eindpunten/URL's in een webapplicatie.

Voors:

  • Snel;
  • Er is een speciale plug-in voor Chrome op basis van LinkFinder.

.

Tegens:

  • Onhandige eindconclusie;
  • Analyseert JavaScript niet in de loop van de tijd;
  • Een vrij eenvoudige logica voor het zoeken naar links: als JavaScript op de een of andere manier onduidelijk is, of als de links in eerste instantie ontbreken en dynamisch worden gegenereerd, zal het niets kunnen vinden.

Webtools, of waar te beginnen als pentester?

JSParser

JSParser is een Python-script dat gebruikmaakt van Tornado и JSBeautifier om relatieve URL's uit JavaScript-bestanden te parseren. Zeer handig voor het detecteren van AJAX-verzoeken en het samenstellen van een lijst met API-methoden waarmee de applicatie communiceert. Werkt effectief in combinatie met LinkFinder.

Voors:

  • Snelle parsering van JavaScript-bestanden.

Webtools, of waar te beginnen als pentester?

sqlmap

sqlmap is waarschijnlijk een van de bekendste tools voor het analyseren van webapplicaties. Sqlmap automatiseert het zoeken en bedienen van SQL-injecties, werkt met verschillende SQL-dialecten en heeft een groot aantal verschillende technieken in zijn arsenaal, variërend van regelrechte aanhalingstekens tot complexe vectoren voor tijdgebaseerde SQL-injecties. Bovendien beschikt het over veel technieken voor verdere exploitatie voor verschillende DBMS'en, dus het is niet alleen nuttig als scanner voor SQL-injecties, maar ook als een krachtig hulpmiddel voor het exploiteren van reeds gevonden SQL-injecties.

Voors:

  • Een groot aantal verschillende technieken en vectoren;
  • Laag aantal valse positieven;
  • Veel verfijningsopties, verschillende technieken, doeldatabase, sabotagescripts voor het omzeilen van WAF;
  • Mogelijkheid om uitvoerdump te creëren;
  • Veel verschillende operationele mogelijkheden, bijvoorbeeld voor sommige databases: automatisch laden/verwijderen van bestanden, het verkrijgen van de mogelijkheid om opdrachten uit te voeren (RCE) en andere;
  • Ondersteuning voor directe verbinding met de database met behulp van gegevens verkregen tijdens een aanval;
  • U kunt een tekstbestand indienen met de resultaten van Burp als invoer. U hoeft niet alle opdrachtregelkenmerken handmatig in te vullen.

Tegens:

  • Het is moeilijk om bijvoorbeeld een aantal van uw eigen cheques uit te schrijven, vanwege de schaarse documentatie hiervoor;
  • Zonder de juiste instellingen voert het een onvolledige reeks controles uit, wat misleidend kan zijn.

Webtools, of waar te beginnen als pentester?

GeenSQLMap

GeenSQLMap — een Python-tool voor het automatiseren van het zoeken en exploiteren van NoSQL-injecties. Het is handig om niet alleen in NoSQL-databases te gebruiken, maar ook rechtstreeks bij het controleren van webapplicaties die NoSQL gebruiken.

Voors:

  • Net als sqlmap vindt het niet alleen een potentiële kwetsbaarheid, maar controleert het ook de mogelijkheid van exploitatie ervan voor MongoDB en CouchDB.

Tegens:

  • Ondersteunt NoSQL niet voor Redis, Cassandra, de ontwikkeling is in deze richting aan de gang.

oxml_xxe

oxml_xxe — een tool voor het inbedden van XXE XML-exploits in verschillende soorten bestanden die op een of andere manier het XML-formaat gebruiken.

Voors:

  • Ondersteunt veel gangbare formaten zoals DOCX, ODT, SVG, XML.

Tegens:

  • Ondersteuning voor PDF, JPEG, GIF is niet volledig geïmplementeerd;
  • Creëert slechts één bestand. Om dit probleem op te lossen, kunt u de tool gebruiken document, waarmee een groot aantal payload-bestanden op verschillende plaatsen kan worden gemaakt.

De bovenstaande hulpprogramma's zijn uitstekend geschikt voor het testen van XXE bij het laden van documenten die XML bevatten. Maar onthoud ook dat XML-formaathandlers in veel andere gevallen te vinden zijn. XML kan bijvoorbeeld als gegevensformaat worden gebruikt in plaats van JSON.

Daarom raden we u aan aandacht te besteden aan de volgende repository, die een groot aantal verschillende payloads bevat: PayloadsAllTheThings.

tplmap

tplmap - een Python-tool voor het automatisch identificeren en exploiteren van kwetsbaarheden in server-side template-injectie; het heeft instellingen en vlaggen die vergelijkbaar zijn met sqlmap. Maakt gebruik van verschillende technieken en vectoren, waaronder blinde injectie, en beschikt ook over technieken voor het uitvoeren van code en het laden/uploaden van willekeurige bestanden. Daarnaast heeft hij technieken in zijn arsenaal voor een tiental verschillende template-engines en enkele technieken voor het zoeken naar eval()-achtige code-injecties in Python, Ruby, PHP, JavaScript. Als dit lukt, wordt een interactieve console geopend.

Voors:

  • Een groot aantal verschillende technieken en vectoren;
  • Ondersteunt veel template-rendering-engines;
  • Veel operatietechnieken.

CeWL

CeWL - een woordenboekgenerator in Ruby, gemaakt om unieke woorden van een specifieke website te extraheren, volgt links op de site tot een bepaalde diepte. Het samengestelde woordenboek met unieke woorden kan later worden gebruikt om wachtwoorden op services of bestanden en mappen op dezelfde website bruut te forceren, of om de resulterende hashes aan te vallen met behulp van hashcat of John the Ripper. Handig bij het samenstellen van een “doel”-lijst met potentiële wachtwoorden.

Voors:

  • Makkelijk te gebruiken.

Tegens:

  • U moet voorzichtig zijn met de zoekdiepte om geen extra domein vast te leggen.

Zwakke pass

Zwakke pass - een dienst met veel woordenboeken met unieke wachtwoorden. Uiterst nuttig voor verschillende taken die verband houden met het kraken van wachtwoorden, variërend van eenvoudige online brute kracht van accounts op doelservices tot offline brute kracht van ontvangen hashes met behulp van hasjkat of John The Ripper. Het bevat ongeveer 8 miljard wachtwoorden, variërend van 4 tot 25 tekens lang.

Voors:

  • Bevat zowel specifieke woordenboeken als woordenboeken met de meest voorkomende wachtwoorden - u kunt een specifiek woordenboek kiezen voor uw eigen behoeften;
  • Woordenboeken worden bijgewerkt en aangevuld met nieuwe wachtwoorden;
  • Woordenboeken zijn gesorteerd op efficiëntie. U kunt kiezen voor zowel snel online brute force als een gedetailleerde selectie van wachtwoorden uit een omvangrijk woordenboek met de nieuwste lekken;
  • Er is een rekenmachine die laat zien hoeveel tijd het kost om brute wachtwoorden op uw apparatuur te gebruiken.

Webtools, of waar te beginnen als pentester?

Tools voor CMS-controles willen we graag in een aparte groep opnemen: WPScan, JoomScan en AEM hacker.

AEM_hacker

AEM-hacker is een hulpmiddel voor het identificeren van kwetsbaarheden in Adobe Experience Manager (AEM)-applicaties.

Voors:

  • Kan AEM-applicaties identificeren uit de lijst met URL's die zijn ingediend bij de invoer;
  • Bevat scripts voor het verkrijgen van RCE door een JSP-shell te laden of SSRF te exploiteren.

JoomScan

JoomScan — een Perl-tool voor het automatiseren van de detectie van kwetsbaarheden bij het inzetten van Joomla CMS.

Voors:

  • In staat om configuratiefouten en problemen met administratieve instellingen te vinden;
  • Geeft Joomla-versies en bijbehorende kwetsbaarheden weer, vergelijkbaar voor individuele componenten;
  • Bevat meer dan 1000 exploits voor Joomla-componenten;
  • Uitvoer van eindrapporten in tekst- en HTML-formaten.

Webtools, of waar te beginnen als pentester?

WPScan

WPScan - een tool voor het scannen van WordPress-sites, het heeft kwetsbaarheden in zijn arsenaal, zowel voor de WordPress-engine zelf als voor sommige plug-ins.

Voors:

  • Kan niet alleen onveilige WordPress-plug-ins en thema's weergeven, maar ook een lijst met gebruikers en TimThumb-bestanden ophalen;
  • Kan brute force-aanvallen uitvoeren op WordPress-sites.

Tegens:

  • Zonder de juiste instellingen voert het een onvolledige reeks controles uit, wat misleidend kan zijn.

Webtools, of waar te beginnen als pentester?

Over het algemeen geven verschillende mensen de voorkeur aan verschillende werkinstrumenten: ze zijn allemaal goed op hun eigen manier, en wat de een leuk vindt, past misschien helemaal niet bij de ander. Als je denkt dat we ten onrechte een goed nut hebben genegeerd, schrijf er dan over in de reacties!

Bron: www.habr.com

Voeg een reactie