Stage de première année
Objectif du stage :
Le stage consistait à développer un honeypot à faible interaction pour collecter des informations sur les attaques informatiques. Ces informations comprenaient les noms d’utilisateurs, les mots de passe, l’heure, l’adresse IP et le pays d’origine des attaquants. L’entreprise a spécifié que l’honeypot devait uniquement écouter les protocoles FTP, SMTP, SSH et RDP.
Présentation de l’entreprise
J’ai effectué mon premier stage en BTS SIO chez Kalanda, un hébergeur de serveurs informatiques basé à la Ciotat. Kalanda propose une gamme complète de services d’hébergement, notamment l’hébergement VPS, Webdev, de messagerie et dédié. L’entreprise compte plus de 7000 clients et dispose d’un parc de 1000 serveurs répartis dans le monde entier.
Comment s’est passé le déroulement du projet
Recherche
Pour débuter le projet, nous avons examiné différentes solutions de piège à pirates informatiques disponibles, notamment Cowrie, Kippo et Honeyd. Après une recherche approfondie, nous avons choisi le projet qeebox, disponible sur GitHub. Ce projet était déjà utilisé par l’entreprise et répondait à tous les critères requis, ce qui en faisait la solution la plus adaptée.
Test de la solution
Après avoir choisi le projet qeebox, nous avons effectué des tests sur les sous-projets disponibles. Ces sous-projets comprenaient le chameleon, qui permet d’afficher les attaques, et honeypots, qui fournit des honeypots pour différents protocoles.
Configuration de la solution avec ses test
Après avoir effectué des tests sur les sous-projets de qeebox, nous avons commencé à installer les différents composants du honeypot sur une machine virtuelle Ubuntu. Nous avons installé d’abord PostgreSQL, une base de données pour stocker les logs des attaques, puis Grafana, un outil d’affichage des logs. Nous avons ensuite configuré les honeypots pour les différents protocoles, en commençant par SSH, puis FTP, SMTP et RDP. Nous avons utilisé les logiciels hydra et potator pour effectuer des tests de forçage par brute force sur les honeypots. Enfin, nous avons analysé les logs des honeypots pour vérifier si les mots de passe et les utilisateurs étaient collectés correctement
Lors des tests des protocoles SMTP et RDP, des problèmes ont été rencontrés. Pour le SMTP, les tentatives de connexion n’enregistraient pas les utilisateurs et les mots de passe, mais affichaient bien que quelqu’un essayait de se connecter. Pour le RDP, les logs contenaient une information indiquant que le déhachage s’était bien effectué, mais les utilisateurs et les mots de passe n’étaient pas présents.
Après analyse des fichiers python du honeypot, les problèmes ont été identifiés. Pour le SMTP, le mode d’authentification de la solution de brute force était en LOGIN, alors que le honeypot était en PLAIN. Pour le RDP, la version du TLS utilisée dans le fichier python était trop ancienne (1.1). Elle a été mise à jour à la version 1.2 pour résoudre le problème.
Une fois que le honeypot a été opérationnel, nous avons affiné les fonctionnalités de la base de données. Nous avons supprimé les lignes inutiles, ajouté des colonnes pour le machine learning et une fonctionnalité de comparaison des tables PostgreSQL. Nous avons également ajusté l’affichage en fonction des demandes de l’entreprise, notamment en ajoutant des graphiques et des tableaux.
Résultat final

Conclusion
La mise en place d’un honeypot à faible interaction a permis de collecter des informations précieuses sur les attaques informatiques visant l’entreprise. Les logs des honeypots ont notamment permis de collecter les noms d’utilisateurs, les mots de passe, l’heure, l’adresse IP et le pays d’origine des attaquants.
Lors des tests, des problèmes ont été rencontrés pour les protocoles SMTP et RDP. Ces problèmes ont été résolus en modifiant les modes d’authentification et la version du TLS.
Enfin, les fonctionnalités de la base de données ont été améliorées pour faciliter l’analyse des données. Des colonnes ont été ajoutées pour le machine learning et une fonctionnalité de comparaison des tables PostgreSQL a été créée. L’affichage des données a également été adapté en fonction des besoins de l’entreprise.
No responses yet