A fines del año pasado, descubrimos que entre septiembre y diciembre de 2019 se estuvieron llevando a cabo de manera activa ataques dirigidos contra compañías aeroespaciales y militares en Europa y Medio Oriente. Una investigación en colaboración con dos de las compañías europeas afectadas nos permitió obtener información sobre la operación y descubrir malware previamente indocumentado.
Si bien esta publicación ahondará en los detalles de cómo se desarrollaron estos ataques, más detalles de esta investigación pueden encontrarse en nuestro white paper, Operation In(ter)ception: Targeted attacks against European aerospace and military companies.
Basados en una muestra de malware utilizado llamada Inception.dll, hemos denominado Operation In(ter)ception a estos ataques altamente dirigidos y que tenían la clara intención de mantenerse lejos de los radares de detección.
Para comprometer a sus objetivos, los atacantes utilizaron ingeniería social a través de LinkedIn para publicar ofertas de trabajo atractivas, pero falsas. Tras establecer un contacto inicial, los atacantes desplegaron su malware personalizado de múltiples etapas, junto con herramientas de código abierto modificadas. Además de malware, los atacantes hicieron uso de tácticas conocidas como living off the land para abusar de herramientas legítimas y funciones del sistema operativo. Asimismo, se utilizaron varias técnicas para evitar la detección, incluyendo la firma de código, la recopilación de malware de manera regular y la suplantación de identidad de software y compañías legítimas.
Según nuestra investigación, el objetivo principal de la operación era el espionaje. Sin embargo, en uno de los casos que investigamos los actores intentaron monetizar el acceso a la cuenta de correo de una de sus víctimas a través de un ataque conocido como BEC (del inglés Business Email Compromise).
Si bien no encontramos evidencia sólida que vincule estos ataques a un grupo de cibercriminales conocido, descubrimos algunos elementos que sugieren un posible vínculo con el grupo Lazarus, como son las similitudes en cuanto al perfil de sus blancos de ataque, el entorno de desarrollo y las técnicas antianálisis utilizadas.
Compromiso inicial
Como parte de la fase inicial de compromiso, los atacantes detrás de Operation In(ter)ception habían creado cuentas falsas de LinkedIn a través de las cuales se hacían pasar por representantes de RR. HH de compañías conocidas en las industrias aeroespacial y de defensa. En nuestra investigación, hemos visto perfiles que se hacen pasar por Collins Aerospace (anteriormente Rockwell Collins) y General Dynamics, ambas grandes corporaciones estadounidenses en el campo.
Con los perfiles configurados, los atacantes buscaron empleados de las empresas seleccionadas como blanco de sus ataques y les enviaron mensajes con ofertas de trabajo ficticias utilizando la función de mensajería de LinkedIn, como se ve en la Figura 1. (Nota: las cuentas falsas de LinkedIn ya no existen).
Una vez que los atacantes tuvieron la atención de sus objetivos, colaron archivos maliciosos en la conversación, disfrazados de documentos relacionados con la oferta de trabajo en cuestión. La figura 2 muestra un ejemplo de dicha comunicación.
Para enviar los archivos maliciosos, los atacantes usaron LinkedIn directamente o una combinación de correo electrónico y OneDrive. En el caso de OneDrive, los atacantes usaron cuentas de correo electrónico falsas que se correspondían a sus personajes falsos de LinkedIn, e incluyeron enlaces de OneDrive que alojaban los archivos.
El archivo compartido era un archivo RAR protegido con contraseña que contenía un archivo LNK. Una vez abierto, el archivo LNK da inició a un Command Prompt que abre en el navegador predeterminado de la víctima un archivo PDF remoto.
Ese PDF, que aparentemente contenía información salarial vinculada a los puestos de trabajo, en realidad funcionó como señuelo, ya que en segundo plano, el Command Prompt crea una nueva carpeta y copia a la misma el WMI Commandline Utility (WMIC.exe), renombrando la utilidad en el proceso. Finalmente, creó una tarea programada configurada para ejecutar un script XSL remoto periódicamente a través del WMIC.exe copiado.
Esto permitió a los atacantes poner un pie dentro de la compañía y ganar persistencia en la computadora comprometida. La Figura 3 ilustra los pasos que conducen al compromiso.
Herramientas y técnicas de ataque utilizadas
Los atacantes detrás de Operation In(ter)ception emplearon una serie de herramientas maliciosas, incluido el malware personalizado de múltiples etapas y versiones modificadas de herramientas de código abierto.
Hemos visto los siguientes componentes:
- Downloader personalizado (Etapa 1)
- Backdoor personalizado (Etapa 2)
- Una versión modificada de PowerShdll: una herramienta para ejecutar código de PowerShell sin el uso de powershell.exe
- Loaders de DLL personalizados utilizados para ejecutar el malware personalizado
- Beacon DLL, probablemente utilizado para verificar conexiones a servidores remotos
- Una compilación personalizada de dbxcli: un cliente de línea de comandos de código abierto para Dropbox utilizado para la exfiltración de datos
En un escenario típico, el malware de la Etapa 1 –el downloader personalizado– fue descargado por el script XSL remoto (descrito en la sección de Compromiso inicial) y ejecutado usando la utilidad rundll32. Sin embargo, también vimos casos en los que los atacantes usaron uno de sus loaders de DLL personalizados para ejecutar el malware de la Etapa 1. El objetivo principal del downloader personalizado es descargar el payload de la Etapa 2 y ejecutarlo en su memoria.
El payload de la Etapa 2 es un backdoor modular bajo la forma de una DLL escrita en C++. Periódicamente envía solicitudes al servidor y realiza acciones definidas basadas en los comandos recibidos, como enviar información básica sobre la computadora, cargar un módulo o cambiar la configuración. Si bien no recuperamos ningún módulo recibido por el backdoor de su servidor de C&C, sí encontramos indicios de que se utilizó un módulo para descargar el PowerShdll.
Además del malware, en su afán de mantenerse lejos de los radares de detección, los atacantes hicieron uso de la técnica conocida como “living off the land” para abusar de herramientas legítimas y de las funciones del sistema operativo para realizar varias operaciones maliciosas. En cuanto a las técnicas específicas, descubrimos que los atacantes usaban WMIC para interpretar scripts XSL remotos, certutil para decodificar los payloads descargados codificados en base64, y rundll32 y regsvr32 para ejecutar su malware personalizado.
La Figura 4 muestra cómo interactuaron los diversos componentes durante la ejecución del malware.
Además de utilizar técnicas “living off the land”, descubrimos que los atacantes hicieron un esfuerzo especial para mantenerse ocultos.
Primero, los atacantes camuflaron sus archivos y carpetas dándoles nombres legítimos. Para este propósito, los atacantes utilizaron nombres de software y de compañías conocidas, como Intel, NVidia, Skype, OneDrive y Mozilla. Por ejemplo, encontramos archivos maliciosos con las siguientes rutas:
- C:\ProgramData\DellTPad\DellTPadRepair.exe
- C:\Intel\IntelV.cgi
Curiosamente, no solo se cambió el nombre de los archivos maliciosos, sino que los atacantes también manipularon las utilidades de Windows de las cuales se aprovecharon. Copiaron las utilidades a una nueva carpeta (por ejemplo, C:\NVIDIA) y las renombraron (por ejemplo, regsvr32.exe cambió su nombre a NvDaemon.exe)
En segundo lugar, los atacantes firmaron digitalmente algunos componentes de su malware, como son su downloader y backdoor personalizado, y la herramienta dbxcli. El certificado fue emitido en octubre de 2019 –mientras los ataques estaban activos– a 16:20 Software, LLC. Según nuestra investigación, 16:20 Software, LLC es una compañía existente con sede en Pennsylvania, EE. UU., constituida en mayo de 2010.
En tercer lugar, descubrimos que el malware de la Etapa 1 se volvió a compilar varias veces durante la operación.
Finalmente, los atacantes también implementaron técnicas de antianálisis en su malware personalizado, como el aplanamiento del flujo de control y la carga dinámica de API.
Recolección de datos y exfiltración
Según nuestra investigación, para filtrar los datos recopilados de sus blancos de ataque los operadores utilizaron una compilación personalizada de dbxcli, un cliente de línea de comandos de código abierto para Dropbox. Desafortunadamente, ni el análisis del malware ni la investigación nos permitieron obtener una idea de qué archivos buscaban los atacantes detrás de Operation In(ter)ception. Sin embargo, los cargos que ocupaban los profesionales a los que contactaron a través de LinkedIn sugieren que los atacantes estaban interesados en información técnica y comercial.
Compromiso de correos corporativos
En uno de los casos investigados, los atacantes no solo se detuvieron en la extracción de datos: como etapa final de la operación, intentaron monetizar el acceso a la cuenta de correo electrónico de una de sus víctimas a través de un ataque conocido como BEC (del inglés, Business Email Compromiso).
Primero, aprovechando las comunicaciones existentes en la cuenta de correo de la víctima, los cibercriminales intentaron engañar a un cliente de una de las compañías blanco de sus ataques para que pague una factura pendiente a través de su banco, como se ve en la Figura 5. Para una comunicación más efectiva con el cliente, usaron su propia dirección de correo electrónico haciéndose pasar por la víctima.
Aquí, los atacantes no tuvieron éxito: en lugar de pagar la factura, el cliente respondió con preguntas sobre la suma solicitada. Cuando los atacantes instaron al cliente a pagar, el cliente terminó contactando a la dirección de correo electrónico legítima de la víctima sobre el problema, lo que desató una alarma en el lado de la víctima.
Posibles atribuciones
Aunque nuestra investigación no reveló evidencia convincente que permita vincular los ataques a un grupo o actor de amenaza conocido, identificamos varios indicios que sugieren un posible vínculo con el grupo de Lazarus. En particular, encontramos similitudes en el perfil de sus blancos de ataque, el uso de cuentas falsas de LinkedIn, el entorno de desarrollo y las técnicas antianálisis implementadas. Además de eso, hemos visto una variante del malware de la Etapa 1 que contenía una muestra de Win32/NukeSped.FX, que pertenece a un conjunto de herramientas maliciosas que ESET atribuye al grupo Lazarus.
Conclusión
Nuestra investigación descubrió una operación altamente dirigida que se destaca tanto por su convincente esquema de ingeniería social basado en LinkedIn, por malware modular personalizado y por los trucos implementados para evadir la detección. Curiosamente, si bien la Operation In(ter)ception mostró todos los signos de ciberespionaje, los atacantes aparentemente también tenían un objetivo financiero, como lo demuestra el intento de ataque BEC.
Un agradecimiento especial a Michal Cebák por su trabajo en esta investigación.
Para obtener una descripción completa de los ataques, así como un análisis técnico del malware previamente indocumentado y los Indicadores de compromiso (IoC), consulte nuestro whitepaper, Operation In(ter)ception: Targeted attacks against European aerospace and military companies.
Los IoCs recopilados de los ataques también se pueden encontrar en el repositorio de GitHub de ESET.
Técnicas de MITRE ATT&CK
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1194 | Spearphishing via Service | LinkedIn is used to contact the target and provide a malicious attachment. |
Execution | T1059 | Command-Line Interface | cmd.exe used to create a scheduled task to interpret a malicious XSL script via WMIC. |
T1106 | Execution through API | Malware uses CreateProcessA API to run another executable. | |
T1086 | PowerShell | A customized .NET DLL is used to interpret PowerShell commands. | |
T1117 | Regsvr32 | The regsvr32 utility is used to execute malware components. | |
T1085 | Rundll32 | The rundll32 utility is used to execute malware components. | |
T1053 | Scheduled Task | WMIC is scheduled to interpret remote XSL scripts. | |
T1047 | Windows Management Instrumentation | WMIC is abused to interpret remote XSL scripts. | |
T1035 | Service Execution | A service is created to execute the malware. | |
T1204 | User Execution | The attacker relies on the victim to extract and execute a LNK file from a RAR archive received in an email attachment. | |
T1220 | XSL Script Processing | WMIC is used to interpret remote XSL scripts. | |
Persistence | T1050 | New Service | A service is created to ensure persistence for the malware. |
T1053 | Scheduled Task | Upon execution of the LNK file, a scheduled task is created that periodically executes WMIC. | |
Defense Evasion | T1116 | Code Signing | Malware signed with a certificate issued for “16:20 Software, LLC”. |
T1140 | Deobfuscate/Decode Files or Information | certutil.exe is used to decode base64-encoded malware binaries. | |
T1070 | Indicator Removal on Host | Attackers attempt to remove generated artifacts. | |
T1036 | Masquerading | Malware directories and files are named as, or similar to, legitimate software or companies. | |
T1027 | Obfuscated Files or Information | Malware is heavily obfuscated and delivered in base64-encoded form. | |
T1117 | Regsvr32 | The regsvr32 utility is used to execute malware components. | |
T1085 | Rundll32 | The rundll32 utility is used to execute malware components. | |
T1078 | Valid Accounts | Adversary uses compromised credentials to log into other systems. | |
T1220 | XSL Script Processing | WMIC is used to interpret remote XSL scripts. | |
Credential Access | T1110 | Brute Force | Adversary attempts to brute-force system accounts. |
Discovery | T1087 | Account Discovery | Adversary queries AD server to obtain system accounts. |
T1012 | Query Registry | Malware has ability to query registry to obtain information such as Windows product name and CPU name. | |
T1018 | Remote System Discovery | Adversary scans IP subnets to obtain list of other machines. | |
T1082 | System Information Discovery | Malware has ability to gather information such as Windows product name, CPU name, username, etc. | |
Collection | T1005 | Data from Local System | Adversary collects sensitive data and attempts to upload it using the Dropbox CLI client. |
T1114 | Email Collection | Adversary has access to a victim’s email and may utilize it for a business email compromise attack | |
Command and Control | T1071 | Standard Application Layer Protocol | Malware uses HTTPS protocol. |
Exfiltration | T1002 | Data Compressed | Exfiltrated data is compressed by RAR. |
T1048 | Exfiltration Over Alternative Protocol | Exfiltrated data is uploaded to Dropbox using its CLI client. | |
T1537 | Transfer Data to Cloud Account | Exfiltrated data is uploaded to Dropbox. |