
Burp-Suite-Erweiterung, die Collaborator um Kontexterfassung, Polling-Verlauf und optionale AES-verschlüsselte Authentifizierung für private Serverbereitstellungen erweitert.
Als Open Source veröffentlicht von NCC Group Plc - http://www.nccgroup.com/
Entwickelt von Corey Arthur, [email protected]
http://www.github.com/nccgroup/CollaboratorPlusPlus
Dieses Projekt wird unter der AGPL veröffentlicht; weitere Informationen finden Sie in der LICENSE.
Download aus den Releases hier.
Dieses Tool soll die vorhandene Collaborator-Funktionalität von Burp Suite erweitern, indem es eine Reihe von Komfortfunktionen sowie die Implementierung eines Authentifizierungsmechanismus zur Absicherung privater Collaborator-Bereitstellungen bietet, während es weiterhin mit allen vorhandenen Erweiterungen kompatibel ist, die Collaborator-Kontexte erzeugen und abfragen.
CollaboratorPlusPlus fungiert als Proxy zwischen Burp und dem konfigurierten Collaborator-Server und ermöglicht die Erfassung der vom Client verwendeten Collaborator-Kontexte. CollaboratorPlusPlus kann die beobachteten Kontexte und deren abgerufene Interaktionen anschließend in einer zentralen Oberfläche speichern und anzeigen. Darüber hinaus können alte Kontexte manuell abgefragt werden, sodass Interaktionen auch dann abgerufen werden können, nachdem das Collaborator-Clientfenster geschlossen wurde.

Zusätzlich zur Burp-Erweiterung enthält das Collaborator++-Projekt auch eine optionale serverseitige Authentifizierungskomponente, um eingehende Polling-Anfragen zu authentifizieren, bevor sie an den Collaborator-Server weitergeleitet werden. Dies kann von Besitzern privater Burp-Collaborator-Server eingesetzt werden, um das Polling auf diejenigen zu beschränken, die das gemeinsame Geheimnis kennen.
Wenn Burp die Liste der vom Collaborator-Server empfangenen Interaktionen anfordert, verschlüsselt die Erweiterung die Polling-Anfragen mit dem AES256-CBC-Verschlüsselungsschema, wobei das gemeinsame Geheimnis zur Erzeugung des Verschlüsselungsschlüssels verwendet wird. Vorausgesetzt, das gemeinsame Geheimnis ist korrekt, kann der Authentifizierungsserver die Anfrage entschlüsseln und an den Collaborator-Server weiterleiten, um die Interaktionen für die jeweilige Collaborator-Instanz abzurufen. Die Antwort wird dann mit dem gemeinsamen Geheimnis verschlüsselt, bevor sie an den Burp-Client zurückgesendet wird.
Dadurch, dass das gemeinsame Geheimnis zur Verschlüsselung der Übertragung zwischen Burp-Client und Authentifizierungsserver verwendet wird, muss es nicht zusammen mit der Anfrage übertragen werden. So kann die Vertraulichkeit selbst dann gewahrt bleiben, wenn zwischen Client und Server HTTP-Kommunikation verwendet werden muss.
Der Einfachheit halber wurden Collaborator Auth einige zusätzliche Einstellungen hinzugefügt.
SSL verwenden: Schaltet die Verwendung von SSL zwischen Client und Server um. Stellen Sie sicher, dass Ihr Server auf dem Zielport ebenfalls für SSL konfiguriert ist.
Zertifikatsfehler ignorieren: Deaktiviert die Gültigkeitsprüfung von Zertifikaten. Ermöglicht die Verwendung selbstsignierter / abgelaufener Zertifikate.
SSL-Hostnamen-Überprüfung aktivieren: Prüft nicht, ob der Hostname des Zertifikats mit der Zieldomäne übereinstimmt.
Öffentlichen Collaborator-Server blockieren: Verhindert die versehentliche Nutzung des öffentlichen Burp-Collaborator-Servers. Fügt in Burps Hostnamen-Auflösungskonfiguration einen DNS-Eintrag für "burpcollaborator.net" auf 127.0.0.1 hinzu.
java -jar CollaboratorPlusPlus.jar aus, um die Standardkonfiguration zu erzeugen.
java -jar CollaboratorPlusPlus.jar YOURCONFIGFILE.propertiesHinweis: Um HTTP- und HTTPS-Anfragen an den Collaborator++-Auth-Server zu ermöglichen, erstellen Sie zwei Kopien der Konfigurationsdatei, konfigurieren Sie eine für HTTP und eine für HTTPS und führen Sie zwei Instanzen des Collaborator++-Auth-Servers aus.
Um SSL verwenden zu können, erzeugen Sie ein Zertifikat für den Server und konfigurieren Sie den Server mit einer der folgenden Methoden.
Stellen Sie bei beiden Methoden sicher, dass enable_ssl in der Konfigurationsdatei true ist.
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemssl_private_key_path auf den Pfad Ihres privaten Schlüssels.ssl_certificate_path auf den Pfad Ihres Zertifikats.ssl_intermediate_certificate_path auf den Pfad Ihres Zwischenzertifikats.Diese Methode wurde rein aus Kompatibilitätsgründen hinzugefügt. Ich empfehle dringend, die einfache Konfiguration zu verwenden, sofern es keinen Grund dagegen gibt.
ssl_private_key_path auf einen leeren String "".
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemopenssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -out polling.p12 -name pollingkeytool -importkeystore -deststorepass NEW_PASSWORD_FOR_KEYSTORE -destkeypass NEW_PASSWORD_FOR_PRIVATE_KEY \
-destkeystore polling.jks -srckeystore polling.p12 -srcstoretype PKCS12 \
-srcstorepass PASS_FROM_PREVIOUS_STEP -alias pollingjava -jar CollaboratorAuth-SERVER.jar CollaboratorServer.propertiesUm das Polling des Collaborator-Servers ohne die Verwendung von Collaborator Auth zu verhindern, muss der Polling-Ort von Burp Collaborator eingeschränkt werden.