(Update @ 15. März – Kleinere Bemerkung zu Firewalls/Router hinzugefügt.)
Hallo.
Ich wollte heute einmal erklären, wie man sich einen Amun Honeypot auf einem Linux System installiert. (Getestet wird hier in einer VM mit Debian 5.0 Lenny)
Vorneweg: Ich erkläre das ganze anhand der aktuellen Amun Version 0.1.7, da mir das am sinnvollsten erscheint. Vorraussetzungen für die erfolgreiche Einrichtung sind Basiskenntnisse im Umgang mit Linux, besonders Debian Systemen.
Was benötigt man dafür?
Als allerstes natürlich ein funktionierendes Hostsystem. Hierbei empfiehlt sich ein kleiner vServer, den man dann ausschließlich nur für den Honeypot verwendet. Oder alternativ auch ein kleiner HomeServer. Extra einen teuren Rootserver würde ich dafür nicht kaufen.
Dazu basiert Amun auf der Python Skriptsprache. Sollte der passende Interpreter noch nicht installiert sein, könnt ihr diesen sehr einfach nachinstallieren:
$ su -
$ apt-get install python
Desweiteren braucht Amun noch die Psyco Erweiterung für Python, welche ebenfalls im Debian Repository zu finden sein sollte.
$ su -
$ apt-get install python-psyco
$ exit
Und zu guter letzt noch den eigentlich Amun Honeypot, welcher hier zu finden ist: http://sourceforge.net/project/platformdownload.php?group_id=221628
Möchtet ihr submit-mysql oder log-mysql nutzen, wird außerdem noch MySQLdb benötigt. Wenn ihr log-surfnet nutzen möchtet, wird psycopg2 genutzt.
Vorbereitungen & Konfiguration
Ihr steht jetzt vor eurem frischen Debian System und habt Python und Python-Psyco installiert. (Falls die beiden Module genutzt werden, auch die anderen Pakete.)
Legt einen neuen User “Amun” an und meldet euch mit diesem an. Geht in das Homeverzeichnis des Users und ladet euch per wget die aktuelle Amun Version.
Extrahiert das tar.gz Archiv und begeht euch in den Ordner. Ihr findet weitere Unterordner wie config/, log-modules/ usw. vor. Doch bevor wir uns der Konfiguration widmen, werden wir dem System erstmal sagen, das Amun beim Systemstart mitgestartet werden soll. Dazu benötigen wir ein kleines Startscript:
#!/bin/sh
# Amun Honeypot Startscript
# path to amun server
amuncommand=”/usr/bin/env python /home/amunserver/amun/amun_server.py”
case “$1″ in
start)
echo -n “Starting Amun Honeypot… ”
start-stop-daemon –start –quiet –pidfile /var/run/amunserver.pid –make-pidfile –background –exec $amuncommand
echo “done.”
;;
stop)
echo -n “Stoping Amun Honeypot… ”
start-stop-daemon –stop –quiet –pidfile /var/run/amunserver.pid
echo “done.”
;;
*)
echo “Usage: /etc/init.d/amun {start|stop}”
exit 1
;;
esac
exit 0
In der Variable amuncommand gebt ihr den Pfad zum amun_server.py, samt Pythonumgebung an. Speichert das Script als amun unter /etc/init.d/amun ab.
Nun könnt ihr Amun jederzeit per /etc/init.d/amun {start|stop} starten oder stoppen.
Jetzt müssen wir dem System noch sagen, er soll es bei jedem Systemstart starten.
$ su -
$ update-rc.d amun defaults
$ exit
Fertig. Ab sofort startet Amun jedesmal beim booten des System mit. Endlich können wir mit der Konfiguration des Amun Honeypots beginnen.
Geht wieder in das Verzeichnis, wohin ihr den Amun Honeypot entpackt habt. Dort cd’t ihr in das conf/ Verzeichnis.
Passen wir jetzt zuerst einmal die amun.conf an. Dazu öffnet ihr diese mit einem beliebigen Editor. (vim oder nano)
### define the amun server ip
ip: 0.0.0.0
Dort könnt ihr, falls der Server mehrere IP Adressen besitzt eine von diesen eintragen, oder per 0.0.0.0 einfach auf allen Adressen horchen lassen.
### define submission modules
submit_modules:
submit-md5,
# submit-anubis,
# submit-cwsandbox,
# submit-joebox
Solltet ihr eure Malware an verschiedene Sandbox-Dienste schicken wollen, nehmt die # vor submit-anubis und/oder submit-cwsandbox und/oder submit-joebox weg.
### define logging modules
log_modules:
# log-surfnet
Hier sind die logging Module. Standard steht hier nur das log-surfnet Modul auskommentiert drinne. Hier könnt ihr noch nach belieben log-blastomat, log-mail, log-mysql und log-syslog adden. (Auf die Konfiguration dieser Dienste gehe ich aber nicht weiter ein.)
Unter den vuln_modules usw. braucht ihr nichts verändern. Solltet ihr allerdings hinter einem Router oder einer Firewall sitzen, müsst ihr diese Ports die bei den vuln_modules angegeben sind dort forwarden, da euer Honeypot sonst keine Angriffe erhalten kann. (Wie auch, wenn der “Zutritt” zum System nicht gewährt ist? :p)
Als einfachste Methode empfiehlt sich hier einfach eine DMZ für den Server zu öffnen.
Schauen wir uns jetzt die Konfiguration der submit Module an.
### define the email address reports should be sent to
### (set to None if only logging to submission.log should be enabled)
reportToEmail: None
Ersetzt das None mit einer eurer E-Mail Adressen um die Logs an diese E-Mail geschickt zu bekommen. (Achtung, nutzt ein extra Postfach für die Logs, da es sehr viele werden.)
Dies tut ihr in allen 3 submit Modulen, falls ihr alle 3 nutzen möchtet.
Soweit, so gut. Was die log Module angeht, müsst ihr selber mal schauen, da ich sie nie wirklich genutzt habe. Sollte aber nicht sonderlich schwer sein, da alles in den Files kommentiert ist.
Voil’a. Euer Amun Honeypot ist soweit erfolgreich konfiguriert. Ihr könnt diesen jetzt per /etc/init.d/amun start zum Leben erwecken.
Viel Spaß nun mit eurem frischen Amun Honeypot. :]
Anmerkungen, Probleme, usw. bitte als Kommentar verfassen.
duke Linux, Security, Tutorials Amun, tutorial
Recent Comments