Como analizar el ransomware Locky/Zepto paso a paso (II de II)
Una vez obtenida la Macro dañina, ahora el objetivo es conocer la URL desde donde finalmente la Macro descarga el archivo ejecutable .EXE. Este archivo es el binario de Locky/Zepto que finalmente cifra todos los archivos del usuario.
Para realizar este proceso, dentro de la Macro debemos identificar la función que contiene la URL "cifrada" o codificada y la que contiene el proceso de descifrado. Por ejemplo, en nuestro caso podemos ver el siguiente código fuente:
Aquí la función se llama "CheckDriveSpecError" y contiene una variable "nsGadget" que comienza con "166488800666551856888006665..." y utiliza la función "split". Esta función llama a "GetAbbr", la cual descifra dicha cadena y obtiene la URL buscada. Para obtener esta URL simplemente hacemos que la variable correspondiente se escriba en pantalla.
Salvo las funciones necesarias, todo el resto del código fuente puede eliminarse. Ahora se puede ejecutar la Macro (paso a paso si se desea) y se obtendrá la URL buscada, tal y como puede verse en la imagen anterior.
Ahora simplemente falta descargar el archivo dañino mediante cURL o Wget.
En este caso, el archivo ejecutable descargado es detectado por varios antivirus.
En este caso el proceso de conocer la URL también puede realizarse sin debugear el código VBA sino analizando el código fuente y obteniendo la "formula de cifrado". La cadena utiliza un "split" para obtener una serie de números que, al ser dividido por 16, da como resultado una cadena de caracteres ASCII. Esta caracteres concatenados corresponden a la URL buscada.
Si se desea se puede continuar el análisis de la Macro para determinar cómo se realiza la ejecución del malware descargado, pero eso corre por parte del lector y bajo su propio riesgo.
Cristian de la Redacción de Segu-Info
Para realizar este proceso, dentro de la Macro debemos identificar la función que contiene la URL "cifrada" o codificada y la que contiene el proceso de descifrado. Por ejemplo, en nuestro caso podemos ver el siguiente código fuente:
Aquí la función se llama "CheckDriveSpecError" y contiene una variable "nsGadget" que comienza con "166488800666551856888006665..." y utiliza la función "split". Esta función llama a "GetAbbr", la cual descifra dicha cadena y obtiene la URL buscada. Para obtener esta URL simplemente hacemos que la variable correspondiente se escriba en pantalla.
Ahora simplemente falta descargar el archivo dañino mediante cURL o Wget.
En este caso, el archivo ejecutable descargado es detectado por varios antivirus.
En este caso el proceso de conocer la URL también puede realizarse sin debugear el código VBA sino analizando el código fuente y obteniendo la "formula de cifrado". La cadena utiliza un "split" para obtener una serie de números que, al ser dividido por 16, da como resultado una cadena de caracteres ASCII. Esta caracteres concatenados corresponden a la URL buscada.
Si se desea se puede continuar el análisis de la Macro para determinar cómo se realiza la ejecución del malware descargado, pero eso corre por parte del lector y bajo su propio riesgo.
Cristian de la Redacción de Segu-Info
Groso! explicas muy simple y didáctico.. un maestro.
ResponderBorrarBuenas, hace un tiempo estuve probando con una variante que entraba a nuestro servidor de correo vía campaña de SPAM, me tocó un poco mas de trabajo ya que el JavaScript estaba ofuscado, igualmente llegué a descargar el ransomware que era una variante de Locky, el tema es que me gustaría intentar ver el código fuente del ejecutable, ¿es posible?, ¿alguna idea de por donde empezar?. Salutes!
ResponderBorrarHace tiempo no leía una explicación tan detallada, muchas gracias por compartir el conocimiento.
ResponderBorrar