
Déploiement d'un honeypot SSH à interaction moyenne capturant le trafic de force brute réel, les dépôts de malwares et le comportement des attaquants. Inclut l'enregistrement des sessions TTY, la collecte d'identifiants et le recoupement des renseignements sur les menaces croisé avec 159 sources.
Un pot de miel Cowrie à interaction moyenne déployé sur un VPS Linux public loué, conçu pour attirer, enregistrer et analyser le trafic de brute-force SSH réel. Sur une fenêtre de capture de 8 jours, le capteur a enregistré 37,477 sessions provenant de 1,582 adresses IP d'attaquants uniques, capturant 794 téléchargements de malwares — chaque observation recoupée avec 159 sources publiques académiques et industrielles.
| 📊 Rapport en direct — HTML interactif | 📜 Logs/ — journaux quotidiens Cowrie | 📸 Captures d'écran/ — captures de session |
| 🏗️ docs/ — diagramme d'architecture | 🗂️ Reports/ — source du rapport | 🐛 Ouvrir l'analyse rendue |
Le pot de miel vit sur un VPS Linux loué. Le port tcp/22 public est redirigé silencieusement par NAT vers Cowrie sur tcp/2222, tandis que le démon OpenSSH réel est déplacé vers un port d'administration non standard (tcp/49222) accessible uniquement avec une clé privée. Pour un attaquant, la machine ressemble à un serveur Debian vulnérable sur le port 22 ; pour l'administrateur, elle est pleinement accessible sur un port séparé et silencieux.

Deux couloirs à travers la même machine : la voie de l'attaquant (en haut) traverse iptables NAT et atterrit dans Cowrie, qui écrit dans des journaux TTY et un dossier de quarantaine. La voie de l'administrateur (en bas) passe directement à travers iptables jusqu'au démon OpenSSH réel sur tcp/49222. Les deux chemins ne se touchent jamais.
Source vectorielle :
docs/architecture.svg

Capture en direct : plusieurs IP d'attaquants frappant tcp/2222 simultanément — CONNECT (cyan), LOGIN SUCCESS / FAILED, et les paires d'identifiants essayées. Même minute, multiples campagnes.

Séquence complète de commandes post-connexion d'un attaquant — chattr -ia ~/.ssh, l'implant de clé mdrfckr, cat /proc/cpuinfo, uname, lscpu, crontab -l. Capturée textuellement avec des horodatages millisecondes et un ID de session.

Vue agrégée sur plusieurs sessions : connexions (cyan), échecs de connexion (rouge), connexions réussies (vert), commandes (jaune), transferts de fichiers (violet). Le motif répété d'implant de clé mdrfckr + chattr -ia .ssh est visible sur différentes IP d'attaquants — même campagne, bots différents.

Le téléchargement signature du cryptomineur RedTail XMRig : six fichiers en une session depuis 213.209.159.158 — les installateurs clean.sh et setup.sh, plus quatre binaires ELF spécifiques à l'architecture (redtail.arm7, redtail.arm8, redtail.i686, redtail.x86_64) couvrant routeurs, IoT, x86 hérités et serveurs en un seul téléchargement.
ls, wget, cat /proc/cpuinfo enregistré avec horodatages haute résolutionwget / curl sont interceptés et mis en quarantaine dans downloads/🌍 Principales régions sources : Hong Kong (Alibaba Cloud) · Chine (ChinaNet) · Bulgarie (IT7 Networks) · Russie (Aeza Group, sanctionné)
🐛 Principales campagnes identifiées : Cryptomineur RedTail XMRig · la famille d'implant de clé SSH mdrfckr · recruteurs IoT dérivés de Mirai · la signature de propagation SSH 3245gs5662d34
Analyse complète avec graphiques interactifs, cartographie MITRE ATT&CK et discussion sourcée par constatation → Ouvrir le rapport en direct.
cowriesudo useradd -m -s /bin/bash cowrie
sudo passwd -l cowrie
su - cowrie
git clone https://github.com/cowrie/cowrie.git
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
sshd réel du port 22 (avant d'ajouter une règle NAT)sudo sed -i 's/^#\?Port .*/Port 49222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
⚠️ Vérifiez depuis un deuxième terminal que vous pouvez toujours vous connecter sur le port 49222 avant de continuer.
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
sudo iptables-save | sudo tee /etc/iptables/rules.v4
bin/cowrie start
SSH-Honeypot-Research/
├── README.md ← you are here
├── docs/
│ ├── architecture.png ← architecture diagram (rendered)
│ └── architecture.svg ← architecture diagram (vector source)
├── Logs/ ← daily Cowrie logs (cowrie_YYYY-MM-DD.log)
│ ├── cowrie_2026-05-08.log
│ ├── cowrie_2026-05-09.log
│ └── ... (8 days total)
├── Reports/
│ └── honeypot_report.html ← full interactive report
└── ScreenShots/ ← session captures, log snapshots, payloads
├── live session.png ← multi-IP CONNECT/LOGIN stream
├── CMD1.png · CMD2.png ← captured post-login command sequences
├── sh1.png · sh2.png ← aggregated daily log views
└── RedTail Payload.png ← signature 4-arch cryptominer drop
Recoupé avec 159 sources industrielles et académiques — la liste complète annotée se trouve dans la section Références du rapport en direct. Principaux ancrages académiques :
Ce pot de miel a été déployé à des fins de recherche défensive uniquement. Tous les artefacts capturés (IP, charges utiles, identifiants) sont observés passivement à partir du trafic non sollicité entrant. Le pot de miel n'initie pas de scan, ne riposte pas et n'héberge aucun service au-delà de l'écouteur Cowrie en bac à sable. Réutilisez la configuration de manière responsable et conformément à la législation applicable.
Construit avec Cowrie. 🛠️
| Couche | Ce qu'elle fait | Pourquoi |
|---|
Utilisateur non privilégié cowrie | Le pot de miel s'exécute en tant qu'utilisateur système sans sudo, sans shell hôte | En cas de compromission du bac à sable, aucun accès à l'hôte |
| Environnement virtuel Python | Arbre de dépendances épinglé et isolé (Twisted, cryptography, etc.) | Aucun conflit avec Python système ; démontage et reconstruction propres |
| Système de fichiers simulé | Les écritures de l'attaquant vont dans une couche éphémère Cowrie | Le disque réel n'est jamais touché, même lors de longues sessions |
| Redirection NAT iptables | La règle PREROUTING réécrit le trafic entrant tcp/22 vers tcp/2222 | Cowrie lie un port élevé (pas besoin de root) ; la tromperie reste invisible |
| Migration du port d'administration | Le sshd réel déplacé sur tcp/49222, authentification par clé uniquement | Le bruit de brute-force contre le démon réel tombe à zéro |
| Métrique | Valeur |
|---|
| Sessions totales | 37,477 |
| IP d'attaquants uniques | 1,582 |
| Connexions échouées | 14,968 |
| Connexions au shell | 22,720 |
| Commandes shell capturées | 21,968 |
| Téléchargements de malwares | 794 |
| Sources externes recoupées | 159 |