jueves, diciembre 13, 2012

Topera: el escáner IPv6 invisible

Recientemente se celebraron en Albacete las II Conferencias de seguridad “Navaja Negra”. Entre las muchas charlas que se presentaron (podéis ver una crónica en: Día 1, Día 2) estaba la de Rafa Sánchez y mía (cr0hn), que llevaba por nombre: “IPv6 vs IDS. Hagan sus apuestas…”. En ella presentábamos un fallo de Snort, no reportado ni corregido, resultado de una investigación y que os contamos a continuación.

Probablemente todos sabréis lo que es Snort, uno de los IDS (Sistema de detección de Intrusiones) más usados, open source y base para numerosos productos comerciales como Check Point o Juniper. Por otro lado, IPv6 es un protocolo complejo, con muchas posibilidades, pero también con muchos puntos de fallo. Lo peor, debido a su poca penetración aún en Internet, es que muchas aplicaciones y sistemas todavía no se encuentran preparados adecuadamente para soportar este protocolo. Este es uno de los motivos por los que podemos decir que a día de hoy usar IPv6 es, al menos, tan inseguro como IPv4.

En IPv6 podemos enviar un paquete TCP muy sencillo, solicitando un SYN normal, o podemos enviar ese mismo paquete añadiendo más capas a la cabecera IP. Una de las formas por la que podemos “engordar” la cabecera son los “Extension Headers” de IPv6. Éstas permiten enviar información extra al sistema destino cuando es necesario o dejar la cabecera IPv6 básica lo más sencilla y liviana posible.

Llegados a este punto nos preguntamos cómo se comportarían los sistemas “críticos” de red, como un IDSSnort en este caso -, ante un paquete IPv6 “engordado” a base de Extension Headers. El resultado fue sorprendente: Snort no fue es capaz de detectar el ataque lanzado de esta forma.

Haciendo uso de esta nueva técnica hemos desarrollado “Topera”, un escáner de puertos IPv6 al estilo nmap, muy simple de usar, con funcionalidad limitada pero muy útil. Aunque todavía es un PoC, es capaz de realizar un escaneo de red eludiendo los sistemas de detección de intrusos basados en Snort.

A continuación os mostramos un ejemplo de su utilidad. Veremos como Snort es capaz de detectar un escaneo IPv6 sin mayor problema. Después usaremos Topera, pudiendo ver como dicho escaneo pasa desapercibido para Snort. En la siguiente imagen se muestra, ventana de la derecha, el nmap tras un escaneo de puertos y, a la izquierda, el contenido del fichero de alertas de Snort detentando dicho ataque:

Figura 1: Snort detecta a nmap haciendo un escaneo de puertos

Ahora podemos ver cómo realizamos el escaneo con Topera, ventana de la derecha, y el fichero de log de Snort sin mostrar ninguna alerta:

Figura 2: Snort no detecta el escaneo de puertos con Topera

Como hemos comentado más arriba, de momento es solamente un PoC, pero queda patente el riesgo que puede suponer para una empresa, organización o, incluso, un departamento gubernamental. Podéis encontrar más información en la sección “labs” de Iniqua y en la web del proyecto en google code.

Daniel García a.k.a. cr0hn (@ggdaniel)
Auditor de seguridad e investigador en Buguroo Offensive Security y miembro de Iniqua.
Rafa Sánchez (@r_a_ff_a_e_ll_o
Auditor de seguridad e investigador miembro de Iniqua

***************************************************************************************************
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (2)
- Hacking en redes de datos IPv6: Te hackearán por IPv6 por pensar que no lo usas
- Hacking en redes de datos IPv6: Neighbor Spoofing
- Hacking en redes de datos IPv6: Captura de SMB con Neighbor Spoofing
- Hacking en redes de datos IPv6: FC00::1 (Algunos) Ataques en redes de datos
- Hacking en redes de datos IPv6: Man in the middle en redes IPv4 usando IPv6
- Hacking en redes de datos IPv6: Desactivar IPv6 para evitar D.O.S. SLAAC
- Hacking en redes de datos IPv6: Topera - Scanner de puertos sobre IPv6
- Hacking en redes de datos IPv6: Predecir direcciones IPv6 Local-Link de OS X
- Hacking en redes de datos IPv6: Ataques en redes de datos IPv 4 e IPv6 ***************************************************************************************************

2 comentarios:

  1. Vale, no te lo detecta el IDS... pero estamos en las mismas, te lo detecte o no (en el log de snort), el escaneo se hace igual y muestra resultados iguales (me refiero al scaneo... que como "atacantes" queremos saber que puertos tiene abiertos). Así que te detecte snort o no, da un poco igual, ya que te hace el escaneo, aunque la función del snort parece ser que es que te "detecte" y que te pare el ataque...

    Corregidme si estoy equivocado.

    No obstante, puede ser un buen comienzo para burlar esos IDS

    ResponderEliminar
  2. Acabamos de publicar la versión 2 de Topera, con un nuevo ataque: Slow HTTP en IPv6 e indetectable por Snort.

    Podéis descargar y "jugar" con ella en la nueva web del proyecto, además tenéis un video explicativo:

    http://toperaproject.github.io/topera/

    ResponderEliminar