Burp Suite Pro Features
In een eerdere post (https://jarnobaselier.nl/burp-suite-webapp-security-tester/) hebben we al eens gekeken naar de basis features van Burp Suite van PortSwigger. Omdat BurpSuite een onmisbare tool is tijdens het testen van webapps wil ik graag een aantal commerciële features wat beter toelichten. De Community Edition van Burp Suite kent prachtige manuele tools waarvan de proxy toch een centrale plaats inneemt binnen de tool. De Burp Suite Pro kent naast de essentiële manuele tools ook een fantastische web vulnerability scanner en advanced manual tools. Test je regelmatig Web-based applicaties van is Burp Suite Pro een must-have!
Naar de Burp Suite Pro versie is er ook nog een Enterprise versie van Burp Suite. Deze heeft niet de manuele tools maar wel de web vulnerability scanner, scheduled scans en CI integratie. Wij focussen ons als individuele tester dus op Burp Suite Pro! Laten we eens wat features gaan bekijken:
De eerste feature die ik graag wil bespreken is de “scope” optie. Dit is niet een Pro-only feature maar wel een die belangrijk genoeg is om te noemen. Door je scope te bepalen kun je ervoor zorgen dat de proxy alleen verkeer analyseert (toevoegt aan de sitemap) en intercept (als deze feature aan staat) van de site(s) die zich binnen de scope bevinden. Je scope bepaal je door naar “Target” – “Scope” te gaan. Hier vul je de items in die tot de scope behoren of die expliciet niet tot de scope behoren (en je dus alles behalve de blacklist wilt analyseren).
Nadat je de scope opties geselecteerd hebt ben je nog niet klaar. Om de scope te activeren ga je naar “Proxy” – “Options” en hier selecteer je bij de “Intercept Client Requests” en “Intercept Server Responses” de box “And – URL – In in target scope”:
Dan nu meteen de eerste feature die de licentie voor BurpSuite Pro wat mij betreft meteen rechtvaardigt. Dat is de Web Vulnerability Scanner. Deze vulnerability scanner is een “active” scanner wat betekend dat het verkeer niet alleen opgevangen en geanalyseerd wordt zoals met een passieve scanner maar dat er ook requests verstuurd worden. Binnen Burp Suite Pro kun je op verschillende manieren scannen. De meest gebruikelijke manier is via de Site Map. Door rechts te klikken op een item kun je ervoor kiezen om het item te scannen of om het item en alle onderliggende items te scannen (Actively Scan This Branch). Door op de root te klikken en te kiezen voor “Do Active Scan” scan je simpelweg de hele website.
Nadat je gekozen hebt om een scan uit te voeren krijg je de keuze om de selectie te fine-tunen door duplicates , items met geen parameter of eerder gescande items uit de scan te laten.
Het mooie van de pro versie is dat je de resultaten kunt zien en analyseren op het moment dat deze gevonden worden. Je hoeft dus niet te wachten tot de scanner klaar is. Om dit aan te zetten schakel je de “Live Passive Crawl” en “Live Audit from proxy” aan op het Dashboard tab. Alle gevonden resultaten zie je dan meteen in het “Issue Activity” venster.
De Burp Suite Web Application Scanner is een zeer degelijke scanner die zich kan meten met de top-scanners op de markt. “Wed nooit op 1 paard” …. maar dit is zeker een zeer goede start!
Wanneer er resultaten gevonden zijn worden deze in de sitemap weergegeven. Resultaten worden weergegeven per branch of item (afhankelijk waar je op klikt). Resultaten zijn soms ingeklapt. Klap deze dan uit om de volledige bevindingen te lezen.
Wat extra handig is, is dat een request ook meteen doorgestuurd kan worden naar de Burp Suite Repeater om nader te onderzoeken. Elke gevonden vulnerability krijgt een “Severety” score om aan te geven hoe ernstig de vulnerability is als deze geëxploiteerd kan worden. De “Confidence” score geeft aan hoe zeker Burp Suite ervan is dat de vulnerability uitgebuit kan worden. Een “confidence” score van “certain” wil dus zeggen dat de gevonden vulnerability 100% zeker en bijna altijd automatisch uitgebuit kan worden. Lagere scores vereisen vaak wat handmatig werk of uit te kunnen buiten. Hoe lager de score des te minder zeker de kans is dat de vulnerability te misbruiken is. De scan resultaten kunnen via “Issues” – “Report Issues” (rechts klikken op het item) geëxporteerd worden naar een HTML en XML formaat.
Burp Suite Pro gebruikers genieten naast krachtigere tools ook van eerdere updates en de mogelijkheid om je Burp sessie te bewaren zodat later een actieve sessie meteen hervat kan worden. De Burp Suite Intruder functioneert ook een stuk sneller dan de Intruder van de community editie. Maar voor de community editie is er een “Turbo Intruder” applicatie. Echter als we kijken naar de additionele applicaties (plugins) in de Externder BStore dan zie je dat niet elke plugin gratis is en dat sommige alleen gebruikt kunnen worden binnen Burp Suite Pro. Dit geeft de Pro gebruiker nog meer voordelen t.o.v. de community gebruiker.
Een andere belangrijke feature van Burp Suite is de “Intruder”. De Burp Intruder maakt het mogelijk om delen uit een request te markeren zodat het variabelen worden welke de intruder kan gebruiken om op die manier de geselecteerde variabelen te brute-forcen (het uitproberen van verschillende combinaties op de plek van de variabelen). De Pro versie geeft de gebruiker de mogelijkheid om payload opties te selecteren uit een pre-gedefinieerde lijst.
De Pro gebruiker krijgt daarnaast de beschikking over de Burp Suite Infiltrator en de Burp Suite Collabortor tools.
Burp Collaborator is een speciale netwerkdienst welke Burp Suite Pro gebruikt om vele soorten kwetsbaarheden te helpen ontdekken en met name om “de andere kant” te kunnen monitoren en issues te kunnen detecteren die anders niet terug gerapporteerd zouden worden. Sommige op injectie gebaseerde vulnerabilities kunnen worden gedetecteerd met behulp van payloads die een interactie met een extern systeem veroorzaken wanneer een succesvolle injectie plaatsvindt. Zo kunnen sommige Blind-SQL injection vulnerabilities worden gedetecteerd met behulp van payloads die een externe interactie veroorzaken wanneer ze in een SQL-query worden geïnjecteerd.
Sommige kwetsbaarheden ontstaan wanneer een toepassing kan worden geïnduceerd om inhoud op te halen van een extern systeem en deze op de een of andere manier te verwerken. De applicatie kan bijvoorbeeld de inhoud van een opgegeven URL ophalen en opnemen in zijn eigen antwoord.
Wanneer de Burp Collaborator wordt gebruikt stuurt Burp payloads naar een gecontroleerde applicatie welke ontworpen is om interacties met de collaborator-server te veroorzaken wanneer bepaalde kwetsbaarheden of gedragingen optreden. Burp controleert periodiek de collaborator-server om te bepalen of een van de payloads interacties heeft veroorzaakt:
Burp Collaborator wordt gebruikt door de Burp Scanner en de handmatige Burp Collaborator-client en kan ook worden gebruikt door de Burp Extender API. Burp Collaborator werkt als volgt:
De Burp Collaborator is een server die aangepaste implementaties van verschillende netwerkdiensten biedt. Zo gebruikt deze servers zijn eigen specifieke domeinnaam en is geregistreerd als de gezaghebbende DNS-server voor dit domein. De collaborator biedt een DNS-service die elke zoekopdracht op het geregistreerde domein (of subdomeinen) beantwoordt met een eigen IP-adres. Daarnaast heeft deze server een actieve HTTP / HTTPS-service en gebruikt deze een geldig, door de CA ondertekend, wildcard TLS-certificaat voor zijn domeinnaam. Ook biedt het een SMTP / SMTPS-service.
Burp Infiltrator is een tool welke een applicatie aan kan passen zodat Burp events kan detecteren waarin de invoer vanuit de applicatie wordt doorgegeven aan mogelijk onveilige API’s. De Burp Infiltrator ondersteunt applicaties geschreven Java, Groovy, Scala of andere JVM-talen (JRE versies 1.4 – 1.8), C #, VB en andere .NET-talen (.NET-versies 2.0 en hoger) en werkt samen met de Burp Collaborator”.
De Burp Suite Infiltrator werkt als volgt:
- Allereerst exporteer je vanuit Burp Suite Pro een Burp Infiltrator-installatieprogramma.
- Vervolgens installeer jij, de applicatieontwikkelaar of beheerder deze Burp Infiltrator-tool door deze uit te voeren op de machine die de applicatie (byte)code bevat.
- Burp Infiltrator patcht de bytecode van de applicatie zodat Burp Infiltrator zogenaamde “Instrumentation Hooks” kan injecteren op locaties waar potentieel onveilige API’s worden aangeroepen.
- Nu wordt de applicatie op de gebruikelijke manier gestart, met de gepatchte bytecode.
- Nu wordt de applicatie op een normale manier door Burp Suite Pro gescand.
- Wanneer de applicatie een potentieel onveilige API aanroept inspecteert de instrumentation hook de relevante parameters van de API. Van alle Burp-payloads die Burp Collaborator-domeinen bevatten worden fingerprints verzameld op basis van hun unieke structuur.
- Nu muteert de instrumentation hook het gedetecteerde Burp Collaborator-domein om een ID van de opgeroepen API op te nemen.
- De instrumentation hook voert een DNS zoekquery uit vanuit het gemuteerde Burp Collaborator-domein.
- Op basis van de ingestelde configuratieopties zal de instrumentation hook optioneel een HTTP(S) verzoek naar het gemuteerde Burp Collaborator-domein sturen (inclusief de volledige waarde van de relevante parameter en de applicatie-aanroepstack).
- Burp peilt de “collaborator-server” op de normale manier om details op te halen van alle collaborator-interacties die zijn opgetreden als gevolg van de scan-payloads. Details van alle interacties die zijn uitgevoerd door de Burp Infiltrator-instrumentatie worden teruggestuurd naar Burp.
- Aan de gebruiker wordt doorgegeven dat het specifieke invoeritem door de applicatie wordt doorgegeven aan een mogelijk onveilige API en genereert een info-type finding. Als voor hetzelfde probleem ander bewijs werd gevonden (op basis van in-bandgedrag of andere collaborator-interacties), wordt dit bewijs samengevoegd tot één event.
Burp Suite Pro kost +/- 350 euro per jaar en eerlijk gezegd is hij zijn geld meer dan waard. De grootste toevoeging van Burp Suite Pro is uiteraard de mogelijkheid om actief te kunnen scannen naar vulnerabilities en te werken met de rapportage die Burp vervolgens genereert. Dit alleen is zijn aanschafprijs meer dan waard. De mogelijkheid om ook andere tools zoals de Burp Collaborator en Infiltrator te kunnen gebruiken zijn daarbij absoluut meegenomen. Neem daarnaast het feit dat je over extra plugins kunt beschikken en de kleine extra’s zoals het opslaan van sessies en het kunnen gebruiken van pre-defined lists maakt Burp Suite Pro tot een prachtig complete tool.
Hopelijk heb ik je in deze post wat inzicht kunnen geven in de eigenschappen en mogelijke extra’s die Burp Suite Pro je geeft t.o.v. de Burp Suite community editie. Vond je deze post interessant of leuk om te lezen… laat het me s.v.p. even weten! Een leuk berichtje of like is al voldoende. Wil je daarna mijn bericht nog verder delen dan zou dat helemaal fantastisch zijn… want daarmee help je me echt!! ♥ Alvast ontzettend bedankt! ♥