Im letzten Monat wurde ein neues Major Release des Projekts Honeeepi veröffentlicht. Hierbei handelt es sich um ein auf Debian basierendes Raspberry Pi Image mit schon eingerichteten Honeypot Anwendungen. Das aktuelle Image unterstützt die Modelle der Reihe 1B bis hin zu den WLAN integrierten Modell Pi 3. Das System eignet sich für alle Interessierte, welche daheim erste Erfahrungen mit IT Sicherheit machen wollen.

Schematischer Aufbau

Der Einsatz eines Honeypot Systems ist ein zweischneidiges Schwert. Auf der einen Seite kann man Aktivitäten eines Hackers protokollieren und diese später analysieren, auf der anderen Seite hat man so ein potentiell gefährdetes System direkt im eigenen Netzwerk. Eine Problematik ist, dass schon automatisierte Methoden existieren, welche ein vermeintliches Opfer als Honeypot entlarven. Weiterhin können durch Fehlkonfigurationen des eigentlichen Honeypots oder Schwächen in der Virtualisierungsumgebung selbst dem Angreifer eine Angriffsfläche bieten.

Daher sollte man auf jeden Fall dafür sorgen, dass bei solch einem Aufbau der Schadenfall zu gering wie möglich gehalten wird, d.h. die Honeypot Instanz darf hier auf keinen Fall Zugriff auf andere Systeme in benachbarten Netzwerken haben.

Schematischer Aufbau HoneeePi im abgeschotteten Netzwerk

(1) In dieser Konstellation wird der einkommende Traffic für die vermeintlichen SSH (Secure Shell) und HTTP (Hypertext Transfer Protocol) Zugriffe in eine DMZ (Demilitarized Zone) per NAT (Network Address Translation) geroutet.

(2) Der vermeintliche SSH Server und das Management zum Honeypot an sich haben aber keinen Zugriff nach draußen. Sie sind nur Empfänger für die einkommenden Verbindungen konfiguriert. Somit sollte bei einem erfolgreichen Kapern des Rechners dieser nicht gleich als Bot Zombie missbraucht werden können.

(3) Für Auswertungen wird per SSH die Log Files auf einen dezentral vorhandenen Raspberry Pi geladen.

(4) In meiner Konstellation habe ich, wie in früheren Artikel beschrieben, einen Splunk Server als zentralen Log System aufgesetzt. Dieser holt sich die Daten vom Raspberry Pi aus der DMZ um auch den letzten möglichen Befall durch Malware usw. zu eliminieren.

(5) Nun können durch Splunk die Logs ausgewertet werden.

Die Tools unter HoneeePi

Bei dem Image von HoneeePi sind einige Tools schon vorab vorhanden. Das eine oder andere ist aber für einen Anfänger zum Thema Honeypot nicht zu empfehlen. Es zeigt aber, das der Raspberry Pi auch für erfahrerene Administratoren bzw. Security Analysten interessant ist.

Conpot

In der letzten Zeit sind wegen IoT (Internet of Things) ein IndustryControl System immer interessantere Opfer für etwaige Hacker Attacken geworden. Berichte über DDoS (Distributed Denial of Service) Attacken durch von gekaperten IP Kameras oder Babyphones offenbaren diesen Trend.
Mit Hilfe von Conpot werden Insdutrieanlagen oder ähnliches simuliert.

Conpot bietet verschiedene Industriesysteme unter honeepi an, die beim starten als Template angegeben werden können.

sudo conpot --template IMPI

Meine persönlichen Favoriten sind wie folgt:

Template impi: (Intelligent Platform Management Interface) simuliert ein Verwaltungs- und Überwachungsprotokoll für Computersysteme.
Template proxy: Simuliert ein Proxy System
Tempalte kamstrup_382: Simualtion eines aus dem Internet erreichbaren digitalen Stromzählers

Template default: Simulation eines Industrie Siemens SPS (Speicherprogrammierbare Steuerung) (S7-200)

...
2016-11-19 21:24:36,701 IPMI BMC initialized.
2016-11-19 21:24:36,720 Conpot IPMI initialized using /usr/local/lib/python2.7/dist-packages/Conpot-0.5.1-py2.7.egg/conpot/templates/default/ipmi/ipmi.xml template
2016-11-19 21:24:36,735 Found and enabled ('ipmi', <class 'conpot.protocols.ipmi.ipmi_server.IpmiServer'>) protocol.
2016-11-19 21:24:36,743 No proxy template found. Service will remain unconfigured/stopped.
2016-11-19 21:24:36,760 Modbus server started on: ('0.0.0.0', 502)
2016-11-19 21:24:36,768 S7Comm server started on: ('0.0.0.0', 102)
2016-11-19 21:24:36,786 HTTP server started on: ('0.0.0.0', 80)
2016-11-19 21:24:43,459 SNMP server started on: ('0.0.0.0', 161)
2016-11-19 21:24:43,536 Bacnet server started on: ('0.0.0.0', 47808)
2016-11-19 21:24:43,551 IPMI server started on: ('0.0.0.0', 623)
2016-11-19 21:24:43,584 Privileges dropped, running as "nobody:nogroup"
...

 

Glastopf – Web Application Honeypot (abgekündigt)

Hierbei handelt es sich um den auf Phyton laufenden, aber schon abgekündigten Web Honeypot, welches durch das Projekt snare abgelöst wurde. Dennoch kann mit diesem fiktive Opferseiten generiert werden. Die stärke bei Glastopf ist die leichte Administration. Es simuliert ein durch Lücken offenen Webserver. Es werden alle SQL Injections usw für weitere Auswertungen in eine SQLLite DB gespeichert.

Screenshot eines von Glastopf erstellte Opferseite

 

Cowrie – SSH Honeypot

Der hier aufgezeigte Aufbau eines SSH Honeypots wird mit der auf Phyton basierten Lösung Cowrie von Michel Oosterhof umgesetzt. Es handelt sich um ein Fork von dem bekannteren Projekt Kippo. Cowrie interagiert mit Logsystemen wie Elasticsearch und Splunk API. Da hier der Honeypot komplett abeschottet ist, werden die JSON (JavaScript Object Notation) Log Dateien per SSH abgezogen.

Die Standard Konfigurationsdatei von cowrie sollte man in einigen Punkten auf jeden Fall ändern:

...
hostname = linux-nas1

fake_addr = 192.168.123.23

internet_facing_ip = 192.168.212.123

# Authentication
# auth_class = UserDB

auth_class = AuthRandom
auth_class_parameters = 5, 15, 30

listen_port = 22

# MySQL
[output_mysql]
host = localhost
database = cowrie
username = cowrie
password = NEUESPW
port = 3306

# JSON based logging module
[output_jsonlog]
logfile = log/cowrie.json
...

Die internet_facing_ip spielt eine andere IP Adresse als das im Netzwerk befindliche Raspberry Pi.
Das Passwort für die MySQL Datenbank sollte auf jeden Fall geändert werden.

Als letzte Anpassung ist die Authentifizierungsprüfung. Man kann diese gegen eine Textbasierte Loginliste prüfen lassen (UserDB) oder per Zufallsgenerator bei mindestens 5 bzw. maximal 15 Versuchen einen Zugriff auf das vermeintliche System zu gewähren. Letzteres zeigt eher auf, wenn Dictionary Attacken gegen das System eingesetzt wird.

 

Fazit der Auswertungen

Um erste Erfahrungen bezüglich Honeypots zu bekommen, oder nur schnell die Gefahren eines unkontrollierten Internetzugangs aufzuzeigen, ist Honeeepi auf jeden Fall zu empfehlen.

In diesem Beispiel werden die Standorte der Angreifer mit Splunk visuell dargestellt. Hierbei wurden die Anzahl der Login Versuche in 10 Klassen unterteilt.
(1 <10 Versuche … 10 > 1500 Versuche)

Visualisation mit SPLUNK über die Hacker Attacken

In diesem Splunk Pivot Graph wird aufgezeigt, wie lange es dauert, bis der Honeypot den ersten Dictionary Login Angriffen ausgesetzt wird.

Pivot Auswertung mit Splunk über versuchte SSH Zugriffe

 

Weitere Log Auswertungen zeigen welche Methoden aktuell verwendet werden, um einen Rechner über SSH zu kapern:

Auswertung von Logs eines SSH Honeypots

Überprüfung der URL (Uniform Resource Locator) ergab, dass nur wenige Antiviren Systeme aktuell diese als Malware Site in ihrem Pattern haben.

Screenshot von VirusTotal vom 19.11.2016