1. Experto en Administración
y Seguridad de
Sistemas Informáticos
Módulo: Sistemas de Detección de Intrusos
Profesor: Juan Antonio Gil Martínez-Abarca
Curso Escolar: 2006/2007
Experto en Administración y Seguridad de Sistemas Informáticos
2. Tabla de Contenidos
• honeypots: Detección de intrusos
basada en señuelos
• Características
• Funcionamiento
• Prácticas: Honeyd
Experto en Administración y Seguridad de Sistemas Informáticos
3. Características
• Honeyd: Permite una detección temprana de
actividad no autorizada. Opensource y existe
también para Windows.
• De baja interacción y simula servicios y sistemas
operativos
• Fácil de configurar y mantener
• Su función principal es monitorizar el espacio de
direcciones no utilizado para interceptar
conexiones a sistemas no existentes, para fingir
ser ellos y capturar y registrar el ataque.
• Tanto para TCP como UDP, pudiéndose configurar
para que se monitoricen puertos específicos.
Experto en Administración y Seguridad de Sistemas Informáticos
4. Características
• Monitoriza y simula el comportamiento
esperado, pe un servidor FTP o Web Si
el atacante hace algo inesperado no sabe
cómo responder y genera un mensaje de
error
• Una de sus grandes características es que
podemos asignar a cada uno de nuestros
dispositivos virtuales el SO que queramos.
• Simula equipos con sus servicios.
• Dispone de una B.D. de fingerprints de
nmap
• Posibilidad de blackholing
Experto en Administración y Seguridad de Sistemas Informáticos
5. Características
• Simula redes enteras:
– Con sus routers
– Especificación de latencias y BW
– Especificación de probabilidades de pérdidas
– Posibilidad de usar túneles GRE
– Posibilidad de incorporar equipos reales
• Mientras el atacante se entretiene con los
servicios simulados, los IDS los pueden
detectar y prevenir (por ejemplo, filtrando
sus IPs)
Experto en Administración y Seguridad de Sistemas Informáticos
6. Instalación y configuración
apt-get install honeyd-X honeyd-common-X
dpkg –i honeyd-X
• Disponible: Honeyd Linux Toolkit
• Después de instalarlo, hay un fichero
que se llama config.localhost con
muchos dispositivos configurados.
/usr/share/doc/honeyd/examples/config.localhost
Experto en Administración y Seguridad de Sistemas Informáticos
7. Instalación
• Arpd: Uso de blackholing
– Permite emular máquinas virtuales
sobre peticiones a IP no existentes
– El atacante hace un scan de la red
• Se generan por tanto peticiones ARP
•Honeyd genera sus propias peticiones ARP
sobre esas direcciones IP
•ARP SPOOFING
• Honeydsum: Analizador de logs. Genera
informes filtrados por criterios
• Honeycomp: Detecta los ataques y crea
firmas usando reconocimiento de patrones
que analizarán los IDS
Experto en Administración y Seguridad de Sistemas Informáticos
8. Configuración
• Si observamos la definición del dispositivo 10.0.0.1 de ejemplo,
veremos lo siguiente:
#cat /usr/share/doc/honeyd/examples/config.localhost|more
...
route entry 10.0.0.1
route 10.0.0.1 link 10.0.0.0/24
...
create routerone
set routerone personality "Cisco 7206 running IOS 11.1(24)"
set routerone default tcp action reset
add routerone tcp port 23 "router-telnet.pl"
...
bind 10.0.0.1 routerone
...
• Dispositivo IP 10.0.0.1, se comportara como un Cisco 7206, con
IOS 11.1(24) y que reiniciará todas las conexiones TCP menos las
que vayan al puerto 23 y el script router-telnet.pl (una emulación
del demonio telnet) será ejecutado.
Experto en Administración y Seguridad de Sistemas Informáticos
9. Configuración
• Si observamos la definición del dispositivo
10.21.19.102 de ejemplo, veremos lo siguiente:
create template
set template personality "AIX 4.0 - 4.2"
add template tcp port 80 "sh scripts/web.sh"
add template tcp port 22 "sh scripts/test.sh
$ipsrc $dport"
add template tcp port 23 proxy 10.23.1.2:23
set template default tcp action reset
bind 10.21.19.102 template
Experto en Administración y Seguridad de Sistemas Informáticos
10. Ejecución
honeyd -l eth0 172.16.1.1-172.16.1.66
• Desde el exterior, responderá a todo el
tráfico dirigido al rango especificado
escuchando a través de la NIC etho (la
real)
• ¿Qué hacemos con un paquete?
• Hemos visto reglas set y add que,
además, tienen una acción a tomar. Las
acciones siguen la sintaxis:
action = ["tarpit"] ("block" | "open" | "reset" |
cmd-string | "internal" cmd-string | "proxy"
ipaddr":"port )
Experto en Administración y Seguridad de Sistemas Informáticos
11. Ejecución
• [tarpit] Hace la conexión más lenta ocupando
recursos del atacante
• (block | open | reset)
– block Muestra el puerto como filtrado
– open Muestra el puerto como abierto
– reset Muestra el puerto como cerrado
• cmd-string
– executa un script que se encargará del tráfico del
puerto
– Existen guiones que aceptan y cortan conexiones y
otros que emulan servidores enteros
– Si se usa la palabra internal antes del comando, se
ejecutará desde el propio honeyd, sin hacer un fork.
Experto en Administración y Seguridad de Sistemas Informáticos
12. Funcionamiento
• Windows 2000 con IIS
create default
set default default tcp action reset
set default default udp action reset
set default default icmp action reset
create windowsIIS
set windowsIIS personality "Microsoft Windows 2000
Server SP2"
set windowsIIS default tcp action reset
set windowsIIS default udp action reset
add windowsIIS tcp port 80 "perl iis/iisemul8.pl"
add windowsIIS tcp port 139 open
add windowsIIS tcp port 137 open
add windowsIIS udp port 137 open
add windowsIIS udp port 135 open
bind 172.16.1.2 windowsIIS
Experto en Administración y Seguridad de Sistemas Informáticos
13. Ejecución
create servidor_web
set servidor_web personality "Linux kernel 2.4.18 2.4.20 (X86)"
add servidor_web tcp port 80 "python
HoneyWeb/HoneyWebServer0.4.py 'Apache/1.3.27 (Unix)
mod_perl/1.27' $ipsrc $sport $ipdst"
add servidor_web tcp port 2021 open
add servidor_web tcp port 22 open
create servidor_mail
set servidor_mail personality "Linux kernel 2.4.18 2.4.20 (X86)"
add servidor_mail tcp port 25 open
add servidor_mail tcp port 110 open
add servidor_mail tcp port 3306 block
set servidor_mail default tcp action reset
set servidor_mail default udp action reset
bind 172.16.1.2 servidor_web
bind 172.16.1.3 servidor_mail
Experto en Administración y Seguridad de Sistemas Informáticos
14. Ejecución
create router
set router personality "Cisco IOS 11.3 12.0(11)"
set router default tcp action reset
set router default udp action reset
add router tcp port 23 "perl telnet/routertelnet.pl"
set router uptime 1327650
bind 172.16.1.254 router
route entry 172.16.1.254 network 172.16.1.0/24
route 172.16.1.254 link 10.0.0.0/16
create servidor_aplicacions
set servidor_aplicacions personality "Microsoft Windows XP SP1
or Windows 2000 SP3"
set servidor_aplicacions default tcp action reset
set servidor_aplicacions default tcp action reset
add servidor_aplicacions tcp port 3306 filtered
add servidor_aplicacions tcp port 5255 filtered
bind 10.0.0.1 servidor_aplicacions
Experto en Administración y Seguridad de Sistemas Informáticos
15. Práctica
• Probar con nmap las configuraciones anteriores
• Simular Windows 2000 con IIS
• Simular Linux Apache + MySQL
• Probar ambas con nmap y comprobar qué indica.
• Los guiones para simular servicios se pueden
obtener (al margen del los distribuidos con el
paquete):
http://www.honeyd.org/contrib.php
Experto en Administración y Seguridad de Sistemas Informáticos
16. Patrocina:
Organiza:
Enseñanzas Propias
Universidad de Almería
Escuela Politécnica Superior
Universidad de Almería
Experto en Administración y Seguridad de Sistemas Informáticos