A la caza del mutante, parte IV

Estándar

Parte I

Parte II

Parte III

Parte V

Hola a tod@s!

En esta penúltima parte, vamos a realizar la búsqueda de MUTANT (MUTEX), a través de la herramienta volatility, y realizando para ello un análisis forense offline.

Para poder realizar esta búsqueda con éxito, el gran Andreas Schuster implementa un módulo para volatility, a través del cual,  y resumido en pocas palabras, realiza una búsqueda de la cadena Mut? En memoria paginada y no paginada.

Imagen 1.- Búsqueda de cadena Mut?

 El resultado es increíble, extrayendo no sólo la dirección de memoria y el nombre del Mutant, si no también información interesantísima, como por ejemplo el identificador de proceso (Client ID) que lo tiene referenciado.

Imagen 2.- Aplicación del módulo MutantScan en Volatility

En la próxima y última entrega, analizaremos la memoria offline, e intentaremos buscar evidencias, partiendo de los mismos principios que el estudio de Andreas Schuster. Lo único que vamos a cambiar esta vez, será la herramienta. En vez de utilizar Volatility Framework, se utilizará la herramienta WinDBG (Debugging Tools for Windows), y realizando las consultas de forma manual.

Saludetes!!

Referencias

Searching for Mutants

_KMUTANT Structure

Poolfind (MDSN)

Anuncios

A la caza del mutante, parte III

Estándar

Parte I

Parte II

Parte IV

Parte V

Esta vez, vamos a utilizar las herramientas Process Explorer y Handle, de Sysinternals, para la correcta búsqueda de Mutants (MUTEX) en el sistema.

Siempre que un objeto se crea o se abre, una referencia hacia éste, es creada. Esta referencia, llamada HANDLE, estará asociada con un proceso, a través de una tabla llamada HANDLE TABLE.

Process Explorer, permite, entre otras características, el poder visualilzar estas entradas a través de su interfaz gráfica. Para ello, tendremos que activar el panel inferior, y que sólo nos muestre la referencia.

Imagen 1.- Mostrar handle en Process Explorer

Una vez que el panel inferior se encuentra activo, es fácil encontrar las referencias a los MUTANT (MUTEX), tal y como se muestra en la siguiente figura:

Imagen 2.- Mutant visualizado con Process Explorer

Si se necesita automatizar el proceso en forma de línea de comandos, la herramienta Handle, de Sysinternals, permitirá extraer todas las referencias, incluyendo las del directorio \BaseNamedObjcts. Para ello, habrá que pasarle el parámetro –a, para que incluya todos los handle. Si se desea que pregunte por el Security Descriptor, incluiremos también el parámetro –u.

Imagen 3.- Mutant descubierto a través de Handle

En el próximo post, realizaremos esta tarea, utilizando para ello volatility framework, en un análisis offline.

Saludetes!

 

A la caza del Mutante. Parte I

Estándar

Parte II

Parte III

Parte IV

Parte V

Un mutante, es como Windows llama de forma común a un Mutex. Un mutex ayuda a la hora de acceder a los recursos del sistema, o como mecanismo que ayude a que sólo una instancia de la aplicación se encuentre corriendo en el sistema.

Las aplicaciones pueden crear mutantes con un nombre específico o con un nombre en particular. Si una segunda instancia de la aplicación es ejecutada en el sistema, ésta intentará crear un mutex sin éxito, lo cual obligaría a la aplicación a terminar.

A menudo este tipo de técnicas son utilizadas por malware de diverso tipo para prevenir múltiples infecciones de una misma cepa. Y a menudo también nos podemos encontrar con aplicaciones que crean Mutex con la finalidad de proteger al sistema operativo. Entre los diferentes mecanismos de protección que puedan ofrecer, uno de ellos es la creación de Mutex a priori utilizados por Malware. Con esto intentan prevenir que algún tipo de virus pueda ejecutarse bajo esta técnica.

Utilizar la búsqueda de Mutex maliciosos como única técnica de detección de Malware es algo muy pobre, debido a que es muy fácil modificar este parámetro. Una prueba de ello lo tenemos en el configurador del archiconocido Poison Ivy.

Imagen 1.- Nombre de Mutex generado automáticamente por Poison Ivy

Es por ello que, unido a mi morbosa curiosidad, y dado el incremento de este tipo de técnicas en la programación de Malware, que dedicaremos 5 entradas sobre las técnicas y herramientas existentes para buscar con éxito mutantes (MUTEX) creados por aplicaciones.  Para ello, iremos realizando las operaciones desde lo más fácil, a lo más difícil, siempre desde mi punto de vista. La búsqueda de Mutex las realizaremos desde el punto de vista de:

  • Herramientas de Sysinternals (Análisis en Vivo)
  • Volatility Framework (Análisis Offline)
  • WinDBG (Debugging Tools de Windows) (Análisis Offline)

Nos vemos en la segunda parte!!