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

Im Blog oder auf unserer Homepage könnt ihr gerne schauen, was wir sonst noch so machen.