
virtuelle Honeypots
Honeyd ist ein kleiner Daemon, der virtuelle Hosts in einem Netzwerk erstellt. Die Hosts können so konfiguriert werden, dass sie beliebige Dienste ausführen, und ihre TCP-Persönlichkeit kann angepasst werden, sodass sie den Anschein erwecken, bestimmte Versionen von Betriebssystemen auszuführen. Honeyd ermöglicht es einem einzelnen Host, mehrere Adressen – ich habe bis zu 65536 getestet – in einem LAN für die Netzwerksimulation zu belegen.
Es ist möglich, die virtuellen Maschinen anzupingen oder ein Traceroute auf sie auszuführen. Jede Art von Dienst auf der virtuellen Maschine kann gemäß einer einfachen Konfigurationsdatei simuliert werden. Anstatt einen Dienst zu simulieren, ist es auch möglich, ihn per Proxy an eine andere Maschine weiterzuleiten.
Honeyd hängt von mehreren Bibliotheken ab:
Stellen Sie sicher, dass diese installiert sind.
So installieren Sie die Abhängigkeiten unter Ubuntu:
$ sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake
So installieren Sie die Abhängigkeiten unter ArchLinux:
$ pacman -S libdnet libpcap libevent pcre libedit bison flex libtool automake
Damit das Framework für Regressionstests ausgeführt werden kann, müssen Sie das Python-Modul für libdnet installieren. Für die besten Ergebnisse benötigen Sie möglicherweise Python 2.4.
Um Honeyd zu erstellen, führen Sie die folgenden Befehle aus:
$ ./autogen.sh $ ./configure $ make $ sudo make install
Wenn Ihre Kompilierung aufgrund von Python-bezogenen Fehlern abbricht, können Sie versuchen, configure wie folgt auszuführen:
$ ./configure --without-python
Wenn Sie unter Linux Kompilierungswarnungen erhalten, beschweren Sie sich bei den Leuten, die für den Schwachsinn mit den bedingten Header-Dateien verantwortlich sind.
Die Dokumentation ist Teil dieser Veröffentlichung. Die Manpage kann mit den folgenden Befehlen aufgerufen werden:
$ man honeyd
oder im Quellverzeichnis
$ nroff -mdoc honeyd.8
Weitere Informationen finden Sie unter http://www.honeyd.org/ und https://github.com/DataSoft/Honeyd
Honeyd erfordert für die Ausführung Root-Rechte. Normalerweise führen Sie es mit Argumenten ähnlich den folgenden aus:
$ sudo ./honeyd -d -f config.sample 10.0.0.0/8
Es wird dringend empfohlen, Honeyd in einer chroot-Umgebung unter einer Sandbox wie systrace auszuführen. Wenn möglich, gibt Honeyd nach dem Erstellen seiner Raw-Sockets seine Privilegien ab. Dies hängt von Ihrer Konfigurationsdatei ab. Sie können die Abgabe der Privilegien erzwingen, indem Sie die uid und gid von Honeyd über die Flags -u und -g festlegen.
Um die Qualität der OS-Scanergebnisse empirisch zu überprüfen, ist ein Bash-Skript namens ostest enthalten. Allerdings gibt es dabei ein paar Haken. Normalerweise ignoriert Honeyd Pakete, die von derselben Maschine stammen, auf der es läuft, um Routing-Schleifen zu vermeiden. (oder so behauptet es zumindest) Das Scannen der eigenen Maschine funktioniert also nicht.
Ein hässlicher Hack, um dies zum Laufen zu bringen, ist die Verwendung einer separaten Hardware-Ethernet-Schnittstelle, z. B. eines billigen USB-Ethernet-Adapters. Sie haben dann zwei Ethernet-Adapter, nennen wir sie eth0 und eth1. Richten Sie eine Route ein, sodass die an ostest übergebene IP-Adresse über eth0 geroutet wird. Dann richten Sie Honeyd so ein, dass es auf eth1 lauscht.
Honeyd sieht dann Pakete, die von eth0 kommen, und nimmt an, dass sie von einer anderen Maschine als der unseren stammen, und verwirft sie daher nicht.
Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Wahl) jeder neueren Version.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; ohne die stillschweigende Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Wahl) jeder neueren Version.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; ohne die stillschweigende Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
Die folgenden Personen haben mit Vorschlägen, Ideen oder Code geholfen:
Dug Song [email protected] Jamie Van Randwyk [email protected] Eric Thomas [email protected] Christopher Kolina Derek Cotton Yuqing Mai Lance Spitzner [email protected] Christian Kreibich [email protected] Bill Cheswick [email protected] Lauren Oudot [email protected] Jon Oberheide [email protected] David Clark [email protected] Dan Petro [email protected] David Scott [email protected] Addison Waldow [email protected] Rami Rashid [email protected]