«One flew east,
one flew west,
one flew over the cucko’s nest«

Fantástica presentación de Bejtlich sobre lo que puede aprenderse del clásico libro ‘The cucko’s egg«.

En este libro, su autor, Cliff Stoll, cuenta como descubrió una trama de espionaje que robaba información de sistemas de los Estados Unidos.

En la presentación Bejtlich recoge las enseñanzas sobre monitorización y respuesta a incidentes que extrae tras leer el libro, animadas con capturas de una representación teatral (casi documental) que hicieron para televisión en la que actúan los propios implicados.

Tuve la oportunidad de leer este libro allá por el 2001 pero finalmente no lo hice :(. Y aunque siempre me he arrepentido, ahora me arrepiento más.

¿Qué puede aprenderse de este libro? Os incluyo la enumeración de Bejtlich traducida, aunque sólo sea para que se me quede mejor:

Lecciones sobre monitorización y análisis

  • «Dotarse de visibilidad» con una aplicación de contabilidad local
  • No dependas de una única «fuente de verdad»
  • El registro centralizado de actividad es una solución contra los intrusos que borran los logs locales
  • La monitorización pasiva de todo el tráfico captura todos los detalles sin alertar al intruso
  • Documenta el análisis en un libro de bitácora
  • Preguntas clave: ¿alcance de la intrusión, profundidad de la intrusión?
  • Monitorizar usando material abandonado es mejor que nada
  • Escritura de herramientas a medida para monitorizar y alertar
  • A alguien le importa: análisis por una persona que se tomó la intrusión de forma personal

Lecciones sobre la naturaleza de la intrusión

  • El intruso aprovecha credenciales débiles para acceder
  • El intruso utiliza una vulnerabilidad local para escalar privilegios
  • El intruso se aprovecha de relaciones de confianza
  • El intruso se aprovecha de configuraciones inseguras por defecto del fabricante
  • El intruso se aprovecha de la monocultura de sistemas (¡Unix de los ’80!)
  • Había información sensible accesible desde la red normal, por ejemplo, equipamiento de tratamiento de cáncer
  • Los propietarios de los sistemas le decían a Stoll repetidamente que una intrusión era «¡imposible — nuestros sistemas son seguros!
  • ¿Recuperación desde una imagen, re-construcción o desde backup?
  • La notificación externa es el método más común de detección

Lecciones sobre las verdades duraderas

  • De las 80 víctimas sólo dos se dieron cuenta (LBNL y NSA)
  • Las agencias del estado piden información pero dan poca
  • La comunicación de información sobre la intrusión compromete las operaciones de seguridad
  • Los intrusos desafían las suposiciones de los propietarios de la red
  • ¿Cuándo monitorizar al intruso y cuándo contenerlo?
  • ¿Cuánto cuesta la información robada? ¿Cuál es el coste del incidente?
  • Diversas técnicas de análisis proporcionan mejores resultados
  • No se puede confiar en que los sistemas se defiendan solos o que informen sobre su estado de seguridad
  • Los intrusos pueden ser creativos y persistentes

Por último, no os perdáis esta TED Talk de Cliff sobre… sobre… bueno, mejor que lo véais. Y no le toméis a mal el comentario «I find compurter security frankly to be kind of boring» :).

Coincidiendo con las noticias del World IPv6 Day (el próximo 8 de junio, reservad vuestras agendas) el otro día me decidí a desempolvar mis limitados conocimientos en el nuevo protocolo que sustentará la Internet del futuro.

Un momento… ¿del futuro?

Si consideramos el uso de IPv6 a escala global pues sí, aún no está (aunque sigue avanzando poco a poco). Pero si consideramos el soporte de sistemas operativos, ya todos lo traen… activado por defecto.

Disponer de funcionalidad que realmente no usas tiene siempre implicaciones de seguridad, claro.

Haced un ip a o un ifconfig y buscad inet6. Lo más seguro es que tengáis ya asignada una dirección IPv6.

No voy a entrar a comentar nada sobre los cambios que supone el IPv6 sobre la versión 4 ni nada que ya bastante podéis encontrar por ahí. Sí quiero incidir en los siguientes puntos interesantes que he podido extraer del vídeo que os empotro al final de este post.

  • Las medidas de filtrado o limitaciones que hayáis puesto para servicios sobre IPv4 no van a ser efectivas en IPv6, lo que significa que es posible que sea posible acceder a servicios limitados a determinados rangos de direcciones IP.
  • Es posible que no encuentres los mismos servicios corriendo en uno y otro protocolo, por lo que la exposición de dichos servicios será diferente.
  • Es bastante probable que tu monitor de red y/o IDS no registre tráfico IPv6, por lo que un intento de explotación usando este protocolo puede pasar más desapercibido.
  • Las herramientas de seguridad suelen tener limitaciones cuando se utiliza IPv6.
  • Normalmente no vas a ser capaz de salir de tu red interna por IPv6 (ya que, a diferencia de equipos y servidores, necesitarías un esfuerzo para conseguirlo. Tendría que estar soportado por tu ISP o emplear algunos de los servicios de túneles disponibles gratuitamente por ahí.

Si tenéis activado IPv6 en algún equipo sobre el que tengáis acceso podéis probar a ejecutar los siguientes comandos:

  • ping6 ff02::1%eth0 para identificar otros equipos con IPv6 activado (y que respondan a ping)
  • ping6 ff02::2%eth0 para identificar equipos con funciones de rutado sobre IPv6 en vuestra red

Sustituid eth0 por la interfaz que queráis usar. Para profesionalizar un poco más el asunto, podéis hacer lo siguiente:

ping6 -c 5 ff02::1%eth0 | cut -d' ' -f4 | grep ^fe80 | sort | uniq | sed -e 's/:$//' > ipv6_addr
nmap -6 -sT -iL ipv6_addr

nmap es una de esas herramientas con limitaciones en el uso de funcionalidad sobre IPv6.

Debido a que la dirección IPv6 autoconfigurada se compone de elementos de la MAC de la interfaz, es posible, mediante un <code>arp -a</code> identificar visualmente a qué equipos (identificados por su dirección IPv4) corresponden las direcciones IPv6 que has encontrado.

Algo así hace automáticamente metasploit con el plugin auxiliary/scanner/discovery/ipv6_neighbor.

Por favor, ved el vídeo porque tiene muchas ideas interesantes desde el punto de vista de seguridad sobre IPv6:

  • Frameworks específicos para análisis y explotación de redes IPv6
  • Uso de socat para pasar de IPv4 a IPv6 y poder ejecutar herramientas que no tienen soporte nativo
  • Servidores de túneles para conectarse a la red mundial de IPv6 y poder participar del World IPv6 Day.
  • etc.

¿Has probado cuántos equipos tienen direcciones IPv6? ¿Has visto si difieren los servicios que ofrecen? Si lo haces no olvides comentarnos tus hallazgos aquí o en el próximo Sec&Beer.

Ah, y si consigues conectarte a Internet con IPv6 no olvides ir a ver a la tortuga bailando.

Por último, el vídeo prometido.

Rick Hayes – Assessing and Pen-Testing IPv6 Networks from Adrian Crenshaw on Vimeo.