Incident Respond - Computer Forensics - Threat Hunting

.

KILL CHAIN, DIAMOND, RESILIENCE, DETECT...

Normas, métodos, buenas prácticas.

SONDAS, AMENAZAS, INCIDENTES, ANALISIS

Productos, configuraciones y análisis.

CYBERWARFARE, GOBIERNOS, APT AVANZADO

Los mejores casos en Conexión Inversa.

CIBERGUERRA, MALWARE

Te contamos como se diseñan y como se aplican.

ATAQUES EN RED, INTRUSIONES, MALWARE Y APTs

Todo lo necesario para minimizar el impacto.

sábado, 25 de julio de 2009

Redes trampa (Honeypots de baja interacción)


Hola lectores,

Hoy vamos a tratar sobre redes trampa.

Como muchos ya sabéis pertenezco al capitulo español Spanish Honeynet project de la prestigiosa organización Honeynet Project.

El Spanish Honeynet Project es una organización no lucrativa de investigación y organizada por profesionales de la seguridad dedicada a la seguridad de la información. No tenemos productos, servicios o empleados, y nuestra investigación se hace sobre una base voluntaria. Nuestro objetivo es aprender las herramientas, tácticas y motivos de la Blackhat comunidad y compartir estas lecciones aprendidas. Se espera que nuestra investigación beneficie a la vez sus miembros y la comunidad de seguridad. Todo nuestro trabajo es de código abierto y se comparten con la comunidad de seguridad.

Por ello y dentro de las tareas sobre análisis forense he pensado compartir aunque muchos me imagino que ya lo sabéis distintos post sobre este tema.

Este articulo va a ser el conjunto de unos cuantos divididos en las siguientes secciones.

  • HoneyPots & Honeynets de baja interacción
  • Redes trampa de alta interacción

¡¡EMPEZAMOS!!

Un Honeypot es el software o conjunto de ordenadores cuya intención es atraer a atacantes, simulando ser sistemas vulnerables o débiles a los ataques. Es una herramienta de seguridad informática utilizada para recoger información sobre los atacantes y sus técnicas. Los Honeypots pueden distraer a los atacantes de las máquinas más importantes del sistema, y advertir rápidamente al administrador del sistema de un ataque, además de permitir un examen en profundidad del atacante, durante y después del ataque al honeypot.

Algunos honeypots son programas que se limitan a simular a sistemas operativos o programas no existentes en la realidad y se les conoce como honeypots de baja interacción y son usados fundamentalmente como medida de seguridad.

Otros sin embargo trabajan sobre sistemas operativos reales y son capaces de reunir mucha más información; sus fines suelen ser de investigación y se los conoce como honeypots de alta interacción.

En el grupo de los honeypot de alta interacción nos encontramos también con los honeynet

Para crear un honeypot de baja interacción (y muy,muy,muy sencillo) vamos a emplear lo siguiente:

  • Un equipo Windows (supuesta victima)
  • El programa NETCAT
  • Un equipo (windows o linux) como atacante
  • Dos archivos de texto con los siguientes contenidos:

Archivo 'serweb.txt':

PlayStation WebServer versión 1.1
Playboy, Playgirls and Games
Connecting....

Archivo 'sertelnet.txt'

Trying telnet.acme.es...
Connected to telnet.acme.es.
Escape character is '^]'.
220 telnet.acme.ESMTP Postfix

USANDO NETCAT PARA SIMULAR PUERTOS

Netcat permite a través de intérprete de comandos y con una sintaxis muy sencilla abrir puertos TCP / UDP en un host (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo al CMD o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos).

En la máquina Windows y una vez instalado el Netcat, abriremos dos ventanas CMD con los siguientes comandos:

Ventana1:
c:\>nc -l -p 80logweb.txt
Simula ser un servidor web, que responderá el contenido del fichero serweb.txt cuando alguien se conecte. Cuando el atacante introduzca comandos se almacenaran en el fichero logweb.txt

Ventana2:
c:\>nc -l -p 23 logtelnet.txt
Simula ser un servidor web, que responderá el contenido del fichero telnet.txt cuando alguien se conecte. Cuando el atacante introduzca comandos se almacenaran en el fichero logtelnet.txt

A parte de esta solución casera, existen distintos programas orientados a este respecto, vamos a ver algunos muy sencillos como los siguientes:

HoneyBOT

Este sencillo programa permite simular todos los puertos TCP/UDP que no se encuentren en uso en el ordenador, Honeybot los abre y simula estar un servidor y servicio o programa corriendo sobre el, veamos los siguientes ejemplos que son muy ilustrativos





SPECTER

Este programa es de los más completos honeypots de baja interación, simula 14 sistemas operativos e infinidad de puertos y comandos personalizados, es de los mejores con diferencia, la única pega es que es de pago ;-)





KFSENSOR

También uno de los mejores, al igual que specter es comercial, pero destaca en su capacidad de administración remota, edición de servicios, programación de respuestas ante una conexión, central de alertas integradas en Bases de datos y motor para la detección de ataques basados en firmas. Su precio ronda los 600$.





NEPENTHES

Permite emular vulnerabilidades para recopilar información sobre posibles ataques. Está diseñado para capturar y emular el uso de gusanos. Como hay muchas posibles formas de propagación de gusanos, Nepenthes es modular y dispone de capacidad de descargar archivos, generar eventos y como no emular vulnerabilidades. Es open source y algo complejo de parametrizar, utiliza qemu.


GHH

Google Hack Honeypot. GHH es un "Google Hack" honeypot. Está diseñado para detectar a los atacantes que utilizan los motores de búsqueda como herramienta de hacking contra tus recursos. GHH implementa entornos simulados. Curioso como sistema de aprendizaje.



HONEYD - WINHONEYD

Honeyd es open source y funciona prácticamente en cualquier plataforma, Winhoneyd es gratuita y funciona sobre windows a excepción de la herramienta de configuración que es de pago. Honeyd es un pequeño demonio que crea hosts virtuales en una red.

Los dispositivos pueden ser configurados para ejecutar servicios arbitrarios, y ser adaptados de modo que parecen estar ejecutando ciertos sistemas operativos.
Honeyd permite a un único host para disponer de varias direcciones, particularmente hasta 65536 - en un LAN para la simulación de la red.

Podeis ver un video ilustrativo aquí

En próximos post veremos Honeynets de alta interacción.

jueves, 23 de julio de 2009

Análisis forenses a tarjetas SIM (Recuperando SMS's))

Hola lectores,

Volvemos a la carga con el análisis de dispositivos móviles, hoy hablaremos de las tarjetas SIM.


Una tarjeta SIM es una tarjeta inteligente desmontable y usada en teléfonos móvile que almacena de forma segura la clave de servicio del suscriptor usada para identificarse ante la red, de forma que sea posible cambiar la línea de un terminal a otro simplemente cambiando la tarjeta.

El uso de la tarjeta SIM es obligatorio en las redes GSM Su equivalente en las redes UMTS se denomina USIM

Las tarjetas SIM está disponibles en dos tamaños. El primero es similar al de una tarjeta de crédito (85,60 × 53,98 × 0,76 mm). El segundo y más popular es la versión pequeña (25 × 15 × 0,76 mm). Más en Wikipedia

La tarjeta también posee información independiente a la del sistema operativo del teléfono y la información que suele contener es:

  • IMSI (Clave identificativa para cada dispositivo en el sistema), información sobre idiomas preferidos,
  • Información sobre la localización: La SIM guarda la última área en donde el dispositivo se registró ante el sistema.
  • MSISDN el cual puede ser usado para recuperar las llamadas originadas por el usuario a otros números de teléfono.
  • Información sobre el tráfico SMS: Es posible leer mensajes enviados y recibidos fuera de la tarjeta SIM y saber si fue leído o no cada mensaje
  • Información sobre el proveedor: Es posible obtener el nombre del proveedor y la red celular comúnmente usada para la comunicación, junto con las redes que están prohibidas para el dispositivo.
  • Información sobre llamadas: Los últimos números marcados son guardados en un archivo en el sistema de ficheros de la SIM. La clave usada para cifrar la última llamada también es guardada allí.

Toda SIM a su vez contiene distintos niveles de seguridad:

  • PIN: Al intentar acceder la información de la SIM se requiere introducir el número de identificación personal de la tarjeta. En caso de que sea introducido más de tres veces de forma errónea, esta se bloquea, siendo necesario el código PUK, suministrado por el fabricante u operadora.
  • PUK: Este código sirve para habilitar tarjeta SIM debido ala introducción errónea del PIN. En algunos sistemas, si el PUK es introducido de manera incorrecta determinado número de veces, la información de la SIM se elimina de manera automática y de manera irrecuperable.

En un análisis forense la obtención de datos sobre una tarjeta SIM, es cada vez más compleja dado que los nuevos terminales almacenan esta información sobre la base del mismo sistema operativo (su estructura de disco y fichero) delegando a la tarjeta el almacenamiento, cuando el disco de datos del sistema operativo se llena.

No obstante existen diferentes técnicas de obtención, cobrando interés las soluciones comerciales, dado que son las más completas y funcionales.

En la siguiente lista podemos ver los diferentes productos que existen y que dan soporte al análisis de tarjetas SIM:

  • Forensic Card Reader
  • SIMIS
  • USIM Detective
  • Oxygen PM for Symbian
  • PDA Seizure
  • Pilot-Link
  • BitPIM
  • Cell Seizure
  • CellDEK
  • GSM .XRY
  • MobilEdit!!
  • PhoneBase
  • Secureview
  • TULP 2G
ANALIZANDO UNA TARJETA SIM

Para ello voy a emplear un lector de tarjetas SIM y software 'Open Source' como comercial.

EMPEZAMOS

Lo fundamental es disponer de un lector de tarjetas SIM compatible , en mi caso he elegido por su compatibilidad en el mercado, un dispositivo DEKART (33 Euros + Gastos de envío) que es compatible con los drivers PC/SC.




las características son las siguientes:

  • Dispositivo de lectura y escritura por USB
  • Busca, edita, añade y borra entradas de la tarjeta SIM
  • Permite hacer copias de seguridad
  • Permite manejar los PIN's
  • Exporta la libreta de direcciones a Outlook, MS Office
  • Software de exploración de ficheros
En esta ocasión para obtener información de la SIM voy a utilizar MOBILedit! en su dos versiones Forensics, y este es el resultado:



Como vemos en la pantalla anterior, me permite cambiar o deshabilitar el acceso a las contraseñas o PIN's. En la siguiente pantalla puedo acceder a todas las posiciones de la tarjeta SIM




En la siguiente pantalla podemos ver los SMS's enviados y recibidos (oculto los datos de carácter personal, como es obvio). No obstante veo que algunos de los SMS's que he borrado a conciencia no salen en la lista de 'Deleted Items', mientras que otros si.

Voy a tener que esforzarme por entender este caso y recuperar los SMS's



RECUPERANDO SMS'S DE LA SIM

Recuperar un SMS es algo que muchos de nosotros necesitamos hacer de vez en cuando, dado que a veces recibimos datos importantes a través de un mensaje SMS como por ejemplo una dirección, un número de teléfono, una contraseña, o un código PIN, pero si no nos damos cuenta y eliminamos el SMS esto puede llegar a ser un problema.

Por otro lado cuando analizamos un móvil sospechoso es necesario el recuperar los mensajes. Por ejemplo esto ocurre en casos de acoso o grooming


Como se borra un SMS

Con el fin de recuperar un SMS, tenemos que entender la forma en que se eliminan.

La tarjeta SIM contiene un archivo especial donde se guardan los SMS, el archivo tiene varias "franjas horarias" y en él, existe una zona para cada mensaje, siendo el número de franjas de forma finita, es decir, una tarjeta SIM puede almacenar unas 20 o 25 SMS dependiendo de la capacidad. Las tarjetas más modernas tienen más zonas.

Cuando todas las zonas están llenas, hay que borrar una zona antigua, antes de guardar un mensaje nuevo.

La estructura de una de estas franjas horarias se compone de varios campos, tales como:

  • El número de teléfono del remitente
  • La fecha y la hora en que se ha recibido el SMS
  • El texto del mensaje en sí.

Existen otros campos que no se muestran para nosotros, uno de ellos es el estado actual de la zona, que puede ser tanto "vacío", o "en uso".

Algunos teléfonos eliminan un SMS al establecer el valor "en uso" a un nuevo valor "vacio", dejando intactos los otros campos. Cuando se recibe una nueva recepción de SMS, el teléfono tiene que verificar si existen espacios libres, y si es así será utilizado para almacenar el nuevo SMS.

En este punto se centra nuestro interés. Los SMS pueden ser recuperados, mediante un simple cambio de "estado" de "vacío" a en "uso". Para ello podemos utilizar la herramienta SIM Manager . Que en mi caso con la compra del producto 'dekart' me permite descargar desde la web

NOTA: ¡¡Solo funciona correctamente con la versión en Ingles!!

SIM Manager mostrará los mensajes que fueron marcados como eliminados en color rojo, pulsamos con el botón derecho del ratón y pulsamos recuperar. (Nunca antes fué tan sencillo recuperar un SMS).

Por contra también podemos asegurarnos que no se va a poder recuperar definitivamente con tan solo indicarle borrar.

La siguiente captura de pantalla muestra una tarjeta SIM con 20 ranuras de SMS, 4 de los cuales contienen mensajes, pero sólo los dos primeros están en uso, los dos últimos son marcados como eliminados.

A continuación se muestra otra imagen, con una herramienta de análisis forense llamada SIM Explorer, que muestra los datos de la tarjeta SIM.

La herramienta se utiliza para reunir las pruebas electrónicas de tarjetas SIM, pero en nuestro caso vamos a utilizarlo para para echar un vistazo a las entrañas de la tarjeta y entender cómo funciona la recuperación de la tarjeta SIM.

Hay dos conceptos, el "00" que siginifica "Libre" y el 07 que significa "ocupado".

Como se puede apreciar, los dos primeros mensajes se mostrarán por el teléfono, los siguientes dos mensajes no van a ser mostrados por el teléfono móvil. El resto del archivo son las ranuras de expansión vacías.

Hay que tener en cuenta que no sólo tienen "00" en el inicio, y que el resto se presenta con "FF FF" - que es el valor predeterminado para un mensaje de borrado.



¿Cuando NO se puede recuperar un mensaje?

Lamentablemente a veces las cosas no son tan sencillas tal y como lo hemos descrito anteriormente.

Algunas compañías utilizan el software del móvil y marcan el SMS' como borrado de forma permanente y sin posibilidad alguna de poder recuperar. La descripción de este mecanismo es muy dificil de conseguir y estas compañias no indican el procedimiento que siguen para borrar sus mensajes, es decir no dan esta información. Bajo mi parecer creo que sobrescriben la zona un numero determinado de veces con lo que consiguen eliminarlo correctamente, pero esto que digo es tan solo una hipotesis.

Por último, hay otro detalle, como he dicho anteriormente muchos de los nuevos teléfonos tienen la forma de almacenar el SMS en su propia memoria, en lugar de en la tarjeta SIM. En ese caso, la solución descrita aquí no se aplica, ya que cada fabricante tiene una forma distinta de hacerlo según el teléfono y el sistema operativo.

También hay casos en los que el teléfono va a utilizar su propia memoria de almacenamiento de SMS, y cuando se llena, el nuevo SMS se almacenarán en la tarjeta SIM.

Otras formas de recuperar la información es utilizando hardware. Estos mecanismos mantienen la integridad de la tarjeta SIM aunque son muy elevados economicamente y solo para empresas especializadas.

Bueno para finalizar este post, aquí os dejo este modelo especifico Csurv M-TEK de la empresa 3GForensics y que podéis ver en acción en este vídeo.


miércoles, 22 de julio de 2009

Made In Spain: Análisis Forense Digital en Windows

Hola lectores,

Se que os tengo un tanto abandonados dado que tengo poco tiempo para el blog y mucho tiempo para el trabajo (no veáis la de proyectos interesantes que nos están saliendo en el maravilloso mundo del análisis forense y muchos de los cuales expondré aquí mismo).

Hoy quisiera destacar un anuncio que merece la pena de verdad, es la salida del libro en español cuyo titulo es 'Análisis Forense Digital en Entornos Windows', realizado en su gran mayoría por el experto y amigo 'Juan Garrido' alias “Silverhack” ;-)

Este libro es uno de los poquitos 'Made in Spain' sobre este tema, cuyo contenido he podido corroborar y leer de 'cabo a rabo', su temática es interesante, novedosa y técnicamente muy buena, como es de esperar de Juanito. Cuenta con una serie de capítulos que van desde la captura de evidencias, el análisis de discos, el análisis de ficheros y el análisis de la memoria RAM.

También he de deciros que llevo leídos muchos libros sobre este tema y que la gran mayoría de ellos han sido buenos. Este por su puesto, nada tiene que envidiar a los formatos americanos

Este libro es algo más que un libro, para mi es una reivindicación de que en España y Latinoamérica hay muy buenos profesionales y muchos expertos de seguridad que nada tienen que envidiar a los tradicionalmente conocidos gurus que desgraciadamente nos importan por el hecho de ser de fuera. Que razón se tiene cuando se cumple el dicho de que 'nadie es profeta en su tierra'

En múltiples conferencias,quedadas, noches de insomnio y días de malcomer, he conocido a todo tipo de personas, desde gente que se conoce de carretilla el kernel, gente que para pedir una cerveza lo hace en ensamblador y gente con mucho criterio y sentido común que por su puesto hace falta y mucho en el mundo de la seguridad.

Mas que el libro, que en si ya lo vale, quiero destacar la actitud positiva de estos profesionales y de este tipo de acciones que difunden y comparten la seguridad informática ya sea en blogs, charlas, conferencias y como no en libros como este.

lunes, 6 de julio de 2009

Salamancas' Day (and Night)

¡¡ Nos vamos a Salamanca !!

Hola lectores,

Simplemente anunciaros que conexioninversa se va a los cursos de verano que organiza la Universidad de Salamanca sobre 'Seguridad de la Información'. En esta ocasión (como en otras) invitado por el lado del mal.

Los cursos comienzan el Miércoles día 8, Jueves 9 y finalizan el Viernes día 10. En estos días me reencontrare con los amigos y viejos rockeros de la seguridad, podremos compartir experiencias y buenos momentos. No nombro a ninguno dado que son muchos los que van (todos no están), pero si queréis saber quienes están mirar este link.

Particularmente hablaré sobre Análisis forense (como no) en memoria y Análisis de dispositivos móviles (Telefonitos y cosas de esas).

Espero veros por esos lares....

Análisis Forense en profundidad 2.0 - Nuevo Curso -

Buenas lectores, De nuevo y de la mano de @securizame llega una nueva entrega del curso "Análisis Forense en profundidad 2.0" ...