Honeypot mit Cowrie
Hackern auf der Spur
Wie ein Honigtopf Bienen anlockt, so zieht er in der Informatik Hacker an.
Ein Honeypot dient der Entdeckung und Analyse von Angriffen.
Das Cowrie-Projekt bietet dabei eine gute Abhilfe.
Cowrie ist freie, open-source Software und wird stetig von knapp über hundert Entwicklern
rund um den Globus entwickelt.
Zusätzlich simuliert Cowrie eine Debian 5 Instanz, welche mittlerweile hoffnungslos veraltet ist, denn seit dem 09.02.2012 wird Debian 5 nicht
mehr mit Sicherheitsupdates versorgt. Ein Paradies für jeden Internetkriminellen, sozusagen.
Installation
Zuerst sind jene Pakete zu installieren, von denen Cowrie abhängig ist:
apt install git python-virtual-env libssl-dev libffi-dev build-essential libpython3-dev python3-minimal authbind virtualenv
Anschließend wird ein neuer Nutzer ohne Rechte angelegt. Denn sollte es dem Hacker doch gelingen, aus dem Honeypot
auszubrechen, so findet er sich als rechteloser Nutzer wieder, der nicht viel ausrichten kann.
adduser honigtopf
Nun wird der Honeypot im Verzeichnis des neuen Nutzers installiert:
su - honigtopf
git clone http://github.com/cowrie/cowrie && cd cowrie
Jetzt werden die nötigen Pythonmodule in eine abgeschottete Umgebung geladen:
virtualenv --python=python3 cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install --upgrade -r requirements.txt
Die Installation ist somit abgeschlossen und das Cowrie steht zur weiteren Konfiguration bereit.
Konfiguration
Folgend wird das Cowrie weiter konfiguriert, denn die Standardeinstellungen könnten einen Angreifer
Verdacht schöpfen und das Interesse verlieren lassen. Das ist in nur wenigen Schritten erledigt.
Der Hostname ist dabei ein guter Anfang.
Hierfür wird die Konfigurationsdatei von Cowrie erst einmal gesichert, damit bei einem Update nichts
überspielt wird:
cp etc/cowrie.cfg.dist etc/cowrie.cfg
Nun wird die Konfigurationsdatei bearbeitet:
nano etc/cowrie.cfg
Dort findet sich der Eintrag "hostname"
Dieser lässt sich beliebig ändern. Als Beispiel wählte ich den Namen "mobilistics-live".
Den Entwicklern zufolge lautet der Standartnutzer nun 'phil'. Dieser sollte durch einen anderen Namen ersetzt werden.
nano cowrie/share/cowrie/fs.pickle
Steuerung des Honeypots
Endlich kann das Cowrie in Betrieb genommen werden:
bin/cowrie start
Genauso einfach lässt es sich aber auch wieder herunterfahren:
bin/cowrie stop
Logischerweise ist es besonders zu diesem Anwendungszweck ratsam, regelmäßig Updates einzuspielen.
Der Updateprozess geht schnell von der Hand.
Dafür wird abfolgend:
1. Das Cowrie gestoppt
bin/cowrie stop
2. Updates aus der Versionsverwaltung des Herstellers geladen
git pull
3. Eventuelle neue Abhängigkeiten installiert
pip install --upgrade -r requirements.txt
4. Und das Cowrie gestartet
bin/cowrie start
Logs auslesen
Cowrie zeichnet jeden Zugriff auf und erfasst die Zeit des Zugriffes, die IP-Adresse des Angreifers und auch jeden Befehl, der abgesetzt wurde.
Die Logdatei findet sich unter var/log/cowrie/cowrie.log
Hier zu sehen ist ein Angreifer, welcher versuchte einen Nutzer anzulegen und einen Webserver zu installieren.
Schlusswort
Wider Erwarten kann es auch eine gute Sache sein, wenn ein System ein leichtes Angriffsziel darstellt.
Durch die ein oder andere Aufzeichnung kann sicher noch etwas dazugelernt werden.
Praktischerweise können die aufgezeichneten IP-Adressen auch gleich gesperrt werden.
Wenn ihr Fragen habt, meldet euch: info@mobilistics.de