
Einsatz eines mittel-interaktiven SSH-Honeypots zur Erfassung von realem Brute-Force-Verkehr, Malware-Downloads und Angreiferverhalten. Beinhaltet TTY-Sitzungsaufzeichnung, Credential-Harvesting und Bedrohungsintelligenz, die mit 159 Quellen abgeglichen wird.
Ein mittel-interaktiver Cowrie-Honeypot, bereitgestellt auf einem gemieteten öffentlichen Linux-VPS, entwickelt, um echten SSH-Brute-Force-Traffic anzuziehen, zu protokollieren und zu analysieren. Innerhalb eines 8-tägigen Erfassungszeitraums zeichnete der Sensor 37,477 Sitzungen von 1,582 eindeutigen Angreifer-IPs auf, fing 794 Malware-Drops ein – jede Beobachtung wurde mit 159 öffentlichen Industrie- und akademischen Quellen abgeglichen.
| 📊 Live-Bericht – interaktives HTML | 📜 Logs/ – tägliche Cowrie-Logs | 📸 ScreenShots/ – Sitzungsaufzeichnungen |
| 🏗️ docs/ – Architekturdiagramm | 🗂️ Reports/ – Berichtsquelle | 🐛 Gerenderte Analyse öffnen |
Der Honeypot läuft auf einem gemieteten Linux-VPS. Das öffentliche tcp/22 wird stillschweigend per NAT zu Cowrie auf tcp/2222 umgeleitet, während der echte OpenSSH-Daemon auf einen nicht standardmäßigen Verwaltungsport (tcp/49222) verschoben wird, der nur mit einem privaten Schlüssel erreichbar ist. Für einen Angreifer sieht die Kiste wie ein verwundbarer Debian-Server auf Port 22 aus; für den Administrator ist sie vollständig über einen separaten, ruhigen Port erreichbar.

Zwei Schwimmbahnen durch dieselbe Kiste: Die Angreiferspur (oben) durchläuft iptables-NAT und landet in Cowrie, das in TTY-Protokolle und einen Quarantäneordner schreibt. Die Admin-Spur (unten) geht direkt durch iptables zum echten OpenSSH-Daemon auf tcp/49222. Die beiden Pfade berühren sich nie.
Vektorquelle:
docs/architecture.svg

Live-Aufzeichnung: Mehrere Angreifer-IPs greifen gleichzeitig auf tcp/2222 zu – CONNECTs (cyan), LOGIN SUCCESS / FAILED und die von ihnen versuchten Anmeldeinformationen. Gleiche Minute, mehrere Kampagnen.

Die vollständige Befehlskette eines Angreifers nach dem Login – chattr -ia ~/.ssh, das mdrfckr-Key-Implant, cat /proc/cpuinfo, uname, lscpu, crontab -l. Wörtlich aufgezeichnet mit Millisekunden-Zeitstempeln und einer Sitzungs-ID.

Aggregierte Ansicht über viele Sitzungen: Verbindungen (cyan), fehlgeschlagene Logins (rot), erfolgreiche Logins (grün), Befehle (gelb), Dateiübertragungen (lila). Das wiederkehrende Muster von mdrfckr-Key-Implant + chattr -ia .ssh ist über verschiedene Angreifer-IPs hinweg sichtbar – gleiche Kampagne, verschiedene Bots.

Der signifikante RedTail XMRig-Cryptominer-Drop: sechs Dateien in einer Sitzung von 213.209.159.158 – clean.sh und setup.sh Installer sowie vier architekturspezifische ELF-Binärdateien (redtail.arm7, redtail.arm8, redtail.i686, redtail.x86_64), die Router, IoT, Legacy-x86 und Server in einem Drop abdecken.
ls, wget, cat /proc/cpuinfo wird mit hochauflösenden Zeitstempeln protokolliertwget / curl herunterladen, werden abgefangen und unter downloads/ unter Quarantäne gestellt🌍 Top-Herkunftsregionen: Hongkong (Alibaba Cloud) · China (ChinaNet) · Bulgarien (IT7 Networks) · Russland (Aeza Group, sanktioniert)
🐛 Top-Kampagnen identifiziert: RedTail XMRig Cryptominer · die mdrfckr SSH-Key-Implant-Familie · von Mirai abgeleitete IoT-Rekruten · die 3245gs5662d34 SSH-Spreader-Signatur
Vollständige Analyse mit interaktiven Diagrammen, MITRE ATT&CK-Zuordnung und diskutierten Quellen pro Fund → Live-Bericht öffnen.
cowrie erstellensudo 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 von Port 22 verschieben (bevor NAT-Regel hinzugefügt wird)sudo sed -i 's/^#\?Port .*/Port 49222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
⚠️ Überprüfen Sie von einem zweiten Terminal aus, dass Sie sich noch auf Port 49222 anmelden können, bevor Sie fortfahren.
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
Abgeglichen mit 159 Industrie- und akademischen Quellen – die vollständige kommentierte Liste befindet sich im Abschnitt Referenzen des Live-Berichts. Wichtige akademische Anker:
Dieser Honeypot wurde ausschließlich zu defensiven Forschungszwecken eingesetzt. Alle erfassten Artefakte (IPs, Payloads, Anmeldeinformationen) werden passiv aus eingehendem unaufgefordertem Verkehr beobachtet. Der Honeypot initiiert keine Scans, vergilt nichts und hostet keinen Dienst außer dem sandboxierten Cowrie-Listener. Verwenden Sie die Konfiguration verantwortungsbewusst und im Rahmen des geltenden Rechts.
Erstellt mit Cowrie. 🛠️
| Schicht | Funktion | Grund |
|---|
Unprivilegierter Benutzer cowrie | Honeypot läuft als Systembenutzer ohne sudo, keine Host-Shell | Schlimmstenfalls erlangt ein Sandbox-Kompromiss keinerlei Host-Zugriff |
| Python-Virtual-Environment | Fixierte, isolierte Abhängigkeitsstruktur (Twisted, cryptography usw.) | Kein Konflikt mit System-Python; sauberes Abbauen und Wiederaufbauen |
| Simuliertes Dateisystem | Angreiferschreibvorgänge gehen in einen flüchtigen Cowrie-Overlay | Die echte Festplatte wird niemals berührt, auch bei langen Sitzungen |
| iptables-NAT-Umleitung | PREROUTING-Regel schreibt eingehendes tcp/22 auf tcp/2222 um | Cowrie bindet einen hohen Port (kein Root erforderlich); Täuschung bleibt unsichtbar |
| Verwaltungsport-Verschiebung | Echter sshd auf tcp/49222 verschoben, Nur-Schlüssel-Authentifizierung | Brute-Force-Rauschen gegen den echten Daemon sinkt auf null |
| Metrik | Wert |
|---|
| Gesamtsitzungen | 37,477 |
| Eindeutige Angreifer-IPs | 1,582 |
| Fehlgeschlagene Logins | 14,968 |
| Logins zur Shell | 22,720 |
| Aufgezeichnete Shell-Befehle | 21,968 |
| Malware-Drops | 794 |
| Abgeglichene externe Quellen | 159 |