
Extensión de Burp Suite que mejora Collaborator con captura de contexto, historial de sondeos y autenticación opcional cifrada con AES para implementaciones de servidor privado.
Publicado como código abierto por NCC Group Plc - http://www.nccgroup.com/
Desarrollado por Corey Arthur, [email protected]
http://www.github.com/nccgroup/CollaboratorPlusPlus
Este proyecto se publica bajo AGPL; consulta LICENSE para más información.
Descarga desde las versiones.
Esta herramienta pretende ampliar la funcionalidad de Collaborator existente proporcionada por Burp Suite, ofreciendo una serie de mejoras de calidad de vida y la implementación de un mecanismo de autenticación para asegurar los despliegues privados de Collaborator, manteniendo al mismo tiempo la compatibilidad con todas las extensiones existentes que generan y consultan contextos de Collaborator.
CollaboratorPlusPlus actúa como un proxy entre Burp y el servidor Collaborator configurado, permitiendo la captura de los contextos de Collaborator que utiliza el cliente. CollaboratorPlusPlus puede entonces almacenar y mostrar los contextos observados y sus interacciones recuperadas en una interfaz central. Además, los contextos antiguos pueden consultarse manualmente, lo que permite recuperar interacciones incluso después de que la ventana del cliente de Collaborator se haya cerrado.

Además de la extensión de Burp, el proyecto Collaborator++ también incluye un componente de autenticación opcional del lado del servidor para autenticar las solicitudes de sondeo entrantes antes de pasarlas al servidor Collaborator. Puede ser implementado por los propietarios de servidores privados de Burp Collaborator para restringir el sondeo solo a aquellos que conocen el secreto compartido.
Cuando Burp solicita la lista de interacciones recibidas por el servidor Collaborator, la extensión cifra las solicitudes de sondeo con el esquema de cifrado AES256-CBC, usando el secreto compartido para generar la clave de cifrado. Siempre que el secreto compartido sea correcto, el servidor de autenticación puede descifrar la solicitud y reenviarla al servidor Collaborator para recuperar las interacciones de la instancia de Collaborator correspondiente. La respuesta se cifra entonces con el secreto compartido antes de enviarse de vuelta al cliente de Burp.
Al usar el secreto compartido para cifrar la transmisión entre el cliente de Burp y el servidor de autenticación, no es necesario transmitir el secreto compartido junto con la solicitud, lo que permite mantener la confidencialidad incluso en los casos en los que deba usarse comunicación HTTP entre el cliente y el servidor.
Se han añadido algunos ajustes adicionales a Collaborator Auth para mayor comodidad.
Usar SSL: Alterna el uso de SSL entre el cliente y el servidor. Asegúrate de que tu servidor también esté configurado para usar SSL en el puerto de destino.
Ignorar errores de certificado: Desactiva las comprobaciones de validez del certificado. Permite el uso de certificados autofirmados / caducados.
Habilitar verificación del nombre de host SSL: No comprueba que el nombre de host del certificado coincida con el dominio de destino.
Bloquear servidor Collaborator público: Evita el uso accidental del servidor Collaborator público de Burp. Añade una entrada DNS para "burpcollaborator.net" a 127.0.0.1 en la configuración de resolución de nombres de host de Burp.
java -jar CollaboratorPlusPlus.jar para generar la configuración por defecto.
java -jar CollaboratorPlusPlus.jar YOURCONFIGFILE.propertiesNota: Para permitir solicitudes HTTP y HTTPS al servidor Collaborator++ Auth, crea dos copias del archivo de configuración, configurando una para HTTP y otra para HTTPS, y ejecuta dos instancias del servidor Collaborator++ Auth.
Para habilitar el uso de SSL, genera un certificado para el servidor y usa uno de los siguientes métodos para configurarlo.
Para ambos métodos, asegúrate de que enable_ssl sea true en el archivo de configuración.
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemssl_private_key_path en la ruta de tu clave privada.ssl_certificate_path en la ruta de tu certificado.ssl_intermediate_certificate_path en la ruta de tu certificado intermedio.Este método se añadió puramente por razones de compatibilidad. Recomiendo encarecidamente usar la configuración simple a menos que exista una razón para lo contrario.
ssl_private_key_path en una cadena vacía "".
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 pollingPara evitar el sondeo del servidor Collaborator sin el uso de Collaborator Auth, se debe restringir la ubicación de sondeo de Burp Collaborator.
Esto se puede hacer mediante tu cortafuegos, o modificando la interfaz de escucha para los eventos de sondeo.
Opción 1 - Exigir siempre el uso de Collaborator Auth.
Si deseas obligar a los usuarios de tu instancia de Burp Collaborator a autenticarse independientemente de su red, Burp Collaborator puede configurarse para escuchar eventos de sondeo solo en la máquina local (es decir, desde Collaborator Auth).
Esto se puede hacer cambiando la dirección de escucha de Burp Collaborator para eventos de sondeo a la interfaz de bucle local (127.0.0.1) o usando algo como iptables para descartar solicitudes entrantes.
Opción 2 - Exigir el uso de Collaborator Auth solo en redes externas.
Para permitir que Burp Collaborator se use con normalidad cuando se está en la misma red que el servidor, pero exigir Collaborator Auth cuando se use desde una red externa, Burp Collaborator puede configurarse para escuchar eventos de sondeo desde direcciones internas.
Esto se puede hacer cambiando la dirección de escucha de Burp Collaborator para eventos de sondeo a la dirección interna del servidor (192.168.x.x, 10.x.x.x, etc.).
Para asegurar que Burp Collaborator no procese eventos de sondeo externos, se debe bloquear el puerto de sondeo en el cortafuegos orientado a Internet. Alternativamente, usa iptables para descartar el tráfico entrante desde redes externas.
java -jar CollaboratorAuth-SERVER.jar CollaboratorServer.properties