
Estensione Burp Suite che potenzia Collaborator con acquisizione del contesto, cronologia dei polling e autenticazione facoltativa crittografata AES per deployment su server privati.
Rilasciato come open source da NCC Group Plc - http://www.nccgroup.com/
Sviluppato da Corey Arthur, [email protected]
http://www.github.com/nccgroup/CollaboratorPlusPlus
Questo progetto è rilasciato sotto AGPL, vedere LICENSE per maggiori informazioni
Scarica le release qui.
Questo strumento mira a estendere le funzionalità Collaborator esistenti fornite da Burp Suite, offrendo una serie di funzioni che migliorano la qualità della vita (quality of life) e l'implementazione di un meccanismo di autenticazione per proteggere le installazioni private di Collaborator, pur rimanendo compatibile con tutte le estensioni esistenti che generano e interrogano i contesti Collaborator.
CollaboratorPlusPlus agisce come proxy tra Burp e il server Collaborator configurato, consentendo la cattura dei contesti Collaborator utilizzati dal client. CollaboratorPlusPlus può quindi memorizzare e visualizzare i contesti osservati e le relative interazioni recuperate in un'interfaccia centrale. Inoltre, i vecchi contesti possono essere interrogati manualmente, consentendo di recuperare le interazioni anche dopo la chiusura della finestra del client Collaborator.

Oltre all'estensione Burp, il progetto Collaborator++ include anche un componente di autenticazione lato server opzionale per autenticare le richieste di polling in arrivo prima di inoltrarle al server Collaborator. Può essere implementato dai proprietari di server Burp Collaborator privati per limitare il polling solo a coloro che conoscono il segreto condiviso.
Quando Burp richiede l'elenco delle interazioni ricevute dal server Collaborator, l'estensione crittografa le richieste di polling con lo schema di crittografia AES256-CBC, utilizzando il segreto condiviso per generare la chiave di crittografia. Se il segreto condiviso è corretto, il server di autenticazione è in grado di decrittare la richiesta e inoltrarla al server Collaborator per recuperare le interazioni per la data istanza di Collaborator. La risposta viene quindi crittografata con il segreto condiviso prima di essere inviata al client Burp.
Utilizzando il segreto condiviso per crittografare la trasmissione tra il client Burp e il server di autenticazione, il segreto condiviso non deve essere trasmesso insieme alla richiesta, consentendo di mantenere la riservatezza anche nei casi in cui sia necessario utilizzare la comunicazione HTTP tra client e server.
Alcune impostazioni aggiuntive sono state aggiunte a Collaborator Auth per comodità.
Usa SSL: Attiva/disattiva l'uso di SSL tra client e server. Assicurati che anche il server sia configurato per utilizzare SSL sulla porta di destinazione.
Ignora errori di certificato: Disabilita i controlli di validità dei certificati. Consente l'uso di certificati autofirmati / scaduti.
Abilita verifica hostname SSL: Non controllare che l'hostname del certificato corrisponda al dominio di destinazione.
Blocca server Collaborator pubblico: Impedisce l'uso accidentale del server Burp Collaborator pubblico. Aggiunge una voce DNS per "burpcollaborator.net" a 127.0.0.1 nella configurazione di risoluzione hostname di Burp.
java -jar CollaboratorPlusPlus.jar per generare la configurazione predefinita.
java -jar CollaboratorPlusPlus.jar YOURCONFIGFILE.propertiesNota: Per consentire richieste HTTP e HTTPS al server Collaborator++ Auth, crea due copie del file di configurazione, configurandone una per HTTP e una per HTTPS, ed esegui due istanze del server Collaborator++ Auth.
Per abilitare l'uso di SSL, genera un certificato per il server e utilizza uno dei metodi seguenti per configurarlo.
Per entrambi i metodi, assicurati che enable_ssl sia true nel file di configurazione.
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemssl_private_key_path sul percorso della tua chiave privata.ssl_certificate_path sul percorso del tuo certificato.ssl_intermediate_certificate_path sul percorso del tuo certificato intermedio.Questo metodo è stato aggiunto esclusivamente per motivi di compatibilità. Consiglio vivamente di utilizzare la configurazione semplice a meno che non ci sia un motivo per fare diversamente.
ssl_private_key_path su una stringa vuota "".
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 pollingPer impedire il polling del server Collaborator senza l'uso di Collaborator Auth, l'endpoint di polling di Burp Collaborator deve essere limitato.
Questo può essere fatto usando il firewall o modificando l'interfaccia di ascolto per gli eventi di polling.
Opzione 1 - Richiedi sempre l'uso di Collaborator Auth.
Se desideri obbligare gli utenti della tua istanza Burp Collaborator ad autenticarsi indipendentemente dalla loro rete, Burp Collaborator può essere configurato per ascoltare gli eventi di polling solo sulla macchina locale (cioè da Collaborator Auth).
Questo può essere fatto cambiando l'indirizzo di ascolto di Burp Collaborator per gli eventi di polling sull'interfaccia di loopback (127.0.0.1) o usando qualcosa come iptables per scartare le richieste in arrivo.
Opzione 2 - Richiedi l'uso di Collaborator Auth solo su reti esterne.
Per consentire a Burp Collaborator di essere usato normalmente quando ci si trova nella stessa rete del server, ma richiedere l'uso di Collaborator Auth quando si è su una rete esterna, Burp Collaborator può essere configurato per ascoltare gli eventi di polling dagli indirizzi interni.
Questo può essere fatto cambiando l'indirizzo di ascolto di Burp Collaborator per gli eventi di polling sull'indirizzo interno del server (192.168.x.x, 10.x.x.x, ecc.).
Per garantire che gli eventi di polling esterni non vengano elaborati da Burp Collaborator, la porta di polling dovrebbe essere bloccata sul firewall rivolto verso Internet. In alternativa, usa iptables per scartare il traffico in arrivo da reti esterne.
java -jar CollaboratorAuth-SERVER.jar CollaboratorServer.properties