Bonjour à tous, aujourd’hui nous allons voir la mise en place d’un pot de miel (Honeypot) Virtuel via docker, qui se concentrera notamment sur le service SSH, en écoutant le port 2222 par défaut.

Nous allons donc commencer par cloner le dépôt git du projet open source puis exécuter le fichier docker-compose.yml, qui va nous permettre de l’installer très rapidement.

Note : -> Ci vous souhaitez modifier, les numéros de ports, libre à vous de modifier le fichier docker-compose.yml.

git clone https://github.com/cowrie/docker-cowrie/
cd docker-cowrie
docker-compose up 
(...) # l'installation automatique prend quelques minutes.

L’installation est terminée une fois que cowrie commence à écouter le service ssh. (Voir photo ci-dessous)

Vérification du fonctionnement de cowrie avant de procéder au commit.

Ouvrez un autre terminal et initier une connexion ssh sur le port 2222 avec l’adresse IP de votre hôte docker (si vous ne l’avez pas changé dans le fichier docker-compose.yml).

Dans les champs login/mdp de putty, vous pouvez mettre n’importe quoi (ex : root mdp : 1225894) par défaut sur cowrie ils sont tous acceptés justement pour piéger le hacker, mais il vaut faudrat imperativement modifier ce genre de conditions afin que ce pot de miel soit crédible pour un attaquant futé.

Voilà votre pot de miel est en place et il est fonctionnel car l’attaquant croit arriver sur un serveur, alors qu’il arrive sur un sous-serveur émulé par notre conteneur « cowrie honeypot »

La vidéo suivante vous montrera comment Cowrie se comporte face à un attaquant (fenêtre de gauche = attaquant ; fenêtre de droite = honeypot Cowrie interprété par mon hôte docker.) : https://www.youtube.com/watch?v=plxYxbWv36s

N’oubliez de commiter le conteneur si vous souhaitez le garder à l’avenir. La procédure est toujours la même : Ouvrez un autre terminal ssh sur votre hôte docker (sur le port 22 cette fois, logiquement) et tapez les commandes suivantes :

docker ps 
docker commit <id> honeypot-cowrie

Pour consulter les logs de cowrie à l’avenir, « rentrer » sur le conteneur de cette manière et afficher le fichier cowrie.json pour voir les logs en temps réel.

# docker exec -it <l'id du conteneur> /bin/bash
cd var/log/cowrie/ 
tail -f cowrie.json # actualisé toutes les 2 / 3 secondes. 

Note : le conteneur honeypot-cowrie démarre automatiquement par défaut au démarrage de son hôte docker.

J’espère que j’ai été clair dans mes explications !

Post-scriptum :

++

Geoffrey


Geoffrey Sauvageot-Berland

Ingénieur diplômé par l’état en Informatique et Cybersécurité. Généraliste, à l'origine administrateur systèmes et réseaux, j’occupe actuellement un poste d’auditeur en sécurité offensive. J’apprécie également la programmation/automatisation. Fondateur du blog : "Le Guide du SecOps", anciennement "Le Guide du SysOps"