lunes, 15 de abril de 2013

Curso de Perito Judicial Informático Forense



Hola lectores,

El próximo día 10 y 11 de Mayo se va a celebrar el curso de Perito Judicial Informático Forense organizado por la Asociación Nacional de Tasadores y Peritos Judiciales Informáticos y la Universidad Rovira i Virgili en Tarragona.

El curso tiene un precio de 70€ para los socios y Universitarios y de 140€ para profesionales.

En esta ocasión se va a realizar un intensivo de dos días (el viernes 10 y el sábado 11) y en el que contaremos con grandes profesionales tanto de la parte legal como técnica. Ni que decir tiene que esta es una profesión con  futuro y hay mucha demanda de este perfil. 

El curso toca todas las temáticas en cuanto a una pericial y sobre todo con aspectos prácticos en el análisis forense informático que realmente es lo que nos interesa.

Tendremos jueces, fiscales, abogados, fuerzas de seguridad, analistas de seguridad, analistas forenses, etc.

Aquí tenéis la Agenda y los profesores y desde aquí podéis registraros para el curso.

No obstante os informaré de precios especiales que podamos conseguir para vuestra estancia en Hoteles. Recordad que es un sitio encantador para ir con pareja y que disponéis de playa y mucha fiesta.

Os animo a todos aquellos que queráis os apuntéis a mas no tardar, dado que ya tenemos la mitad de inscritos y previsiblemente hagamos lleno. 

martes, 26 de marzo de 2013

Lo que la mentira esconde. El caso de María.


Hola lectores,

Hoy vamos a ver como la tabla maestra de archivos en un sistema NTFS nos ha ayudado a identificar y obtener evidencias en un posible fraude cometido por una persona.

El caso es el siguiente, María afronta una pena de dos años y medio por un delito de falsificación en documento mercantil, falsificación de informes a diversas empresas, en la elaboración de estudios sobre la contaminación del suelo y también por la eliminación masiva de pruebas (ficheros financieros), todo ello tras una demanda por colaboración junto a un grupo de empresas en fraude continuado, por un importe defraudado en torno a 1.330.000 euros.

En la prueba pericial y posterior análisis forense encontramos las siguientes conclusiones, al parecer María había falsificado y eliminado de forma continuada informes y cambiado la fecha de estos, pero ¿como hemos llegado a estas conclusiones?, ¿como averiguamos los cambios que hizo María?,¿que falsifico?, ¿porque lo hizo?. Bueno esta última pregunta no creo que sea capaz de obtener respuesta, aunque lo obvio es que sea   por dinero.

Para remontarnos a las pruebas y evidencias hemos de hablar del modo de funcionamiento del sistema de archivos NTFS y mas correctamente de la tabla de sistema de archivos (MFT) y del sistema de registros  de cambios o mas conocido en el mundo *nix como 'Journal'.

MASTER FILE TABLE -MFT

La Master File Table viene a ser una especie de base de datos o tabla que gestiona y almacena los ficheros de una unidad o disco y este contiene información relativa a su tamaño, propiedades, atributos, localización, etc. Dispone de una entrada de índice y cuando buscamos un fichero lo consulta a la MFT para obtener información del mismo.

La estructura de archivos viene resumida en esta tabla que he preparado a tal efecto:


En resumen, la tabla maestra contiene la estructura y toda la información acerca de un archivo, incluyendo su tamaño, fecha, hora y permisos y contenido de los datos.

$UsnJrnl

En la MFT hay un componente conocido como 'Journal' llamado '$UsnJrnl'  que cuando está activado, registra las modificaciones que se producen en los archivos. Este se encuentra dentro de '$Extend' en  la entrada MFT.

Entrada $MFT vista desde la herramienta Autopsy


Journal visto desde Autopsy

En el fichero Journal se registrarán, entre otras cosas:
  • Fecha de modificación 
  • Motivo del cambio 
  • Archivo / nombre de directorio 
  • Archivo / directorio y sus atributos 
  • Archivo / directorios y número de registro MFT 
  • Número de archivo de registro de directorio principal del archivo 
  • ID de Seguridad 
  • Número de actualización y número de secuencia del registro 
  • Información sobre el origen de los cambios 
Lo curioso del tema es que viene activado por defecto en Windows 7 y 8, no siendo así de forma predeterminada en Windows XP.  Por lo tanto la revisión de '$UsnJrnl' se me antoja una pieza clave a la hora de realizar un análisis forense ya que podemos encontrar piezas complejas, como por ejemplo que nos hayan realizado un anti-forensics por medio de un malware o bien obtener toda una lista y  linea de tiempo con sus ficheros y modificaciones.

Llegados a este punto, lo interesante es como exportar la tabla maestra para obtener la información o bien que utilidades podemos utilizar para acceder a ella.

¿COMO ACCEDO A LA INFORMACIÓN DE LA MFT?

Existen varios procedimientos para obtener la información de forma lineal. Al final utilizamos tres herramientas que nos parecieron muy interesantes.

TSK

El Sleuth Kit (TSK) es una conocida colección de herramientas forenses en línea de comando para * nix y windows, permite analizar los sistemas de archivos más comunes. La mejor forma de trabajar con ella es utilizando un archivo imagen en formato DD. Nosotros como teníamos el sistema en vivo y también clonado pudimos aplicar ambas métodos.


#  Fls -f  ntfs -r casomaria.dd | grep sistema contable.xls
+ + R / r 1618-128-1:sistema contable.xls


Esto devuelve el número de registros de $MFT que corresponde a 1618. Con el uso de "icat" ahora podemos hacer 'carving' de la entrada de $MFT.

# Icat -f  ntfs casomaria.dd 0 | dd bs = 1024 skip = 1618 count = 1 | xxd

Otra forma mas cómoda es volcar toda la tabla MFT directamente.

 icat casomaria.dd 0> MFTsalida.csv

Una vez que tenemos la $MFT podemos utilizar estos scripts realizados en Python analyzeMFT.py  de David Kovar para analizar todos los registros en formato csv.

analyzeMFT.py -f  MFT -o -un  MFTsalida.csv

WINDOWS JOURNAL PARSER (JP)

JP es una utilidad en línea de comandos para analizar el  Journal. Su uso es sencillo y para mi es uno de los mejores actualmente. El problema es que no permite su uso en modo profesional. No obstante decidimos probarlo y compararlo con otras herramientas.

Para utilizarlo en el caso de Maria pusimos el siguiente comando:

c:\jp>jp.exe -partition c > salida.txt

El resultado es conciso y revelador dado que nos indica que ocurrió con  un fichero o directorio.

En la siguiente muestra se ha truncado los datos con objeto de que veamos parte del resultado.


MFT Parser

Es otra de las utilidades perfectas que dispone de entorno gráfico y modo de comando para entorno Windows, se puede descargar desde aquí o bien desde su URL.

Al igual que 'jp' permite obtener un 'timeline' de los ficheros y directorios del journal, pudiendo exportar desde el entorno gráfico a fichero CSV. Permite filtrado por fechas y propiedades de los ficheros. Muy útil.


MFT2CSV

Esta herramienta esta desarrollada en AutoIT (un lenguaje de scripting basado en Basic) y que al igual que la anterior se basa en un entorno gráfico teniendo las mismas características de exportar la información en un archivo CSV. El problema de esta herramienta es que es bastante lenta (aunque efectiva) a la hora de procesar la entrada $MFT.


Una vez vistas estas soluciones nos decantamos por utilizar MFT Parser no sin antes ir comparando los resultados devueltos con 'jp'

LO QUE LA MENTIRA ESCONDE

Volviendo al caso de María y ya sabiendo que el sistema almacena y hace un seguimiento de los ficheros, nos proponemos realizar la investigación. Para ello y tras diversas reuniones con los investigadores de las fuerzas de seguridad llegamos a la conclusión que debemos de buscar básicamente sobre la lista de archivos que los investigadores tienen y en las fechas que para ellos se cometió el fraude.

Para la explicación del caso en este post me he basado en un archivo que disponíamos como  evidencia  y he omitido todos los demás que nos han proporcionado, dado que seria demasiado largo y el objeto es explicaros el funcionamiento. Por lo tanto vamos a utilizar como patrón o base de búsqueda un fichero que se llama "sistema contable.xls".

Dado que teníamos este archivo nos 'choca' ver que en las propiedades de fecha en creación  acceso , modificación y están puestas a 14 de Junio de 2011 y a la misma hora. Puede ser una casualidad, pero el instinto me dice que huele raro.



Bien, es hora de abrir el fichero CSV que MFT Parser y JP nos han proporcionado, para ello utilizaremos  Excel y  vemos lo siguiente:

NOTA: Se ha truncado la salida del fichero ya que es extremadamente grande (mas de dos hojas) y nos hemos centrado en donde aparece el fichero en concreto.

Hoja1.- Cambio de nombre


Hoja2 - Cambio de atributos

Buscando por el patrón, se aprecia en la Hoja 1 que el día 19 se cambia de nombre el fichero excel "sistema contable.xls" y que en la Hoja 2 del día 22 se cambian atributos al fichero "sistema contable.xls". Es decir hay cambios.

Una vez visto que este fichero (y otros) se encuentran dentro de la tabla MFT vamos a utilizar nuestro conocimiento en Excel para transformar los datos en una potente base de datos. Lo primero procedemos a realizar un agrupamiento sobre este fichero para disponer de un 'timeline' de cambios utilizando el filtrado y las tablas dinámicas. ¡¡ Excel Power!!


Linea de tiempos de un archivo

A raíz del 'TimeLine' anterior deducimos lo siguiente:

LUNES 18 DE FEBRERO

En las tres primeras lineas, el 18/02/2013 a las 19:45:52 se produce el cambio de nombre de un archivo temporal llamado "sistema contable (DEMO).xls.crdownload", posiblemente se trate de un temporal que se produce mientras se descarga un archivo de Internet. Una vez descargado el fichero temporal y creado en el sistema de archivos a las 19:45:55 pasa a llamarse en vez de ".crdownload" a "sistema contable (DEMO).xls". El periodo en milisegundos de diferencia nos hace pensar que es un proceso propio del sistema.



El atributo de la tercera linea indica que se esta produciendo un cambio de nombre de archivo y siete minutos mas tarde (Linea 4) se produce el cambio de nombre de fichero. Pasa a llamarse de "sistema contable (DEMO).xls" a "sistema contable.xls"


En esos siete minutos deducimos que es decisión del usuario el cambio de fichero y durante ese tiempo se ha producido la apertura de ficheros word y excel que en apariencia no tienen que ver con el caso que nos ocupa.

A las 20:03:44 (Linea 5) se produce un borrado masivo de ficheros (hasta línea 9). He truncado la salida dado que este proceso se repetía múltiples veces con otros ficheros.


MARTES 19, MIÉRCOLES 20 y JUEVES 21 DE FEBRERO

Los días 19, 20 y 21 se siguen produciendo cientos de eliminaciones de archivos de word y excel. Aperturas de correo y modificaciones propias de ficheros del sistema operativo.

VIERNES 22 DE FEBRERO

El día 22 a las 08:42:00 se ejecuta el programa 'FileTouch' y once segundos mas tarde se produce un cambio de atributos en el fichero "sistema contable.xls". Por la diferencia en milisegundos entre los cambios de atributos se deduce que se ha realizado de forma automática y no manual.


Para corroborar los cambios de atributo vamos a mirar en el global del fichero CSV (en la pantalla inferior) se puede deducir que siguen la pauta de fechas entre el 19 al 22 de febrero del año 2013 a excepción de las lineas que están marcadas de color verde, negro y rojo .



Lo cual viene a decir que en la tabla maestra se encuentra de forma consecutiva:
  • Un archivo de nombre "sistema contable.xls " con fecha de acceso del 18 de Febrero de 2013.
  • Que a continuación hay un archivo FileTouch con fecha del 22 de Febrero de 2013.
  • Que se encuentra el archivo "sistema contable.xls " con fechas al 11 de Junio de 2011.
  • Que todos los restantes ficheros tienen o mejor dicho continúan con fecha de 22 de Febrero de 2013.

Ni que decir tiene que todas estas entradas anteriores y posteriores de la fila de color rojo se corresponden secuencialmente en la tabla maestra tal y como se encontraban los ficheros y que la columna 'HEADER_MFTREcordNumber' determina la posición de los ficheros y por lo tanto según las pruebas hay una modificación de fechas al archivo.

NOTA: He omitido búsqueda de Bytes, atributos Stream, atributos residentes y no residentes, flags, file Sparse, etc. que implicaban mucho mas la manipulación de este (y otros) ficheros.

OTRAS CONSIDERACIONES

El programa FileTouch es un asistente que cambia la fecha y hora de creación, modificación y acceso de muchos ficheros al mismo tiempo. Es un ejecutable ligerísimo y que no requiere instalación. Este se puede descargar desde múltiples sitios de Internet.

Para comprobar si se había descargado este programa procedemos a utilizar Web Historian de mandiant y pasando los parámetros de nombre del programa y las fechas entre el 18 y 23 de Febrero apreciamos en la siguiente pantalla que se ha navegado hacia la web de Softonic.


En la siguiente se identifica que se ha procedido a la descarga del fichero.


Si analizamos la carpeta 'c:\windows\prefetch' con Winprefetchview de Nirsoft nos encontramos que efectivamente el sistema puso en la cache de aplicaciones la ejecución del programa FileTouch, exactamente el mismo día y a la misma hora de lo que indican la MFT.


De esta forma procedimos a revisar todos los ficheros que presuntamente entre esas fechas habían sido eliminados, o modificados. Cotejando con los datos que las fuerzas de seguridad nos habían proporcionado.

También conseguimos recuperar ficheros contables que fueron de ayuda a los investigadores dado que los apuntes de dichas hojas de cálculo correspondían con entradas y pagos en negro de dinero, muchos de estos apuntes se hayan reflejados en transferencias bancarias entre las empresas del grupo. La investigación  a día de hoy todavía sigue su curso y se estima larga  debido a la cantidad de imputados.

Happy Forensics!!

martes, 19 de marzo de 2013

Herramientas forenses

Hola lectores,

Aquí os dejo la presentación que impartí el pasado fin de semana en la Universidad a Distancia de Madrid (UDIMA) en el curso organizado por la Asociación de Tasadores y Peritos Judiciales Informáticos.


Os recuerdo que el próximo 10 y 11 de Mayo se realizará el curso de "Perito Informático Forense" en Tarragona con un cartel de ponentes de lujo en el mundo de la seguridad informática y análisis forense.

A los que  no queráis ser los últimos y perderos la oportunidad de compartir con nosotros estos dos días y aprender esta magnifica profesión, os dejo el link de la Asociación para apuntaros.





jueves, 14 de marzo de 2013

Un pequeño detalle...

Hola lectores,

Hoy buceando por un disco de red me he encontrado unos 'Cheats Sheet' que quiero compartir con vosotros. Os puede servir como guía o para adornar la pared de un modo práctico e inteligente. Espero que os guste.

¡¡ Feliz Forensics!!



miércoles, 6 de marzo de 2013

Indicadores de compromiso ante una intrusión (IOCs), RedLine, Mandiant y APT1

Hola lectores,

Quizá soy el último en hablar del informe MANDIANT  y a raíz de los comentarios de los maestros Jose SelviDavid Barroso y mi queridísimo Chema y sin entrar en detalles dado que ellos lo han definido y comentado perfectamente, voy a dar una visión sobre 'como esta haciendo el Gobierno de EEUU para la detección de esta y otras intrusiones'. 

El gobierno Americano dice que el informe MANDIANT y lo ocurrido es un  'pearl harbor' cibernético y el número de ordenadores y servidores comprometidos en grandes empresas y sitios gubernamentales es muy grande, para ello han tenido que pedir ayuda a agencias de investigación, empresas dedicadas al análisis forense y respuesta ante incidentes.

Un colega americano comentaba esta madrugada que lo descubierto hasta ahora, es mucho malware mejorado de lo antiguo y que los antivirus son testigos mudos de como la industria del malware vence una y otra vez. Que han encontrado sistemas de control remoto y aplicaciones que 'roban' documentos del tipo 'office' y que los laboratorios a día de hoy están 'a tope' de trabajo y que muchas muestras son idénticas en funcionamiento por lo que parece ser que se han basado en una arquitectura común en el método de infección de un ordenador.

También ha indicado, que dado que son muchos los analistas de distintas empresas los que están involucrados han empezado a aplicar múltiples indicadores de compromiso para evaluar el índice de penetración de los piratas analizando artefactos de Windows y la memoria RAM y virtual de los sistemas.

Efectivamente uno de los problemas que tenemos los equipos de investigadores, es que nos encontramos con muestras que muchas veces ya han sido analizados por otros compañeros y como no hay una comunicación fluida acabamos haciendo el trabajo dos veces. Los indicadores de compromiso, es una forma efectiva de tener (o no) una sospecha de un malware o proceso infectado.

Estos indicadores, son un sistema muy interesante y que a raíz del comentario de este colega quiero explicaros de que va. Para ello vamos a utilizar diversas utilidades de la empresa MANDIANT que por cierto colabora con el Presidente Obama para la detección de estos últimos incidentes que ha ocurrido.

MANDIANT

Hablar de la empresa MANDIANT es hablar del concepto Respuesta ante Incidentes y Forensics en estado puro. Mandiant, es una empresa de seguridad ubicada en Alexandria en Virginia y es creadora de múltiples herramientas comerciales y gratuitas. Muchas de ellas son buenas y potentes y porque no decirlo, me han salvado la vida en mas de una ocasión como ya habréis visto en diversos artículos de este blog.

Esta empresa viendo los incidentes de sus clientes en cuanto a intrusiones se refiere, diseñó un framework con objeto  de documentar las características técnicas que identifican a una amenaza conocida, la metodología que utiliza un atacante, o cualquier otra prueba de compromiso en un sistema o aplicación. A este framework le han llamado OpenIOC que viene a decir Framework abierto de indicadores de compromiso.

OPENIOC

OpenIOC fue originalmente diseñado para permitir que sus productos pudieran de una forma  rápida e inteligente buscar potenciales fallos de seguridad y así lo integraron en toda su gama.  Con el paso del tiempo han liberado este framework en formato de código abierto que utiliza el esquema OpenIOC liberando herramientas y utilidades para permitir la comunicación de información.

Este framework permite preparar y agrupar de forma inteligente, (basado en los propios indicadores de compromisos de Mandiant) los ficheros, registros, servicios y procesos, haciendo eco en las posibles actuaciones de un atacante.

También si compartimos los indicadores de compromiso podemos detectar malware o algo inusual sin que tengamos que realizar un exhaustivo análisis forense de un sistema y trabajar dos veces en una muestra.

Veamos como funciona.

OpenIOC se compone de dos aplicaciones:

  • IOC_Finder: Esta utilidad recopila en diversos ficheros una auditoria completa del sistema sospechoso, basado en partes del registro, ficheros, servicios y procesos de la memoria. Una vez obtenido permite la generación de informes tan solo con cambiar un parámetro.
  • IOC_Editor (IOCe): Como su nombre indica es un editor gratuito para editar y crear los Indicadores de compromiso (IOCs). Estos son documentos XML que permiten ayudar a los analistas a capturar información diversa sobre las amenazas, incluidos los atributos de software malicioso en archivos, características de los cambios en el registro, los artefactos en la memoria, etc. IOCe proporciona una interfaz gráfica en la gestión de estos datos.
Ambos programas se pueden descargar desde la web OpenIOC en Mandiant aquí

RECOPILANDO INFORMACIÓN.

Para ver el funcionamiento vamos a instalar un malware que simula ser una versión mejorada y troyanizada del informe APT1 y que ha sido descubierto por Brandon Dixon y publicado en la web de Mandiant.  Una vez ejecutado nos muestra la siguiente pantalla:


Tras poner la contraseña "hello" explota la vulnerabilidad modificada y mejorada del  'CVE-2011-2462' que salió en diciembre de 2011.

No voy a entrar en detalles de que hace el malware, para ello tenemos un extenso documento aquí que explican el funcionamiento, ya que nuestra función es como aplicar indicadores ante un nuevo malware o intrusión.

Una vez que tenemos a mano las máquinas infectadas procedemos a utilizar las herramientas.

Para ello ejecutamos el siguiente comando:

C:\>mandiant_ioc_finder.exe collect

El cual empezará el proceso de obtención de datos. Esta ejecución durará posiblemente bastante rato (entre una o dos horas, dado que realiza un hash de todos los ficheros que está revisando), así que hay que armarse de paciencia. En diversos foros se cuenta como reducir el tiempo a cambio de quitar los hash, cosa imprescindible si lo que quieres es rapidez.

Obtención de datos

Una vez finalizado, el proceso habrá creado un directorio de nombre 'audits' que contiene un subdirectorio con el nombre de la máquina y que a su vez contiene unos 50 ficheros XML con los parámetros a utilizar. Este directorio es el resultado de unas veinte auditorias. De esta forma ya tenemos preparado lo que hay que revisar para poder pasar los indicadores de compromiso.

Contenido del directorio audits

Bien en este punto vamos a aplicar los indicadores de compromiso que nos van a permitir detectar malware  o una intrusión aún cuando los antivirus no lo hagan, pero antes vamos a entrar de lleno en el indicador de compromiso.

IOC (INDICADOR DE COMPROMISO)

Como decía un indicador de compromiso es un fichero XML que contiene los parámetros que definen si hay o no un posible compromiso y con que valor se asigna en cuanto a su probabilidad.

La estructura de uno de ellos viene a ser así:

Estructura

Y para manejarnos de una forma mas cómoda podemos utilizar IOCe que es el editor de indicadores. Si abrimos un fichero '.ioc' con el editor lo vemos de esta forma:

Editor de IOCs

AÑADIENDO MI INDICADOR DE COMPROMISO

Vamos a suponer que hemos detectado un patrón de compromiso que viene a decir lo siguiente:
  • El atacante utiliza la cuenta: sip
  • El dominio infectado es: www.premiosorg.org
  • El ejecutable 'dudoso' es: armada.tmp
  • El proceso es: lsass.exe
Para ello vamos a utilizar IOCe que es el editor de Indicadores, una vez ejecutado nos vamos a nuevo y creamos un nuevo indicador, el resultado se vería tal que así:

Creación de un Indicador

Una vez que hemos cargado o creado indicadores de compromiso es hora de generar un informe en la máquina con los datos que anteriormente hemos obtenido.

INFORME DE SISTEMA COMPROMETIDO

Para ello vamos a ejecutar el siguiente comando:

C:\>mandiant_ioc_finder report -s ./audits -i c:\IOC -t html

En el que le decimos que genere un informe tomando como origen los ficheros XML de la carpeta 'audits' y tomando los indicadores de compromiso de la carpeta IOC. También el parámetro -t le indica que el resultado del informe esté creado en HTML.

Creación del informe

Una vez finalizado (también hay que armarse de paciencia) nos habrá generado un informe en el que podemos ver los procesos o ficheros que son sospechosos que coincide con algunos de nuestros IOC.

Resultado del informe


GENERANDO INDICADORES DE COMPROMISO CON REDLINE



La parte de informes la prefiero mostrar utilizando Redline que además de ser otra herramienta de Mandiant, permite entre otras cosas analizar la memoria y mostrar qué proceso o fichero tiene más posibilidad de ser malware y cuál menos, contando puntos MRI (Malware Risk Index). Podríamos decir que es como Volatility pero con un entorno gráfico.

Otra de las ventajas es que permite crear un agente con objeto de llevarlo en un 'pendrive' o distribuirlo en un entorno de red y así obtener los resultados para posteriormente analizarlos. Permite crear IOCs o bien crear informes partiendo de ellos.

Lo mejor es verlo en un vídeo que he preparado a tal efecto, como podréis apreciar y tras cargar una sesión ya almacenada, Redline marca en color rojo los procesos de los que son sospechosos de malware, puntuando con un 98 el MRI.   A continuación creamos un informe basado en IOCs dando el origen de la carpeta que los contiene. Una vez cargado los IOCs abrimos el editor con objeto de ver el contenido del IOC y generamos el informe.


Vídeo del proceso de informes IOCs con Redline

Una vez finalizado podemos navegar en HTML por el proceso que ha sido detectado por el indicador de compromiso.

CONCLUSIONES

Hay que pensar que no es una herramienta 'al estilo' al que estamos acostumbrados en la detección de intrusiones, pero cumple todas las expectativas cuando se necesita analizar muchos sistemas en base a patrones. Yo lo definiría como un escaner forense en el que la comunidad (basándose en un estándar como OpenIOC) comparte sus patrones de búsqueda y que permite que un analista no haga el trabajo dos veces cuando otro lo ha realizado ya.

Evidentemente hecho en falta una automatización a la hora de desplegar agentes en grandes redes  y una gestión centralizada de estas, ya que de momento estos procesos son manuales. También hay que entender que Mandiant tiene su propia aplicación comercial (MIR) y que evidentemente no va a sacar un producto que compita consigo mismo.

No obstante con las aplicaciones que disponemos, un poco de imaginación mas la utilización de Active Directory con PowerShell, se puede llegar a un nivel de automatización mas que aceptable. El disponer de un sistema abierto como OpenIOC permitirá en un futuro disponer de herramientas que independientes del antivirus detecten patrones de ataque que estos no lo detectan.

La utilidad Redline es una gran herramienta a lo 'Volatility'  pero con las ventajas de un entorno gráfico, en la que destaco su paseo guiado o saber que es lo primero que tenemos que mirar. Redline calcula un "índice de malware de riesgo" que pone de relieve los procesos que merecen la pena investigar, vaya una joya la verdad.

Desde aquí os animo a que podáis empezar o seguir desarrollando con este apasionante tema de los Indicadores de compromiso.

jueves, 17 de enero de 2013

CIBERGUERRA, CIBERDEFENSA



Desde hace algo más de cuatro años voy (siempre que las circunstancias me dejan) a las conferencias CyCon que se realizan en el Centro de Excelencia del Centro de Ciberdefensa de la OTAN en Tallin, (Estonia). En ellas se reúnen a expertos de diferentes disciplinas y se exponen las tendencias recientes en materia de seguridad informática orientados en su mayoría a conflictos internacionales. El evento es siempre una mezcla de normativas, regulaciones, política, estrategia y como no podría faltar la parte técnica.

Como resumen, en todas las conferencias se hace hincapié al tema de las implicaciones y los mecanismos a utilizar ante un ataque a gran escala.

Durante el pasado año, Estados Unidos, Gran Bretaña y China han hecho pública su intención de crear departamentos “especiales” de defensa para desarrollar y desplegar todo un arsenal de nuevas “ciberarmas”. y es que no es para menos.

Eso es sólo el comienzo, pensemos en todos los servicios y sistemas que dependen para mantener a la sociedad funcionando sin problemas. La mayoría de estos servicios que disfrutamos  se ejecutan en redes y la gran mayoría con base en internet. Aun cuando los administradores de la red no conectaran sus ordenadores a internet, podrían seguir siendo vulnerables a un ataque cibernético.

La Ciberguerra es un problema grave en su totalidad, a diferencia de la guerra tradicional que requiere grandes cantidades de recursos, tales como personal, armas y equipo, la guerra cibernética sólo necesita a alguien con los conocimientos adecuados y equipos informáticos para causar estragos. El enemigo puede estar en cualquier lugar, incluso dentro de las fronteras de la nación víctima. Un poderoso ataque solamente podría requerir un ejército de redes zombis y una media docena de cibersoldados dispuestos a atacar.

LA CIBERGUERRA NO ES UNA NOVEDAD
UN REPASO A EL PASADO "PRESENTE"

Ya en el año 1997 el ejército de EEUU diseño un programa llamado 'Eligible Receiver', si bien la mayoría de los detalles son clasificados, el propósito principal de esta actividad era ver si un grupo de hackers expertos  podría infiltrarse en los sistemas informáticos del Pentágono.

Los resultados fueron impresionantes, este programa se saldo con una victoria para el equipo de expertos que obtuvo el control de los sistemas del Pentágono y el Mando Militar Nacional. Las lecciones aprendidas del momento revelaron que un verdadero ataque podría haber causado una parada de los sistemas informáticos e incómodo la idea de que los atacantes podían acceder y robar información. Según John Hamre, subsecretario de defensa de la época, en su momento indicó que se necesitaron tres días para darse cuenta de que los sistemas del pentágono estaban bajo un ataque.

De hecho, sólo un año después se tuvo constancia de un incidente real (llamado Moonlight Maze) en el que se produjo un ataque y alguien logró penetrar en varios sistemas informáticos en el Pentágono, la NASA y otras instalaciones y acceder a información clasificada. Funcionarios estadounidenses descubrieron los ataques por mera casualidad en el año 2000 después de pasar desapercibidos durante dos años.

Todo ello puso de relieve la poca preparación que se tenía en seguridad informática y lo importante que es disponer de mecanismos de ataques y defensa ante una intrusión o asedio por parte de otros gobiernos.

La ciberguerra había empezado.

Muchas cosas cambiaron a partir de esta acción, los EE.UU. han utilizado estrategias de guerra electrónica contra Irak y Afganistán. Durante la guerra de Kosovo, los EE.UU. utilizaron ataques para comprometer los sistemas de defensa aérea de Serbia. Los ataques distorsionaban las imágenes de los sistemas, dando a las fuerzas serbias información incorrecta durante la campaña aérea. Los agentes de seguridad y cibersoldados de aquella época también estaban trabajando para infiltrarse en las células terroristas y controlar los sistemas de forma remota.

La lista de rumores y ataques fundados e infundados no se detiene, algunos Gobiernos sospechan que Corea del Norte ha utilizado ataques en Corea del Sur. Hay rumores de que China utiliza los ataques contra Taiwan y que la organización terrorista 'Al Qaeda' ha declarado incluso un cyber jihad en los EE.UU.


Pantalla donde se muestra desde un ordenador del ejercito
 chino una IP perteneciente a una red de EEUU

Por otro lado Leon Panetta, secretario de Defensa de los Estados Unidos y ex director de la CIA dice: “Lo cierto es que existe la capacidad de tumbar nuestras redes eléctricas, o de paralizar el sistema financiero de nuestro país. Y creo que tenemos que estar preparados no solo para defendernos contra esta clase de ataques sino, en caso necesario, también para ser agresivos”. 

ESTRATEGIAS DE ATAQUE.

Podríamos definir dos estrategias a grandes rasgos y que siempre han tenido buenos resultados ante una incursión, estamos hablando del factor sorpresa y guerra de guerrillas o comandos.

El factor sorpresa consistiría en que los enemigos podrían coordinar un ciberataque con un asalto físico.

Imagina en tu ciudad, un escuadrón de paracaidistas que coordinados desde el centro de mando consiguen asaltar el suministro eléctrico, hace años consiguieron mediante un PDF acceder a información clasificada entre los que se encuentra planos y documentación de activación de aplicaciones y sistemas. Estos asaltantes no son soldados tradicionales incorporan última tecnología y mediante una llamada activan al cibertroyano que años atrás se incubo dentro de la aplicación que gestiona la energía. Dentro de unas horas habremos retrocedido a la edad de las cavernas. 

Este tipo de ataque no sólo podría causar mucho daño, sería una táctica psicológica poderosa. Algunos expertos temen que organizaciones terroristas como Al Qaeda están trabajando en planes que siguen esta estrategia.

El otro método de ataque (los comandos o troyanos) es mucho más lento, pero muy peligroso. En lugar de cometer un asalto cibernético masivo, el enemigo consigue infiltrarse en los sistemas informáticos y sólo observa y espera. Esta estrategia implica espionaje y reconocimiento. La clave está en evitar la detección y reunir tanta información como sea posible. El enemigo podría usar esa información para dirigir ataques a los puntos débiles en la infraestructura de la nación víctima.

No todos los troyanos atacan de forma instantánea. Algunos hackers construyen sus troyanos en factores que pueden activar con un comando manual o basado en el tiempo. Otros utilizan cambios sustanciales en líneas de código fuente y pueden estar latentes durante años. Este método toma más tiempo que un ataque sorpresa, pero también es más difícil de detectar, prevenir o reparar.

¿COMO RESPONDERÍAMOS ANTE UN ATAQUE A INSTALACIONES ESPAÑOLAS?



Plantéense la pregunta. Disponga de su tiempo y siempre llegará a la misma conclusión, es prácticamente imposible. Pensemos la siguiente suposición

¿Podríamos para un ataque de miles y miles de 'bots' cuyo origen provienen de equipos de escritorio de  grandes empresas de España e incluso de proveedores que trabajan para el ejército?  Más bien no. Quizá podríamos descubrir un ataque o eliminar un malware, pero muy dificilmente un ataque de DOS.

DEFENSA

Debido a que la ciberguerra es tan diferente de la guerra tradicional, no se puede confiar en las mismas reglas que usarías en un conflicto físico. Con las técnicas adecuadas, un pirata informático puede hacer un ataque prácticamente imposible de rastrear. 

Parte de la preparación para un ataque cibernético es educar a los ciudadanos de un país. Richard Clark, ex asesor de seguridad cibernética para los Estados Unidos, dice que parte de la responsabilidad recae en las empresas de software. Él ha dicho que las empresas de software a menudo se apresuran en crear  productos sin poner ellos a través de una fase de control de calidad que sea riguroso.

Otra cosa a considerar es que las empresas privadas son propietarias de la mayor parte de la infraestructura de Internet . A menos que el gobierno pone en práctica regulaciones, le toca a estas empresas privadas para garantizar la seguridad de sus redes. Incluso los expertos como Richard Clark ha dicho que la regulación no es la decisión correcta - argumenta que inhibe la innovación y reduce los estándares de seguridad en todas las industrias.

¿QUE PASOS SON NECESARIOS?

De la forma que actuaríamos en la vida real, pero dando un toque de las normas que tenemos y que nos basamos para la gestión de la seguridad informática.

1.- Fortalecer técnicamente el equipo de respuestas ante incidentes.

Todos los miembros del entorno de TI deben saber cómo actuar en caso de incidente. El CSIRT realizará la mayoría de las acciones en respuesta a un incidente, pero todo el personal de TI debe saber cómo informar de incidentes internamente.

Los usuarios finales deben informar de cualquier actividad sospechosa al personal de TI directamente o a través de un personal de asistencia, no directamente al CSIRT.

Cada miembro del equipo debe revisar el plan de respuesta a incidentes detalladamente. El hecho de que el plan sea fácilmente accesible para todo el personal de TI ayudará a garantizar que, cuando se produzca un incidente, se seguirán los procedimientos correctos.

El personal tendrá la capacidad técnica de distinguir un ataque real de un falso positivo, os recuerdo que no existe la herramienta maravillosa que nos dice que los chinos nos están atacando desde el cibercafé de la esquina. El mejor motor de correlación es la experiencia del analista ante estos ataques.

Para elaborar un plan satisfactorio de respuesta a incidentes se deben seguir estos pasos:
  • Realizar una evaluación inicial.
  • Comunicar el incidente.
  • Contener el daño y minimizar el riesgo.
  • Identificar el tipo y la gravedad del ataque.
  • Proteger las pruebas.
  • Notificar a los organismos externos, si corresponde.
  • Recuperar los sistemas.
  • Compilar y organizar la documentación del incidente.
  • Valorar los daños y costos del incidente.
  • Revisar las directivas de respuesta y actualización.
2.- Disponer de tecnología que le permita analizar 'anomalías' y monitorización.

Estamos hablando de SIEM, registro de actividad, gestión de Logs que permita la recopilación de eventos, normalización, correlación y respuesta a incidentes, inventario, despliegue de sensores y alarmas.

Los sistemas de seguridad tienen que ser muy a medida permitiendo:
  • Automatizar la detección de nuevas amenazas
  • Automatizar el proceso de análisis de ataques
  • Creación de firmas de ataques en tiempo real
  • Auditoria automática del estado de seguridad de las redes
  • Apoyar el proceso de respuesta ante incidentes de seguridad
  • Proporcionar estadísticas de ataques contra las redes.
Otra de las cosas importantes es disponer de tecnología 'Made in Spain' y si es posible el código de la aplicación o una NDA que vincule una estrecha colaboración entre el ejército y el proveedor en caso de ciberconflicto. Recuerdo un caso en 2008 en el cual el FBI alertaba de tarjetas de red falsas de marca CISCO.



3.- Equipos de defensa y ataque

Una de mis mayores funciones que he tenido que hacer profesionalmente es 'jugar al ratón y al gato' es decir poner trampas para poder detectar ataques. Es fundamental disponer de técnicas que puedan entretener al atacante desviando su atención en un entorno trampa y poder aprender que es lo que busca y como lo hace.

Por lo tanto es muy importante tener un equipo multidisciplinar que nos permita acometer 'el factor sorpresa' o bien la preparación de un entorno donde repeler el ataque.

Para ello es necesario que los componentes del equipo cibersoldado disponga:
  • Formación técnica especializada.
    • Arquitectura de redes.
    • Programación en diversos lenguajes.
    • Exploits.
    • Ingeniería inversa.
    • Bastionado.
  • Conocimientos en arquitectura de seguridad e Instalación de redes trampa (Honeypots, honeynets) que incluyan: 
    • Creación de un segmento de red idéntico a la producción.
    • Programar eventos que respondan ante ataques determinados.
    • Cambiar datos ficticios muy a menudo para que sea lo mas idéntico a producción (tarea compleja pero muy efectiva).
  • Una buena formación en Forensics, antiforensics y en productos SIEM comerciales o no.
  • Una buena 'box' de 0Days para todos.
Evidentemente esto es imposible soportarlo en una única persona por lo que puede haber distintos grupos para distintas acciones.

4.- Disponer de una red militarizada

Dicho de otra forma tener una red interconectada con todos los dispositivos militares sin utilizar las infraestructuras de internet, en un momento dado de conectividad con otras redes independientes, utilizar VPN, Cifrados, etc.

CONCLUSIONES 

Soy consciente de que nuestro ejercito está preparándose y dispone de profesionales muy especializados, en los últimos cursos que asistí como ponente en el curso de Informática forense y Ciberseguridad en el Centro Superior de Estudios para la Defensa Nacional (CESEDEN) hubo más asistentes de la previsión inicial y fue exclusivamente para Oficiales Superiores con responsabilidad en la Seguridad de la Información del Ministerio de Defensa cosa que denota el interés por la materia.

Por otro lado, la OTAN ya dispone de un grupo (NCIRC Task Unit) que en el caso de un ataque contra un sistema de información de la OTAN, se dispone un plan de acción cuyo objetivo es restaurar los sistemas para que todo vuelva a su funcionamiento normal tan pronto como sea posible.


El grupo a definir en este año 2013 tendrá un núcleo permanente de seis expertos especializados que puedan coordinar y ejecutar misiones. También habrá expertos nacionales de los países miembros de la OTAN en áreas específicas. Estos componentes tendrán todo el equipo necesario: Equipos de informática y telecomunicaciones, como teléfonos por satélite y equipos para la recolección de pruebas digitales, criptografía, análisis forense digital, gestión de vulnerabilidades, seguridad de redes, etc


No quiero finalizar estas impresiones sin antes plantear que la ciberguerra compite a mas actores y no solo a los militares, por ejemplo implica de lleno a los Gobiernos y sus componentes (ministros, asesores, secretarios), aún recuerdo la siguiente noticia en la que el ministro del interior ha perdido un ipad y un iphone ¿mala memoria?, ¿robo? Nunca sabremos que han sido de estos dispositivos.

Los servicios de inteligencia tienen trabajo sobre todo en los puntos críticos como instalaciones de gas, electricidad, detección de malware, ataques APT, etc. y sobre todo en puntos tan estratégicos como son los consulados, en diversas conferencias cuando se hablaba de las funciones de estos, me venia a la cabeza diversas preguntas:

¿Los empleados y colaboradores del consulado Español en otros países son Españoles?, ¿cuando se estropea un ordenador del consulado quien lo arregla?, ¿un servicio técnico local?, ¿hay procedimientos de borrado de la información de ese ordenador antes de salir de la instalación?, ¿existe cifrado en los discos duros?.

Muchas preguntas y pocas respuestas, pero la verdadera cuestión en todo este tema  no es si va a producir una ciberguerra, si no cuando y para ello todos debemos estar preparados.

Referencias:

http://www.nato.int/cps/en/SID-1E3FDE6F-9C0B5CC0/natolive/75747.htm
http://www.defensa.gob.es/ceseden/bienvenida/
http://www.ncirc.nato.int/index.htm
http://www.andovercg.com/services/cisco-counterfeit-wic-1dsu-t1.shtml
http://www.forbes.com/2010/04/08/cyberwar-obama-korea-technology-security-clarke.html
http://es.wikipedia.org/wiki/Moonlight_Maze

lunes, 7 de enero de 2013

Herramientas para Enero


Hola lectores,

¡¡ Feliz 2013 !!. Empezamos el año con este conjunto de herramientas interesantes y que alguna vez voy utilizando.

Espero que os sea de ayuda.

OBTENCIÓN DE CONTRASEÑAS

TCHead

Es un software que permite descifrar contraseñas que permiten el cifrado de volumen en TrueCrypt. Esta pensado para contraseñas sencillas.



INTEGRIDAD DE ARCHIVOS

Lo que viene a continuación es un conjunto de utilidades que permiten verificar el HASH en MD5 y SHA1

IgorWare Hasher
Es una herramienta gratuita y portátil que es capaz de calcular SHA1, MD5 y CRC32 de cualquier archivo

IgorWare Hasher

Tiene distintas versiones disponibles de 32 bits y 64 bits y funciona con Windows XP, Vista, Windows 7 y 8. Ten en cuenta que la descarga es un archivo rar.


Hash Generator

Al igual que la anterior, es portátil y sencilla. Disponible para todas las plataformas y permite realizar huellas masivas.

Generador de Hash


HashMyFiles

HashMyFiles es otra herramienta pequeña y portátil de Nirsoft. Está orientado hacia la comprobación de archivo por lotes dado que se puede añadir uno o varios archivos, carpetas y subcarpetas, procesos en ejecución. Este programa puede mostrar los hashes para CRC32, MD5 y la familia SHA (SHA1, SHA256, SHA384 y SHA512) y también otro tipo de información como los tiempos de creación y modificación, tamaño, información de la versión y atributos.

HashMyFiles

Al igual que con todas las herramientas Nirsoft, este es un programa gratuito y funciona en Windows 2000, XP, 2003, Vista y Windows 7.


Multihaser

Esta utilidad tiene una serie de opciones como apertura de archivos, carpetas (incluidas las subcarpetas), caminos, procesos y listas de XML/MD5/SFV. También puede crear un valor hash de cadenas de texto. CRC32, MD5, RIPEMD y la familia de algoritmos hash SHA

MultiHasher

Esta herramienta tiene algo que los otros no disponen. Puede cargar ficheros y consultar por medio de su hash si está detectado o informado en Virustotal. Se necesita una clave de API

SUPERVISAR EN TIEMPO REAL CAMBIO DE FICHEROS O CARPETAS

Algo muy interesante cuando estas analizando una máquina y no sabes que está ocurriendo en ella, lo mas interesante es este conjunto de utilidades que describo a continuación:

Watch 4 Folder

Puede alertar sobre el cambio de varias maneras diferentes. También hay otras funciones interesantes, como ver un cambio en la asociación de archivos, o si el espacio libre ha cambiado.

Watch 4 Folder


Directory Monitor

Es una herramienta que observa los cambios de archivos y carpetas, (modificaciones, eliminaciones y la creación de nuevos archivos). Existe la posibilidad de ver recursos compartidos de red, además de las carpetas locales.

Directorio de monitor


ABRIR FICHEROS VMWARE e ISO 

VMxray

Digamos que tienes una imagen de disco VMWare (archivo VMDK) o una imagen de CD (archivo ISO) en el escritorio y le gustaría ver los archivos en su interior. Tal vez hay un par de archivos que desea extraer. Usted podría iniciar la máquina virtual para acceder a sus archivos, o instalar un montón de utilidades para que puedas montar la imagen como un sistema de archivos. O bien, puede utilizar VMXRay , una pura aplicación web HTML5 que no requiere instalación alguna.



REGISTRO DE ACTIVIDAD

LastActivityView

Es una nueva utilidad para el sistema operativo Windows que recopila información de diversas fuentes en un sistema en ejecución, y muestra un registro de las acciones realizadas por el usuario y las acciones que ocurrieron en este equipo. La actividad desplegada por LastActivityView incluye las conexiones y desconexiones de usuario, red, procesos, puntos de restauración, etc. 

LastActivityView


RECUPERACIÓN DE DATOS

Un conjunto de dos utilidades desarrolladas por el Centro de Recursos Ciberforenses de la India. y una del magnifico Jason Hale.

F-DaC

Recupera ficheros ocultos, borrados o semiborrados estén ubicados en el sistema operativo o fuera del espacio de este.



F-rat

Al igual que la anterior pero en este caso permite obtener información del registro en tiempo real o bien de aquellas ficheros HIVE como el SYSTEM o SOFTWARE que hayamos realizado en la obtención de discos. Me ha sorprendido gratamente y la suelo utilizar a menudo.



VSC

Esta utilidad permite la capacidad de extraer sistemáticamente los archivos de instantáneas. Es tan sencillo como seleccionar las instantáneas de la que extraer el archivo o carpeta, escribir la ruta de acceso (o la navegación utilizando el botón Examinar) y haciendo clic en el botón Ejecutar comando.


Es otra de las utilidades que he me ha dado muy buenas alegrías.