Erfahren Sie, wie Sie einen Honeypot bereitstellen und seine Daten Schritt für Schritt visualisieren

Detaillierte Anweisungen zur Bereitstellung des von Splunk überwachten Cowrie-Honigtopfs.

The Manuka Honeypot - Lesen Sie weiter und Sie haben es in kürzester Zeit geschafft!

Wenn Sie Live- und echte Bedrohungsinformationen überwachen möchten, ist der beste Weg wahrscheinlich die Bereitstellung eines Honigtopfs.

Hier einige schrittweise Anleitungen, die zum Zeitpunkt des Schreibens dieses Artikels voll funktionsfähig sind und bei denen Sie in 30 Minuten Daten sammeln sollten.

Haftungsausschluss: Seit Mai 2019 gibt es bereits viele Tools, die diesen gesamten Prozess automatisieren (das Modern Honey Network ist berühmt). Die meisten dieser Tools wurden jedoch aufgegeben und die Skripte, die den gesamten Prozess automatisieren, funktionieren nicht mehr mehr (Abhängigkeiten, Python 3 und all diese schwarze Magie), daher der schrittweise Prozess. (und Sie werden verstehen, wie die Werkzeuge funktionieren).

0. Was werden wir einsetzen:

Zwei Geräte in der Cloud:

Gerät 1: Führt den Cowrie-Honeypot aus, registriert alle Daten und sendet dann seine Protokolle.

Gerät 2: Führt Splunk Free aus, sammelt Protokolle und druckt coole Grafiken aus.

Diese Geräte werden in der DigitalOcean-Cloud bereitgestellt, weil:

  1. Es gibt ein kostenloses Guthaben von 100 USD! (Wenn Sie erwägen, diesen Test durchzuführen, verwenden Sie meinen Empfehlungslink )
  2. Ich stelle keinen Honeypot in der Nähe eines meiner Netzwerke ein.

* Hinweis: Google Cloud bietet zu diesem Zeitpunkt auch kostenloses Guthaben an.

1. Installieren und Optimieren von Cowrie:

Beginnen Sie mit der Bereitstellung eines einfachen Droplets mit 5 US-Dollar pro Monat und 1 GB RAM / 1 CPU auf Digital Ocean. Ich fand, dass Ubuntu 18.10 x64 gut funktioniert:

Sie erhalten umgehend eine E-Mail mit dem Benutzer / Passwort zu SSH hinein.

- Denken Sie daran, die Terminaleinstellungen auf das Matrix-Farbschema zu ändern, um zusätzliche Hacking-Fähigkeiten zu erlangen. -

Ich folge den Schritten auf der GitHub-Seite des Cowrie-Projekts, aber hier ist eine einfache Hilfe zum Einfügen von Kopien:

sudo apt-get update
sudo apt-get install git python-virtualenv libssl-dev libffi-dev essentielle libpython3-dev python3-minimal authbind

Fügen Sie dann einen Cowrie-Benutzer hinzu und wechseln Sie zu ihm. Wir können (und wollen) Cowrie nicht als root ausführen:

sudo adduser --disabled-password cowrie
sudo su - cowrie

Laden Sie den Code von Cowrie herunter:

Git-Klon http://github.com/cowrie/cowrie

Richten Sie die virtuelle Umgebung für den Honeypot (falsches Betriebssystem) ein:

cd / home / kauri / kauri
virtualenv --python = python3 cowrie-env
source cowrie-env / bin / activate
(cowrie-env) $ pip install --upgrade pip
(cowrie-env) $ pip install --upgrade -r requirements.txt

Suchen Sie die Datei cowrie.cfg.dist und kopieren Sie sie in dieselbe Datei mit dem Namen cowrie.cfg, die wir bearbeiten werden.

cp /home/cowrie/cowrie/etc/cowrie.cfg.dist /home/cowrie/cowrie/etc/cowrie.cfg

Dies ist die Konfigurationsdatei für Cowrie. Wenn Sie Telnet aktivieren möchten, ändern Sie den Hostnamen des Servers (so dass er nicht wie der generische Cowrie-Honeypot aussieht). Wir werden die Änderungen hier vornehmen.

Nehmen Sie zum Beispiel eine Änderung des Hostnamens vor: Bearbeiten Sie die Zeile Hostname. Einfach. Die meisten Felder sind selbsterklärend. Ändern Sie den Hostnamen der Zeile folgendermaßen:

Hostname = UbuntuServer4

Damit der Honeypot auf Port 22 lauscht (standardmäßig lauscht der Honeypot auf 2222, wodurch wir viele Dinge verpassen), müssen wir einige Änderungen vornehmen:

In der Datei cowrie.cfg:

listen_endpoints = tcp: 22: interface = 0.0.0.0

Hinweis: Cowrie muss jedes Mal neu gestartet werden, wenn Sie Änderungen in der Konfigurationsdatei vornehmen.

Führen Sie dann die folgenden Befehle aus, damit ein Benutzer ohne Rootberechtigung Port 22 abhören kann (standardmäßig blockiert und Cowrie nicht als Rootberechtigung ausgeführt werden kann, sodass dies erforderlich ist):

sudo apt-get install authbind
sudo touch / etc / authbind / byport / 22
sudo chown cowrie: cowrie / etc / authbind / byport / 22
sudo chmod 770 / etc / authbind / byport / 22

Bearbeiten Sie dann die Datei / etc / ssh / sshd_config, ändern Sie die Port-Zeile, damit Ihr Honeypot-echter SSH-Port einen zufälligen Port abhört (wählen Sie nicht 2222, komm schon!) Und führen Sie einen Neustart des SSH-Dienstes durch:

vim / etc / ssh / sshd_config // Kommentiere die Port-Zeile aus und ändere die Nummer
Dienst ssh Neustart

Zum Schluss: Richten Sie Cowrie unter Supervisor ein, damit Sie es dämonisieren können:

apt install supervisor
cat> /etc/supervisor/conf.d/cowrie.conf << EOF
[Programm: Kauri]
befehl = / opt / cowrie / bin / cowrie start
Verzeichnis = / opt / cowrie
stdout_logfile = / opt / cowrie / var / log / cowrie / cowrie.out
stderr_logfile = / opt / cowrie / var / log / cowrie / cowrie.err
Autostart = wahr
Autorestart = wahr
stopasgroup = true
killasgroup = true
user = cowrieEOF
supervisorctl update

Problembehandlung jetzt, wenn es richtig daemonisiert wurde:

root @ Cowrie: ~ # supervisorctl
cowrie RUNNING pid 1007, Betriebszeit 0:16:44

Nett.

Überprüfen Sie auch netstat, um sicherzustellen, dass der richtige Prozess an jedem Port empfangsbereit ist:

root @ Cowrie: ~ # netstat -tanpl
Aktive Internetverbindungen (Server und eingerichtet)
Proto Recv-Q Send-Q Lokale Adresse Fremdadresse Status PID / Programmname
tcp 0 0 0.0.0.0:32328 0.0.0.0:* LISTEN 922 / sshd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 639 / systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1007 / python3

Nett.

Python Listening an Port 22 ist das falsche System und sshd das für unser echtes SSH (Sie können immer die DigitalOcean-Konsole verwenden, wenn Sie sich selbst aussperren).

Wir haben viel kopiert, um hierher zu kommen, aber denken Sie an all die… L E A R N I N G

BONUS-SCHRITTE:

1. Gehen Sie folgendermaßen vor, um die Benutzer zu bearbeiten, die auf den Honigtopf zugreifen können:

Kopieren Sie zuerst userdb.example in die TXT-Datei, damit wir sie bearbeiten können

cp /home/cowrie/cowrie/etc/userdb.example /home/cowrie/cowrie/etc/userdb.txt

Bearbeiten Sie dann die Datei entsprechend den darin enthaltenen Kommentaren.

Protip: Machen Sie den Honeypot für Angreifer interessanter, indem Sie die Anzahl der Anmeldungen begrenzen, die hereinkommen können.

Protip2: Lassen Sie alles zu, um Botnet-Kampagnenangriffe zu untersuchen.

2. Integration mit VirusTotal:

Gehen Sie zu VirusTotal und erstellen Sie ein kostenloses Konto. Sie erhalten einen API-Schlüssel.

Gehen Sie zur Datei cowrie.cfg und kommentieren Sie den Abschnitt VirusTotal aus:

[output_virustotal]
enabled = true
api_key = *** Fügen Sie hier Ihren API-Schlüssel ein ***
upload = True
debug = False
scan_file = True
scan_url = True

Es ist eine großartige Idee, einen Schnappschuss für 0,05 US-Dollar im Monat zu machen - es ist besser, alle oben genannten Punkte zu wiederholen :)

2. Bereitstellen von Splunk:

Für die Bereitstellung von Splunk benötigen wir ein neues Droplet (Hey, Sie können alles in einem einzigen Droplet ausführen, dies macht es jedoch skalierbarer, d. H. Sie können mehr Honeypots bereitstellen und sie wieder mit Splunk verknüpfen).

In diesem Fall verwende ich ein etwas größeres Droplet:

Erstellen Sie ein Splunk-Konto und laden Sie die kostenlose Version herunter (bis zu 500 MB pro Verkehrstag, die Sie hoffentlich noch nicht erhalten!).

Klicken Sie auf den Download über die Befehlszeile (wget), um die Dinge zu vereinfachen

Laden Sie die Linux-Version in .tgz herunter, und Sie sehen eine Befehlszeilen-Downloadoption, die Sie über wget herunterladen können

cd / opt /
wget -O splunk-7.2 ..
tar -zxvf splunk-7.2 ...
cd / opt / splunk / bin /
./splunk start

Richten Sie einen Benutzer / pwd ein und greifen Sie dann auf die GUI zu, indem Sie zu http: // WhateverYourSplunkIpIs: 8000 wechseln

3. Verbinden Sie Cowrie mit Splunk

Hallo, ich habe keine Ahnung, wie Splunk funktioniert und heiße Jackass willkommen.

Um Cowrie zu verbinden, erklärt der Blog von Splunk es hier ziemlich gut. In Summe:

Gehe zu Splunk, im oberen Menü klicke auf:

Einstellungen> Daten hinzufügen

Erstellen Sie unter Überwachen einen HTTP-Ereignissammler, lassen Sie alles automatisch und kopieren Sie das erhaltene Token.

Gehen Sie im Honeypot-Droplet zu Ihrer Datei cowrie.cfg und kommentieren Sie den Abschnitt output_splunk aus:

[output_splunk]
enabled = true
url = https: // localhost: 8088 / services / collector / event
Token = xxxxxxxxxxxxxx
Index = Kauri
Sourcetype = Kauri
Quelle = Kauri

Füllen Sie dann das Token und die URL mit den Informationen aus, die Sie von Splunk erhalten.

URL ist die öffentliche IP des zweiten Droplets und Sie erhalten das Token, indem Sie einen neuen Datenkollektor auf Splunk bereitstellen:

Einstellungen> Daten hinzufügen> Monitor> HTTP-Ereignissammler.

Lassen Sie alles automatisch und kopieren Sie das erhaltene Token

Starten Sie dann Cowrie neu und es werden Protokolle gesendet.

Innerhalb von Splunk Gehen Sie zu Daten> Indizes und erstellen Sie einen neuen Index. Ändern Sie einfach den Namen in "cowrie".

Bearbeiten Sie unter Daten> Dateneingaben den HTTP-Collector, damit alles an den Index „cowrie“ gesendet wird.

Gehen Sie zurück zu Daten> Indizes und überprüfen Sie, ob Cowrie Ereignisse sendet. Sie werden sehen, dass der Index „cowrie“ einige der neuesten Ereignisse enthält

Wenn nicht, scheiß drauf.

4. Sehen Sie sich die ausgefallenen Grafiken an:

Gehen Sie links oben in Splunk und klicken Sie auf Apps> Apps verwalten

Dann wähle Install app from file und installiere den Manuka Honeypot:

Manuka HoneyPot.tgz

Dies ist eine Splunk-App, die ich speziell für Cowrie erstellt habe.

Es gibt viele Apps (MHN, Tango, EngagedThreat ...), aber ab 2019 sind alle meistens veraltet, da ich auf den ersten Haftungsausschluss hingewiesen habe.

Lassen Sie den Honeypot einige Stunden (oder Minuten, um fair zu sein) laufen, und Sie werden erste Ergebnisse sehen.

Das ist der coole Teil. Splunk ist eine Art Excel für Steroide, wenn es um Diagramme geht.

Einige der Dashboards, die Sie sehen werden, sind:

Zuerst eine ÜbersichtEin bisschen mehr Details darüber, wer und was sie tunAchten Sie auf den Benutzernamen Ergebnisse der VirusTotal-Übermittlung

5. Wiederholen Sie CLI-Aufzeichnungen:

Terminalaufnahmen werden im Ordner / cowrie / tty gespeichert (auf dem Cowrie-Rechner!)

Sie können im TTY-Verzeichnis nachsehen, ob Aufzeichnungen vorhanden sind

/ home / kauri / kauri / var / lib / kauri / tty

cd / home / kauri / kauri / var / lib / kauri / tty /
/ home / cowrie / cowrie / var / lib / cowrie / tty # ls -la
insgesamt 28
drwxrwxr-x 2 cowrie cowrie 4096 8. Mai 06:35.
drwxrwxr-x 4 cowrie cowrie 4096 7. Mai 04:28 ..
-rw-rw-r-- 1 cowrie cowrie 2 Mai 7 03:38 .gitignore
-rw-r - r-- 1 cowrie cowrie 4750 8. Mai 05:52 22cd32d7e0061023a685158d46903d35c8369d9f1c158daadddc0ca2b3129ba3
-rw-r - r-- 1 cowrie cowrie 432 7. Mai 05:02 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-rw-r - r-- 1 cowrie cowrie 2222 8. Mai 05:45 f4518faf335e77750bc7a61d3e9c0df3c0740c62540259417fec9c067bd2f070

Es gibt einige!

Dann gehe in das bin Verzeichnis:

/ home / cowrie / cowrie / bin

und starte das Playlog mit einem Verweis auf die Dateien im TTY-Verzeichnis mit dem vollständigen Pfad:

./playlog / home / cowrie / cowrie / var / lib / cowrie / tty / 22cd32d7e0061023a685158d46903d35c8369d9f1c158daadddc0ca2b3129ba3

Es gibt ein Dashboard, in dem alle zuletzt erfassten TTY-Aktivitäten aufgelistet sind und das die Dinge ein wenig vereinfacht:

6. Bonus:

Probieren Sie einige Dinge aus, ändern Sie beispielsweise die Datei "userdb.txt" so, dass viele Kennwörter zulässig sind.

Sie erlauben alle Passwörter für einen Benutzer, indem Sie es wie folgt konfigurieren:

admin: x: *

Wenn Sie jede Anweisung Schritt für Schritt befolgt haben und die Ubuntu-Images auf DigitalOcean oder im Cowrie-Projekt sich seit Mai 2019 nicht zu sehr geändert haben, sollte dies einwandfrei funktionieren.

Viel Spaß beim Jagen und freue mich auf jede Rückmeldung!