
honeypots virtuales
Honeyd es un pequeño demonio que crea hosts virtuales en una red. Los hosts pueden configurarse para ejecutar servicios arbitrarios, y su personalidad TCP puede adaptarse para que parezcan estar ejecutando ciertas versiones de sistemas operativos. Honeyd permite que un solo host reclame múltiples direcciones; he probado hasta 65536 en una LAN para simulación de red.
Es posible hacer ping a las máquinas virtuales, o traceroute a ellas. Cualquier tipo de servicio en la máquina virtual puede simularse de acuerdo con un archivo de configuración simple. En lugar de simular un servicio, también es posible proxyarlo a otra máquina.
Honeyd depende de varias bibliotecas:
Asegúrate de tenerlas instaladas.
Para instalar las dependencias en Ubuntu:
$ sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake
Para instalar las dependencias en ArchLinux:
$ pacman -S libdnet libpcap libevent pcre libedit bison flex libtool automake
Para que el marco de pruebas de regresión funcione, necesitas instalar el módulo Python para libdnet. Puede que necesites Python 2.4 para obtener los mejores resultados.
Para compilar honeyd, ejecuta los siguientes comandos:
$ ./autogen.sh $ ./configure $ make $ sudo make install
Si tu compilación se detiene debido a errores relacionados con Python, puedes intentar ejecutar configure como
$ ./configure --without-python
Si obtienes advertencias de compilación en Linux, quéjate con los responsables de la idiotez de los archivos de cabecera condicionales.
Puedes encontrar documentación como parte de esta versión. La página del manual puede accederse con los siguientes comandos:
$ man honeyd
o en el directorio fuente
$ nroff -mdoc honeyd.8
Se puede encontrar más información en http://www.honeyd.org/ y https://github.com/DataSoft/Honeyd
Honeyd requiere privilegios de root para ejecutarse. Normalmente, lo ejecutas con argumentos similares a los siguientes:
$ sudo ./honeyd -d -f config.sample 10.0.0.0/8
Se recomienda encarecidamente ejecutar Honeyd en un entorno chroot bajo un sandbox como systrace. Si es posible, Honeyd abandona los privilegios después de crear sus sockets raw. Esto depende de tu archivo de configuración. Puedes forzar la eliminación de privilegios configurando el uid y gid de Honeyd mediante las opciones -u y -g .
Para verificar empíricamente la calidad de los resultados de escaneo de SO, se incluye un script bash llamado ostest. Sin embargo, hay algunos "detalles" al respecto. Normalmente, honeyd ignora los paquetes provenientes de la misma máquina en la que se está ejecutando para evitar bucles de enrutamiento (o al menos eso afirma). Por lo tanto, escanearse a uno mismo no funciona.
Un truco feo para hacer esto funcionar es usar una interfaz Ethernet de hardware separada, como un adaptador USB-Ethernet barato. Entonces tendrás dos adaptadores eth, llámalos eth0 y eth1. Configura una ruta para que la dirección IP asignada a ostest se enrute a eth0. Luego configura honeyd para que escuche en eth1.
Honeyd verá los paquetes provenientes de eth0 y asumirá que es una máquina diferente a la nuestra, y no los descartará.
Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License publicada por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a tu elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para más detalles.
Deberías haber recibido una copia de la GNU General Public License junto con este programa; si no, escribe a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License publicada por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a tu elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para más detalles.
Deberías haber recibido una copia de la GNU General Public License junto con este programa; si no, escribe a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Las siguientes personas han ayudado con sugerencias, ideas o código:
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]