Mostrando entradas con la etiqueta Análisis de malware. Mostrar todas las entradas
Mostrando entradas con la etiqueta Análisis de malware. Mostrar todas las entradas

jueves, 23 de junio de 2022

Reto Forense - HTB: Diagnostic

 

El reto comienza visitando la entorno web: 206.189.25.173:32614/layoffs.doc, esto conlleva la descarga del documento indicado en la URI.

Al analizar el documento de manera estática (se debe abrir el archivo como si fuera un archivo comprimido) se pueden apreciar dos puntos de interés:

                En el archivo: document.xml

                En el archivo:  document.xml.rels

Lo más sencillo es visitar  la nueva URL, pero tal y como nos dice la descripción del reto, la resolución DNS no funciona, por lo tanto tenemos que irnos a la URL: http://206.189.25.173:32614/223_index_style_fancy.html

Al visitarla obtendremos una bonita página en blanco, pero si revisamos el código, se nos abrirán los ojos:


¡Vaya!¡Follina ha llegado a nuestras vidas!

Tras revisar el código, nos quedamos con lo interesante, el resto del código en base64 puede ser música para tus oídos, pero revisarlo depende de ti



Si decodificamos la parte seleccionada obtenemos:


Ahora sólo falta interpretarlo, pero para eso tenemos nuestro amigo el powershell y las enseñanzas de Jack el Destripador, por lo tanto, iremos por partes.

Si empezamos por el primer parentesis y solicitamos el contenido de la variable:

Obtenemos:

Fácil, ¡no!, pues ya tenemos nuestro premio. 

En cualquier caso

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia

viernes, 31 de diciembre de 2021

Reto Forense - HTB: EMO

 

Abrimos el archivo comprimido que nos hemos descargado, y vemos que contiene un archivo de tipo ofimático.

Pues como ya comente en alguna otra entrada que no recuerdo, suelo seguir los siguientes pasos:

1.- Abrir el archivo ofimático con un gestor de archivos comprimidos, como por ejemplo: winrar, con lo que analizo la estructura interna del fichero. Aunque en muchos casos la información obtenida no es muy prometedora.

2.- Abrir el documento, y comprobar si el documento tiene macros. Es fácil, si el gestor de archivos ofimáticos con el que abramos el documento no sugiere activar las macros, es que obviamente hay macros dentro del documento.

Si tenemos macros, sugiero la modificación de la/s susodicha/s para así poder analizar el código y, si se considera, ejecutar la macro paso a paso.

En este caso, la macro solicita una contraseña para poder acceder a su contenido, por lo tanto, estamos en vía muerta

3.- Usar la herramienta: oledump, de Didier Steven, para analizar el contenido. Si el contenido tuviera macros, las detectaría e incluso podría extraerlas para su posterior análisis.

 

Para el archivo ofimático que estamos analizado se ha hecho se ha seguido este último punto. Pero tras analizar el archivo, se ha podido ver que el cogollo del asunto reside en alguna variable/propiedad definida dentro del documento, por lo que sin ese contenido, la ejecución que hagamos resulta ineficaz

Por este motivo, pasamos a ejecutar el archivo, teniendo el programa visor de procesos: Process Explorer.exe , en ejecución.

Pues bien, uno de los procesos que se crean y que son hijos del archivo ofimático, es un proceso de PowerShell que si pausamos, podemos ver el comando que se ejecuta… o eso creía

 


Como se ve, el comando a ejecutar viene codificado en base64, pero el problema no es ese, el problema es que no es posible copiar todo el mensaje codificado para decodificarlo. Los campos de texto en Visual Basic tienen limitado en número de caracteres.

¿Y ahora qué?... Pues hay varias opciones:

1.- Un dumpeo de la memoria del proceso anterior, mediante el propio programa: Process Explorer

Para ello sólo tenemos que botón derecho sobre nuestro proceso de PowerShell parado y seleccionar: Create Dump > Create Full Dump > Seleccionar ubicación y nombre del archivo.

 


Ahora ya sólo nos queda abrir un editor hexadecimal y buscar por alguna parte el código en base64 encontrado anteriormente.

 

2.- Si hemos instalado antes de la ejecución la herramienta Sysmon, podemos visualizar dentro de Visor de Procesos los eventos con ID 1.

Pues para eso nos vamos al visor de eventos y buscamos: Registros de aplicaciones y servicios > Microsoft > Windows > Sysmon > Operational.

Tras unos minutos buscando, llegamos hasta el premio.

 


Bueno, tras extraer nuestra preciada materia prima, procedemos a decodificar y obtenemos nuestro ansiado código fuente:


Lo primero que llama la atención es una parte del código en dónde se utiliza la función: downloadfile, que creo que no hace falta explicar lo que hace. Se extraen las distintas URLs que contiene el código pero, ni sus visitas ni la estructura de las URLs nos facilita pistas.

Por lo tanto, nos toma ahondar en el código de nuevo.

Revisandolo vemos que hay una condición que nunca se dará y que depende de la descarga de un archivo desde cualquiera de las anteriores URL. Pero qué ocurre si comentamos dicha condición.


Pues que tras la ejecución del código vemos que se ha creado la estructura de directorio: Jrbevk4/Ccwr_2h. Y que dentro aparece un archivo de nombre: Ale7g_8.conf, que contiene el siguiente texto en base64


Al intentar decodificarlo no obtenemos ningún texto legible, pero eso es porque hay que fijarse en un parte del código que a primera vista se me paso desapercibida. La puedes ver a continuación

 


Ok, pues apliquemos la función XOR con clave: 0xdf, a texto codificación en base64.

 


 

¡Perfecto!, hemos obtenido nuestro premio.

En cualquier caso

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.