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.