
Una herramienta para analizar el flujo de red durante competiciones Capture the Flag de ataque/defensa.
caronte$Caronte es una herramienta para analizar el flujo de red durante eventos de capture the flag de tipo ataque/defensa. Reensambla los paquetes TCP capturados en archivos pcap para reconstruir las conexiones TCP y analiza cada conexión en busca de patrones definidos por el usuario. Los patrones se pueden definir como expresiones regulares o usando reglas específicas de protocolo. Los flujos de conexión se guardan en una base de datos y se pueden visualizar con la aplicación web. También se proporcionan API REST.
curl, local o remotamente, o a través de la GUI
curl, fetch y python requestsHay dos formas de instalar Caronte:
Lo único que hay que hacer es:
git clone https://github.com/eciavatta/caronte.gitcaronte, ejecutar docker-compose up -dhttp://localhost:3333Lo primero que hay que hacer es instalar las dependencias:
A continuación, debes compilar el proyecto, que consta de dos partes:
go mod download && go buildcd frontend && yarn install && yarn buildAntes de ejecutar Caronte, inicia una instancia de MongoDB https://docs.mongodb.com/manual/administration/install-community/ que no tenga autenticación. Ten cuidado de no exponer el puerto de MongoDB en la interfaz pública.
Ejecuta el binario con ./caronte. Las opciones de configuración disponibles son:
-bind-address address where server is bind (default "0.0.0.0")
-bind-port port where server is bind (default 3333)
-db-name name of database to use (default "caronte")
-mongo-host address of MongoDB (default "localhost")
-mongo-port port of MongoDB (default 27017)
La configuración se realiza en tiempo de ejecución en el primer arranque a través de la interfaz gráfica o mediante API. Es necesario configurar:
server_address: la dirección IP de la máquina vulnerable. Debe ser la dirección de destino de todas las conexiones en los pcaps. Si cada servicio vulnerable tiene su propia IP, este parámetro también acepta una dirección CIDR. La dirección puede ser IPv4 o IPv6.flag_regex: la expresión regular que coincide con una flag. Generalmente se proporciona en la página de reglas de la competición.auth_required: si es true, se habilita una autenticación básica para proteger el analizador.accounts, que contiene las credenciales de los usuarios autorizados.El backend, escrito en lenguaje Go, está diseñado como un servicio. Expone API REST que son utilizadas por el frontend escrito con React. La lista de API disponibles con su explicación está disponible aquí: https://app.swaggerhub.com/apis-docs/eciavatta/caronte/WIP
A continuación se muestran algunas capturas de pantalla que ilustran las principales características de la herramienta.




caronte fue creado por Emiliano Ciavatta y está licenciado bajo la licencia GPL-3.0.