miércoles, 24 de agosto de 2011

Manual de Honeyd (VI). Honeyd

d.- Honeyd

image

La instalación en Ubuntu de honeyd es muy sencilla, simplemente ejecutaremos:
apt-get install honeyd
y el sistema instalará la lista de paquetes necesarios incluyendo algunos ficheros de configuración básicos. 

Una vez hecho podemos echarle un vistazo al directorio /etc/honeypot dónde nos encontraremos un fichero de configuración de ejemplo junto con los ficheros de firmas de nmap, p0f y xprobe. Los ficheros de firmas los empleará honeyd para engañar a escaneos activos y pasivos cuando otros sistemas traten de averiguar el sistema operativo que está simulando. El fichero de configuración “honeyd.conf” puede servirnos de guía para crear nuestro propio fichero dónde simularemos nuestra red. 
En mi caso he decidido simular tres máquinas en el mismo rango de red que la de producción, los equipos y servicios, tal y cómo se puede ver en la primera imagen del guión son: windows2003 server, windows XP y Suse 8.0 (no todos los puertos están redirigidos desde fuera). El fichero de configuración será el siguiente:

### Máquina Windows 2003
create win2k
set win2k personality "Microsoft Windows Server 2003 Standard Edition"
set win2k default tcp action reset
set win2k default udp action reset
set win2k default icmp action reset
set win2k uptime 3867
set win2k droprate in 13
add win2k tcp port 80 "/usr/share/honeyd/scripts/win32/win2k/iis.sh $ipsrc $sport $ipdst $dport"
add win2k tcp port 110 "/usr/share/honeyd/scripts/win32/win2k/exchange-pop3.sh $ipsrc $sport $ipdst $dport"
add win2k tcp port 143 "/usr/share/honeyd/scripts/win32/win2k/exchange-imap.sh $ipsrc $sport $ipdst $dport"
# Ejemplo de una plantilla para Windows Xp
create template
set template personality "Microsoft Windows XP Professional SP1"
set template uptime 1728650
set template maxfds 35
# Servidor web
add template tcp port 80 "/usr/share/honeyd/scripts/web.sh"
add template tcp port 22 "/usr/share/honeyd/scripts/test.sh $ipsrc $dport"
# Debian-specific (use nobody = 65534 instead of 32767)
set template uid 32767 gid 32767
### Plantilla Linux Suse 8.0
create suse80
set suse80 personality "Linux 2.4.7 (X86)"
set suse80 default tcp action reset
set suse80 default udp action block
set suse80 default icmp action open
set suse80 uptime 79239
set suse80 droprate in 4
add suse80 tcp port 21 "/usr/share/honeyd/scripts/unix/linux/suse8.0/proftpd.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 22 "sh /usr/share/honeyd/scripts/unix/linux/suse8.0/ssh.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 25 "/usr/share/honeyd/scripts/unix/linux/suse8.0/sendmail.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 79 "sh /usr/share/honeyd/scripts/unix/linux/suse8.0/fingerd.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 80 "/usr/share/honeyd/scripts/unix/linux/suse8.0/apache.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 3128 "sh /usr/share/honeyd/scripts/unix/linux/suse8.0/squid.sh $ipsrc $sport $ipdst $dport"
add suse80 tcp port 8080 "sh /usr/share/honeyd/scripts/unix/linux/suse8.0/squid.sh $ipsrc $sport $ipdst $dport"
add suse80 udp port 514 "/usr/share/honeyd/scripts/unix/linux/suse8.0/syslogd.sh $ipsrc $sport $ipdst $dport"
create default
set default default tcp action block
set default default udp action block
set default default icmp action block
bind 192.168.0.22 suse80
bind 192.168.0.23 win2k
bind 192.168.0.24 template
bind 192.168.0.25 template
bind 192.168.0.26 template
Los pasos para crear y configurar cada una de las máquinas que simulará son los siguientes:
  1. Empleamos “create” para crear una máquina a simular y darle un nombre.
  2. Elegimos que tipo de equipo vamos a simular con “set nombre personality “Sistema operativo” ”. Para elegir el sistema operativo podemos elegir uno de los listados en el fichero /etc/honeypot/
  3. Podemos seguir estapleciendo una serie de parámetros con la opción set, como pueden ser, las acciones a realizar cuando reciba paquetes, udp, tcp, icmp, tiempo que lleva activa la máquina, cambiar los permisos de ejecución de honeyd,...
  4. Añadimos los protocolos y puertos que tendrá abiertos la máquina e incluso el script que queremos que ejecute cuando llegue un paquete, lo que permitirá simular determinados servicios.
  5. Vinculamos cada máquina creada a una ip con bind: bind “ip” “nombre_máquina”
Una vez creado el fichero lo ponemos en marcha indicándole: que no demonice el servicio y que muestre por pantalla información detallada (“-d”), la interfaz en la que queremos que escuche (-i eth2) los ficheros de firmas que ha de emplear para búsqueda de huellas del sistema operativo dependiendo del programa de reconocimiento que emplee el atacante (nmap.prints, xprobe2.conf y pf.os) indicamos dónde buscar las asociaciones de sistemas operativos (nmap.assoc), finalmente almacenará todos los logs en /var/log/honeypot/honeyd.log; incluiré las opciones de inicialización en un fichero ejecutable llamado arrancar_honeyd:
honeyd -d -i eth2 -f /etc/honeypot/honeyd_uned.conf -p /etc/honeypot/nmap.prints –x /etc/honeypot/xprobe2.conf -0 /etc/honeypot/pf.os -a /etc/honeypot/nmap.assoc -l /var/log/honeypot/honeyd.log
image
vemos que se conecta sin problemas y lanza el script web.sh que simula un servidor web, el cliente vería la siguiente imagen, ya que para comprobar que funciona nos conectamos, por ejemplo al servidor web de nuestra red:
image

Además los scripts también tienen sus ficheros de log como podemos ver en el siguiente punto.


 << Anterior                                                                                                                Siguiente >>

Para ver el resto de manuales de seguridad y enlaces a las siguientes entregas, puede acudir al índice de temas de seguridad en el enlace

2 comentarios:

Anónimo dijo...

PARA CAMBIAR EL MENSAJE DE LA WEB Y TE PAREZCA EL QUE PUSISTE, COMO LO MODIFICASE? NO ENTIENDO

Anónimo dijo...

creo recordar que es en el fichero web.sh