
Burp Suite-Erweiterung zur Durchführung der Kerberos-Authentifizierung
Als Open Source veröffentlicht von NCC Group Plc - http://www.nccgroup.trust/
Entwickelt von Richard Turnbull, richard [dot] turnbull [at] nccgroup [dot] com
http://www.github.com/nccgroup/Berserko
Veröffentlicht unter der AGPL, siehe LICENSE für weitere Informationen
Die weitere Entwicklung von Berserko findet unter https://github.com/rteatea/Berserko statt
Berserko ist eine Burp-Erweiterung, die Unterstützung für die Durchführung der Kerberos-Authentifizierung hinzufügt. Dies ist beim Testen in einer Windows-Domäne nützlich, wenn die NTLM-Authentifizierung nicht unterstützt wird (Burp behandelt NTLM bereits). Berserko erfordert nicht, dass der Rechner, auf dem Burp läuft, in einer Domäne angemeldet ist (oder dass darauf überhaupt Windows läuft).
Die einzige uns derzeit bekannte Lösung zum Testen von Kerberos-Anwendungen mit Burp besteht darin, eine Proxy-Kette über Fiddler einzurichten, wobei die Authentifizierung gemäß diesen Anweisungen eingerichtet wird. Aber Fiddler ist nur für Windows verfügbar, und das Bilden von Proxy-Ketten erhöht die Komplexität und beeinträchtigt die Leistung. Daher ist es schön, die Kerberos-Fähigkeit direkt in Burp zu haben.
Laden Sie die neueste Berserko-JAR-Datei vom Tab Releases oder aus dem Ordner berserko\releases herunter.
Gehen Sie in Burp zum Tab Extender, wählen Sie Add, stellen Sie sicher, dass als Extension type Java ausgewählt ist, und wählen Sie dann die JAR-Datei aus. Wenn alles gut geht, sollte der Tab Berserko zur Burp-Benutzeroberfläche hinzugefügt werden.
Auf dem Tab Berserko in Burp gibt es verschiedene Bedienelemente.
Das Kontrollkästchen Do Kerberos authentication ist ein Hauptschalter. Bis es aktiviert ist, tut Berserko überhaupt nichts.
Die Schaltfläche Restore defaults setzt Berserko auf die Standardkonfiguration zurück (in der keine Domänendetails oder Benutzeranmeldeinformationen vorhanden sind).
Die Schaltfläche Clear Kerberos state löscht alle Kerberos-Tickets und anderen Zustand auf dem Client. Der einzige Grund, dies zu verwenden, wäre, wenn Änderungen an der Kerberos-Konfiguration auf der Serverseite vorgenommen wurden und Sie von einem sauberen Zustand aus starten möchten.
Die Schaltfläche Write tickets to log schreibt Informationen über Ihre aktuellen Kerberos-Tickets in den Log-Stream von Berserko - das kann beim Debuggen/Beheben von Problemen nützlich sein. Um die Logs zu sehen, gehen Sie zum Tab Extender in Burp, wählen Sie Berserko aus und sehen Sie sich den darunterliegenden Tab Output an. Es kann sinnvoll sein, hier die Option Save to file zu verwenden, da die Ticketdaten den Log-Puffer in der GUI leicht füllen können.
Einige Bedienelemente haben eine Hilfe-Schaltfläche, die weitere Informationen einblendet.
Geben Sie mit den Bedienelementen in diesem Abschnitt den Domain DNS Name und den KDC Host an. Die Textfelder können nicht direkt bearbeitet werden; zum Ändern müssen Sie die Schaltfläche 'Change' verwenden.
Der Domain DNS Name sollte der DNS-Name der Domäne sein, gegen die Sie sich authentifizieren möchten (genauer gesagt ist dies eigentlich das Kerberos-Realm). Dies sollte etwa mydomain.acme.local sein. Es sollte nicht der NETBIOS-Name der Domäne sein (der etwa MYDOMAIN wäre).
Der KDC Host sollte der Hostname (oder die IP-Adresse) eines Kerberos-KDC (Key Distribution Center) sein. In einer Windows-Domäne ist ein KDC einfach ein Domänencontroller.
Nachdem Sie den Domain DNS Name angegeben haben, können Sie mit der Schaltfläche Auto versuchen, einen KDC automatisch zu finden. Dies geschieht durch das Senden einer DNS-SRV-Abfrage für den Kerberos-Dienst. Wenn einer Ihrer DNS-Server ein Domänencontroller für die richtige Domäne ist, sollte dies funktionieren. Wenn nicht, funktioniert es nicht. ❗Diese Funktion funktioniert in neueren Versionen von Burp nicht, da die erforderlichen DNS-Bibliotheken nicht im gebündelten JRE enthalten sind. Sie können dies umgehen, indem Sie mit einem vollständigen JRE starten, wie oben in dieser README beschrieben.❗
Wenn der Domain DNS Name und der KDC Host eingegeben wurden, testen Sie mit der Schaltfläche Test domain settings die Konnektivität. Wenn alles gut geht, erhalten Sie eine Antwort Successfully contacted Kerberos service.
Weitere Informationen zum Ermitteln der richtigen Werte für diese Domäneneinstellungen finden Sie in dieser Datei.
Geben Sie mit den Bedienelementen in diesem Abschnitt den Benutzernamen und das Passwort für ein Domänenkonto an. Die Textfelder können nicht direkt bearbeitet werden; zum Ändern müssen Sie die Schaltfläche 'Change' verwenden.
Der Username sollte nur der einfache Benutzername sein. Dies sollte etwa bob sein. Er sollte nicht MYDOMAIN\bob oder [email protected] oder ähnlich sein.
Nachdem Sie die Anmeldeinformationen angegeben haben, können Sie die Schaltfläche Test credentials verwenden. Dabei wird versucht, ein Kerberos-Ticket-Granting-Ticket für den angegebenen Benutzer zu erwerben. Bei Erfolg erhalten Sie eine Antwort TGT successfully acquired. Wenn es nicht erfolgreich ist, beachten Sie, dass dies ein Domänenauthentifizierungsversuch ist; seien Sie also vorsichtig, Ihr Konto nicht zu sperren.
Das Passwort wird nicht für das nächste Mal in der Berserko-Konfiguration gespeichert, es sei denn, das Kontrollkästchen Save password in Burp config? ist aktiviert. Alle anderen Einstellungen werden jedoch gespeichert.