Hier zeigen wir verständlich und anschaulich auf, welche Schritte in der Konfiguration nötig sind, um mit Burp sämtlichen HTTP Verkehr abzufangen und da recht wenige Webapplikationen heut zu Tage noch unverschlüsselt kommunizieren, erklären wir in diesem Artikel auch, wie man ganz einfach HTTPS Traffic „intercepten“ (abfangen) und mitlesen kann.
Um die Konfiguration von Burp und des Webbrowsers zu demonstrieren, verwende ich Firefox in seiner aktuellen Version 61.0.2 und die Burp Suite Professional, wobei sich letztere bezüglich der Grundeinstellungen natürlich nicht von der kostenlosen Variante unterscheidet.
Der Proxy
Ist Burp einmal gestartet (gerne als temporäres Projekt mit den default Einstellungen), findet man unter dem Reiter „Proxy“ die Optionen. Dort lässt sich der „Proxy Listener“ einstellen.
Da es sich bei Burp nicht um die Art Proxy handelt, die irgendwo in China steht um unsere geografische IP zu verbergen, sondern um einen lokal gehosteten Proxy, wird als IP an dieser Stelle auf den localhost (sich selbst) verwiesen: 127.0.0.1, Port 8080. Im Normalfall ist diese IP dort auch schon eingetragen. Sollte der Client jedoch auf einem anderen Gerät laufen, z.B. dem Handy oder einer virtuellen Maschine, so muss hier die entsprechende IP beim Listener angepasst werden.
Burp ist darauf ausgelegt mit einem Webbrowser zusammen verwendet zu werden, so dass man wie gewohnt surfen kann und währenddessen in Burp Pakete mitschneiden, analysieren und ggf. auch manipulieren kann. Schritt zwei ist demnach die Konfiguration des Webbrowsers.
Aktuell findet man die Proxy Einstellungen bei Firefox Quantum unter „Menü -> Einstellungen -> Allgemein -> (einmal ganz nach unten gescrollt) Netzwerk-Proxy“.
Hier wird festgelegt, „welchen Weg“ Firefox ins Internet nehmen soll – da Burp zwischen Webbrowser und Internet agieren soll, nutzt man die „manuelle Proxy-Konfiguration“ um auch hier wieder auf das (lokal gehostete) Burp über Port 8080 zu verweisen, also wieder 127.0.0.1:8080.
Der Proxy sollte hier für alle Protokolle aktiviert werden, des Weiteren sollte die Voreinstellung („localhost, 127.0.0.1“) im Feld „Kein Proxy für:“ gelöscht werden (dies ist wichtig, falls man lokal gehostete Anwendungen testen möchte.) Für fortgeschrittene Nutzer empfehle ich ein Plugin wie FoxyProxy – hiermit lässt sich bequem zwischen unterschiedlichen Proxies wählen, ebenso geht das ein- und ausklinken von Burp angenehmer und schneller.
An dieser Stellte kann man gerne einmal Securai.de oder jede andere Seite (solange Sie HTTPS verwendet) aufrufen.
Sollte man nun eine Fehlermeldung im Browser angezeigt bekommen, hat man alles richtig gemacht und Burp wird sich durch diverse, aufleuchtende Tabs bemerkbar machen.
Zuerst zu Burp: Standartmäßig ist hier die Funktion „Proxy -> Intercept“ aktiv, eines der wichtigsten Tools von Burp – es hält hiermit jedes Datenpaket an und pausiert dadurch den Traffic, um dem Nutzer zu ermöglichen jedes Paket einzeln zu inspizieren, was speziell beim Pentesting natürlich Gold wert ist. Im Moment sollte es jedoch durch einen Klick auf „Intercept is on“ deaktiviert werden.
Das Zertifikat
Nun zum Browser: Man kann davon ausgehen, dass – trotz der Fehlermeldung, Securai.de nicht falsch konfiguriert ist. Aber der Browser versucht mit der Website gesichert, über HTTPS, zu kommunizieren und Burp stellt dabei als Man-in-the-Middle nun natürlich ein Problem dar. Zu guter Letzt muss man seinem Browser also beibringen, dass er dem Proxy vertrauen kann. Dies geschieht durch ein Zertifikat.
Mit laufendem Burp und dem korrekt eingestellten Proxy samt Port ruft man nun einfach über seinen Webbrowser http://burp auf. Hierbei ist es wichtig nicht auf das „http://“ zu verzichten, da Firefox sonst in den meisten Fällen versuchen wird die Anfrage „Burp“ an die voreingestellte Suchmaschine weiterzugeben – was natürlich wieder zu einer Fehlermeldung führen würde.
Hier kann man über den Button „CA Certificate“ das Zertifikat von Portswiggers Burp herunterladen, was dem Browser (einmal installiert) vermitteln wird, dass Burp vertrauenswürdig ist – und damit berechtigt, HTTPS (Transport-)verschlüsselte Datenpakete zu empfangen und weiterzuleiten.
Das Zertifikat „cacert.der“ kann auch über den einen Assistenten installiert werden, ich werde hier jedoch kurz die manuelle Installation erläutern:
In Firefox gelangt man abermals über „Menü -> Einstellungen“ unter „Datenschutz & Sicherheit“ ganz unten an die Zertifikatverwaltung („Zertifikate anzeigen“). Im Reiter „Zertifizierungsstellen“ kann man über den Button „Importieren“ den Ort auswählen, an dem man das cacert.der gespeichert hat.
An dieser Stelle kommt die Frage auf, ob man der neuen Zertifizierungsstelle (Certificate Authority-> CA) vertrauen möchte.
Nachdem man den Haken gesetzt und auf OK geklickt hat, kann es endlich losgehen!
Der Proxy ist nun korrekt konfiguriert und einsatzbereit – Securai.de und jede andere Seite die über HTTP(S) kommuniziert, wird sich nun wieder wie gewohnt aufrufen lassen, mit dem feinen Unterschied, dass man nun jedes Bit der HTTP(S) Kommunikation mitlesen kann.
Burp ist ein äußert umfangreiches Tool, das anfangs ein wenig unübersichtlich und verwirrend sein kann, ungefiltert sammelt man außerdem in kürzester Zeit unglaubliche Mengen an größtenteils nutzlosen Daten beim surfen an. Wie man das Chaos in den Griff bekommt und ganz gezielt manip… ahem… analysiert, erklären wir dann in einem der folgenden Artikel!
Wir wünschen euch viel Spaß beim ausprobieren!