
Un outil pour analyser le flux réseau lors des compétitions Capture the Flag en mode attaque/défense.
caronte$Caronte est un outil pour analyser le flux réseau lors d'événements capture the flag de type attaque/défense. Il réassemble les paquets TCP capturés dans des fichiers pcap pour reconstruire les connexions TCP, et analyse chaque connexion pour trouver des motifs définis par l'utilisateur. Les motifs peuvent être définis comme des regex ou en utilisant des règles spécifiques au protocole. Les flux de connexion sont sauvegardés dans une base de données et peuvent être visualisés avec l'application web. Des API REST sont également fournies.
curl, localement ou à distance, ou via l'interface graphique
curl, fetch et python requestsIl y a deux façons d'installer Caronte :
Les seules choses à faire sont :
git clone https://github.com/eciavatta/caronte.gitcaronte, exécutez docker-compose up -dhttp://localhost:3333La première chose à faire est d'installer les dépendances :
Ensuite, vous devez compiler le projet, qui se compose de deux parties :
go mod download && go buildcd frontend && yarn install && yarn buildAvant d'exécuter Caronte, démarrez une instance de MongoDB https://docs.mongodb.com/manual/administration/install-community/ qui n'a pas d'authentification. Faites attention à ne pas exposer le port MongoDB sur l'interface publique.
Exécutez le binaire avec ./caronte. Les options de configuration disponibles sont :
-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 configuration s'effectue à l'exécution lors du premier démarrage via l'interface graphique ou via l'API. Il est nécessaire de configurer :
server_address : l'adresse IP de la machine vulnérable. Doit être l'adresse de destination de toutes les connexions dans les pcaps. Si chaque service vulnérable a sa propre adresse IP, ce paramètre accepte également une adresse CIDR. L'adresse peut être IPv4 ou IPv6.flag_regex : l'expression régulière qui correspond à un flag. Généralement fournie sur la page des règles de la compétition.auth_required : si vrai, une authentification de base est activée pour protéger l'analyseur.accounts, qui contient les identifiants des utilisateurs autorisés.Le backend, écrit en Go, est conçu comme un service. Il expose des API REST qui sont utilisées par le frontend écrit avec React. La liste des API disponibles avec leur explication est disponible ici : https://app.swaggerhub.com/apis-docs/eciavatta/caronte/WIP
Ci-dessous se trouvent quelques captures d'écran montrant les principales fonctionnalités de l'outil.




caronte a été créé par Emiliano Ciavatta et est sous licence GPL-3.0.