Investigar una alerta de IDS desconocida (TROJAN ABUSE.CH SSL Fingerprint Blacklist Malicious SSL Certificate Detected)

Hace unos días me encontré con una alerta que me llamo la atención, pues era la primera vez que la veía. La alerta en cuestión era ET TROJAN ABUSE.CH SSL Fingerprint Blacklist Malicious SSL Certificate Detected (Ixeshe CnC).

A primera vista, solo por el nombre de la alerta, queda claro que hay un fingerprint de SSL que está en la blacklist de Abuse.ch. Además, parece que es utilizado para acceder o conectarse al C2 Ixeshe. Para conocer con exactitud por qué ha saltado la alerta me dirijo a la web de documentación de Emerging Threats, en concreto a esta dirección http://doc.emergingthreats.net/bin/view/Main/2022960.

Desde la web de Emerging Threats queda claro el patrón de búsqueda. Lo primero es que haya una conexión establecida desde el servidor (flow:established,from_server;), que además aparezca el contenido 0900b5c752c98781b503 (content:”|09 00 b5 c7 52 c9 87 81 b5 03|”;) seguido de 550403 (content:”|55 04 03|”;) y finalmente que apareca 0x09localhost (content:”|09|localhost”;). Indicar que se han obviado algunas partes de la regla de Snort. Si el lector lo requiere puede dirigirse a http://manual-snort-org.s3-website-us-east-1.amazonaws.com/node32.html donde se documentan todas las opciones.

[Read more…]

Docker aplicado al Incident Handling

Docker ya lleva entre nosotros algún tiempo. En esta entrada se va a hablar de cómo es posible sacar partido de Docker y su uso en DFIR para un análisis rápido en los equipos de los analistas.

En primer lugar hay que conocer Docker. No hace falta sacarnos un máster, pero al menos conocer los conceptos básicos de la tecnología Docker. Voy a explicar muy brevemente los conceptos de imagen y contenedor, y cómo Docker trabaja con ellos.

  • Una imagen Docker es un sistema “congelado”, un sistema pausado o en estado de hibernación, el cual se encuentra en un modo de solo lectura.
  • Un contenedor no es más que una imagen en ejecución. Docker “le da al play” y añade una capa sobre la imagen en un modo de lectura-escritura.

Cuando el contenedor se detiene o se borra, Docker automáticamente elimina la capa de lectura-escritura dejando la imagen en su estado original. Esto permite reutilizar un sistema base en varios entornos, o partir siempre del mismo sistema base.
[Read more…]

Confía solo en tus binarios

Uno de los principales problemas que nos encontramos ante un equipo infectado en una live response es la confianza con el mismo, a lo que nos preguntamos ¿Habrán sido modificados los binarios del sistema? ¿Qué binarios han podido ser eliminados?

Esas preguntas implican tener que desconfiar totalmente de los binarios del sistema y utilizar binarios de confianza. ¿Pero cómo obtenemos unos binarios de confianza en un sistema infectado? La mejor forma es llevándolos encima o en un pen drive. Con unos pocos pasos se puede instalar un S.O. en un disco extraíble y montar la unidad como solo lectura en el equipo afectado, de modo que dispondremos de las herramientas necesarias y podremos trabajar con plena confianza con el sistema.

[Read more…]

Preparar iOS para el pentesting de apps (I)

jmc0Estamos más que acostumbrados a realizar pruebas de penetración a equipos y aplicaciones web, incluso como estresar aplicaciones en búsqueda de errores no controlados por los desarrolladores. Pero cuando se habla de aplicaciones móviles la cosa cambia. Las apps son algo “nuevo”, y por lo tanto las herramientas y métodos para realizar auditorías de seguridad no son tan conocidos.

A continuación vamos a ver unos primeros pasos para configurar los dispositivos con iOS para realizar pentesting a las aplicaciones móviles.

Antes de realizar pentesting en las aplicaciones de iOS se debe de realizar el jailbreak al dispositivo con el que queremos realizar la auditoría. Existen miles de guías/tutoriales de cómo romper la jaula impuesta por Apple, así que partiré de un dispositivo con el jailbreak ya realizado.

Con un dispositivo desbloqueado lo primero que tenemos que hacer es instalar el set básico de aplicaciones de trabajo, esto viene siendo los ejecutables Linux tales como wget, ps, openssh, less, make,… Pues al fin y al cabo iOS es una distribución Linux aligerada (corregido 30/10, 14:35h). Desde la aplicación, o más bien tienda de aplicaciones cydia instalamos el paquete OpenSSH. El segundo paquete a instalar es BigBoss Recommended tools, que nos ofrece los comandos cotidianos y necesarios para trabajar desde el terminal. Finalmente y para tener un acceso directo a la Shell de iOS instalamos Mobile TotalTerminal.

[Read more…]