Análisis de puerta trasera de Turla Cybergroup Outlook

Turla (Snake, Uroboros) es un grupo de espionaje cibernético que ganó fama en 2008 después de piratear objetos protegidos, incluida la red del Comando Central de las Fuerzas Armadas de EE . UU . Desde entonces, se especializa en ataques contra instalaciones militares y agencias diplomáticas en todo el mundo. Las víctimas famosas incluyen el Ministerio de Asuntos Exteriores de Finlandia en 2013, la corporación de defensa suiza RUAG de 2014 a 2016. y el gobierno alemán a fines de 2017 - principios de 2018.


Después del último incidente, varios medios de comunicación publicaron información sobre los métodos de los atacantes, utilizando archivos adjuntos de correo electrónico para controlar el malware y transferir datos robados del sistema. Sin embargo, no se proporcionó información técnica sobre la puerta trasera. En este informe, publicamos el análisis de la puerta trasera de Turla, que se administró utilizando archivos adjuntos PDF en el correo electrónico.



Según los informes de los medios , varias computadoras del Ministerio de Relaciones Exteriores de Alemania estaban infectadas con una puerta trasera. Aparentemente, el ataque comenzó en 2016 y fue descubierto por los servicios de seguridad a fines de 2017. Inicialmente, los atacantes comprometieron a la Escuela Secundaria Federal de Administración Pública (Hochschule des Bundes), luego de lo cual se trasladaron dentro de su red hasta que obtuvieron acceso a la red del Ministerio de Relaciones Exteriores en marzo de 2017. . Los operadores de Turla tuvieron acceso a algunos datos confidenciales (por ejemplo, el correo electrónico de los empleados del Ministerio de Relaciones Exteriores alemán) durante aproximadamente un año.


Nuestra investigación también revela que este malware dirigido a Microsoft Outlook se usó contra varios departamentos políticos y militares. Nos aseguramos de que los ministerios de asuntos exteriores de los otros dos países europeos y el principal contratista de defensa también estuvieran comprometidos. Nuestra investigación nos permitió establecer docenas de direcciones de correo electrónico registradas por los operadores de Turla para esta campaña y utilizadas para obtener datos de víctimas extraídas.


1. Puntos clave


La puerta trasera de Outlook de Turla Group tiene dos funciones.


En primer lugar, es el robo de cartas salientes que se envían al atacante. Afecta principalmente a Microsoft Outlook, pero también es relevante para The Bat !, popular en Europa del Este.


En segundo lugar, el uso de letras como capa de transporte de su protocolo C&C. Los archivos solicitados a través del comando de puerta trasera se extraen en documentos PDF especialmente creados como un archivo adjunto a las letras. Los comandos de puerta trasera también se envían en archivos PDF adjuntos. Esto permite el secreto. Es importante tener en cuenta que los atacantes no explotan ninguna vulnerabilidad en los lectores de PDF o Microsoft Outlook. El software malicioso puede decodificar datos de documentos PDF e interpretarlos como comandos.


Los objetivos de la campaña son típicos de Turla. Hemos identificado varias agencias gubernamentales europeas y compañías de defensa comprometidas por esta puerta trasera. Es probable que los atacantes lo usen para garantizar la persistencia en redes de acceso restringido, donde los firewalls bien configurados u otras herramientas de seguridad de red bloquean efectivamente las comunicaciones tradicionales con servidores C&C a través de HTTP (S). La figura a continuación enumera las líneas de código de puerta trasera que mencionan algunos dominios de nivel superior del gobierno. mfa es el dominio del Ministerio de Asuntos Exteriores, .gouv es un subdominio del gobierno francés (.gouv.fr), ocse es la Organización para la Seguridad y la Cooperación en Europa.



Figura 1. Dominios asociados con los servicios públicos encontrados en el código Malvari


Con base en el análisis y los datos de telemetría, encontramos que esta puerta trasera se ha distribuido en la naturaleza desde al menos 2013. Como siempre con Turla, no podemos centrarnos en las marcas de tiempo de compilación, ya que generalmente son falsas. Sin embargo, creemos que las primeras versiones se compilaron antes de 2013, ya que la versión de este año ya estaba bastante avanzada. Después de eso, encontramos una versión más similar a la base, cuya compilación fue fechada en 2009. Aún no es posible determinar la fecha exacta de lanzamiento. La línea de tiempo a continuación se basa en nuestra telemetría y datos de fuentes abiertas:


2009 : Marca de tiempo de compilación (puede ser falsa) de la versión base de la puerta trasera de Outlook. Solo una instantánea del contenido del correo electrónico.
2013 : Mejorado: la puerta trasera puede ejecutar comandos. Se envían por correo electrónico en formato XML.
2013 : ¡La última versión conocida dirigida a The Bat! ..
2016 : Mejorado: los equipos se envían como archivos adjuntos en documentos PDF especialmente creados.
2017 : Mejorado: una puerta trasera puede crear documentos PDF para extraer datos de un atacante.
Marzo de 2018 : informe de compromiso de la red del gobierno alemán.
Abril de 2018 : Mejorado: Backdoor puede ejecutar comandos de PowerShell usando Empire PSInject.


2. Arquitectura global


En versiones recientes, la puerta trasera es una DLL independiente, en la que hay código para la autoinstalación y la interacción con Outlook y The Bat !, clientes de correo electrónico, incluso si solo se implementa la instalación para Outlook. Puede ser eliminado fácilmente por cualquier componente de Turla que le permita realizar procesos adicionales.


En esta sección, nuestro análisis se basa en una muestra publicada en el primer semestre de 2017. Se puede incluir información sobre muestras más antiguas o más nuevas.


2.1. Instalación


Para establecer una puerta trasera, los atacantes exportan una DLL llamada Instalar o la registran con regsvr32.exe. El argumento es el cliente de correo electrónico de destino. La siguiente figura muestra los posibles valores. En las últimas versiones, solo se implementa la instalación de Outlook.



Figura 2. Posibles argumentos de instalación


Como no hay una ruta codificada, el archivo DLL se puede ubicar en cualquier parte del disco.


2.1.1 Microsoft Outlook


Los desarrolladores de Turla confían en el secuestro de objetos COM para garantizar la persistencia del malware. Este es un método bien conocido utilizado en la naturaleza durante muchos años, incluido el grupo Turla . La esencia del método es redirigir el objeto COM utilizado por la aplicación de destino modificando la entrada CLSID correspondiente en el registro de Windows.


En nuestro caso, se han realizado los siguientes cambios en el registro de Windows:


HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066} = Mail Plugin HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 = [Path to the backdoor DLL] HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32\ThreadingModel = Apartment HKCU\Software\Classes\CLSID\{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}\TreatAs = {49CBB1C7-97D1-485A-9EC1-A26065633066} 

{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D} - CLSID capturado. Corresponde al Administrador de protocolos de Outlook y, en teoría, carga el archivo OLMAPI32.DLL legítimo de Outlook. {49CBB1C7-97D1-485A-9EC1-A26065633066} no {49CBB1C7-97D1-485A-9EC1-A26065633066} asociado con ningún software conocido. Este CLSID es arbitrario y se usa solo como marcador de posición para la redirección COM.


Cuando se completa la modificación, la DLL de puerta trasera se cargará cada vez que Outlook cargue su objeto COM. Según nuestras observaciones, esto sucede durante el inicio de Outlook.


La redirección de COM no requiere derechos de administrador, ya que solo se aplica al usuario actual. Existen medidas de protección para evitar tales redireccionamientos maliciosos. Según MSDN : "Con Windows Vista y Windows Server 2008, si el nivel de integridad del proceso es superior al promedio, el tiempo de ejecución COM ignora la configuración COM del usuario y solo accede a la configuración COM para cada máquina".


El proceso de Outlook se ejecuta con una integridad media, como se muestra en la imagen a continuación. Por lo tanto, no está protegido del reenvío de COM para cada usuario.



Figura 3. Nivel de integridad del proceso de Outlook


Finalmente, el uso de la captura de objetos COM permite que la puerta trasera evite la detección, ya que la ruta a la puerta trasera ( C:\Users\User\Documents\mapid.tlb en nuestro ejemplo) no aparece en la lista de complementos, como se muestra en la siguiente figura.



Figura 4. Lista de complementos de Outlook: mapid.tlb no aparece


Incluso si el programa malicioso no aparece en la lista de complementos, la API estándar de Microsoft - MAPI (interfaz de programación de aplicaciones de mensajería) se usa para interactuar con Outlook.


2.1.2. El murciélago!


Como se especifica en la cronología, las últimas versiones de la puerta trasera ya no incluyen el código de registro para el complemento The Bat! .. Sin embargo, todavía existe todo el código para administrar los buzones y los mensajes. Si es necesario, se puede configurar manualmente.


Para registrarse como un complemento para The Bat! el malware modificó el %appdata%\The Bat!\Mail\TBPlugin.INI . Esta es una forma legítima de registrar un complemento para The Bat !, algunos complementos (por ejemplo, antispam) también lo usan.


¡Después de registrarte cada vez que inicias The Bat! Se llama a la DLL de puerta trasera. La siguiente figura muestra cómo la DLL implementa la exportación requerida para los complementos.



Figura 5. Exportación estándar para el complemento Bat!


2.2. Interacción con el cliente de correo.


La interacción con el cliente de correo depende del objetivo.


2.2.1. Microsoft Outlook


Microsoft admite la interfaz de programación de aplicaciones de mensajería (MAPI), que permite que las aplicaciones interactúen con Outlook . La puerta trasera de Turla usa esta API para acceder y administrar los buzones de un usuario / usuarios de un sistema comprometido.


Primero, la puerta trasera se conecta al sistema de mensajería usando MAPILogonEx, como se muestra en la figura.



Figura 6. Inicio de sesión MAPI


El segundo parámetro (lpszProfileName) está vacío, se establece el indicador MAPI_USE_DEFAULT . De acuerdo con la documentación: "El subsistema de mensajería debe anular el nombre de perfil predeterminado para el parámetro lpszProfileName. El indicador MAPI_EXPLICIT_PROFILE ignora a menos que lpszProfileName esté NULL o vacío".


Por el contrario, el indicador MAPI_NEW_SESSION no MAPI_NEW_SESSION establecido. Según la documentación: "El parámetro lpszProfileName ignora si hay una sesión anterior llamada MapiLogonEx con el indicador MAPI_ALLOW_OTHERS y si el indicador MAPI_NEW_SESSION no MAPI_NEW_SESSION establecido".


En nuestra opinión, Outlook abre una sesión predeterminada con el indicador MAPI_ALLOW_OTHERS . Por lo tanto, la puerta trasera utilizará una sesión abierta previamente para obtener acceso al perfil predeterminado del buzón. Esto explica la falta de una solicitud de nombre de usuario y contraseña al inicializar el complemento de puerta trasera.


Una vez hecho esto, la puerta trasera tendrá acceso al buzón y podrá administrarlo fácilmente utilizando otras funciones MAPI. Recorrerá varios almacenes de mensajes, analizará letras y agregará devoluciones de llamada a los mensajes entrantes y salientes. El archivo de registro muestra este proceso (nombre de usuario y dirección cambiados):


 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ========= Analyzing msg store ( 1 / 1 ) ========= Service name:MSUPST MS Pst path:C:\Users\[username]\Documents\Outlook Files\[email address].pst Wait main window before open current store Loop count = 46 This is default message store PUSH store to list >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _____________ FOLDERS _____________ Setting sink on folders in 1 stores. ========Process msg store ( 1 / 1 ) ========= Account: [email address] Successfull set sink on Outbox folder of current store. Successfull set sink on Inbox folder of current store. 

HrAllocAdviseSink una devolución de llamada en cada bandeja de entrada y HrAllocAdviseSink utilizando la función HrAllocAdviseSink , como se muestra.



Figura 7. Registro de una devolución de llamada en la Bandeja de salida


2.2.1.1. Bandeja de entrada de devolución de llamada


La devolución de llamada en la bandeja de entrada registra los metadatos del mensaje entrante, incluidas las direcciones de remitente y destinatario, el asunto y los nombres de los archivos adjuntos. Ejemplo a continuación (ortografía del desarrollador guardada):


 RECIVE ->{ From: sender@example.com To: receiver@example.net Cc: Bcc: Subj: Mail subject Att: an_attachment.pdf } 

Luego analiza la carta y los archivos adjuntos sobre el tema de los equipos de los atacantes. Esta función se describe en la sección 2.3.


Finalmente, intercepta los NDR al verificar los mensajes entrantes con la dirección de correo electrónico del operador. Cualquier carta que contenga la dirección del operador será rechazada. Esto puede causar problemas si la víctima sospecha que algo está mal y se pone en contacto con el servicio de soporte sin ver las respuestas.


2.2.1.2. Devolución de llamada en la bandeja de salida


Al igual que en la bandeja de entrada, la bandeja de salida registra los metadatos de todos los correos electrónicos enviados. Se genera el siguiente registro (se cambia la dirección del operador):


 21:57:56 SEND <-{ From: To: recipient@example.com Cc: Bcc: Subj: My title Att: [1] "last_presentation.pdf" } 21:57:56 Sending data message 21:57:56 Message ENTRYID: [Message ENTRYID] 21:57:56 Data message was send. To: [redacted]@gmx[.]com From: Subj: My title 21:57:56 Set last time. 21:57:56 Spawned thread for cleaning up outgoing messages (id 2848) 21:58:34 Ending work, client: Outlook 21:58:34 Number of messages to remove: 1 21:58:34 Message ENTRYID: [Message ENTRYID] 21:58:34 DeleteMessages executed successfully. 21:58:34 Number of not removed messages: 0 

Puede notar que reenvía todos los mensajes salientes a la dirección de los atacantes, […]@gmx[.]com . GMX: un popular servicio de correo electrónico gratuito; los atacantes probablemente lo eligieron, porque las organizaciones generalmente no bloquean el dominio gmx.com.


Esta dirección de correo electrónico está codificada en la muestra que estudiamos, como se muestra en la imagen a continuación. Sin embargo, se puede actualizar utilizando una de las funciones de puerta trasera. Los atacantes parecen estar registrando al menos una dirección de correo electrónico para cada objetivo
organizaciones que usan el formato firstname.lastname@gmx[.]com con el nombre del empleado real. Esto evita la detección, ya que a menudo es difícil distinguir dicha dirección del buzón personal de un empleado real. En el momento del análisis de la muestra en junio de 2018, la dirección no estaba disponible.



Figura 8. Dirección codificada de los operadores


La puerta trasera envía informes a la dirección de los operadores a ciertos intervalos. El informe incluye identificadores únicos, incluida la dirección MAC, el archivo de registro completo y los resultados del comando, si los hay. Luego, encripta los datos usando MISTY1, como se describe más adelante en la sección 2.3.2.2, y crea un archivo PDF válido con contenido encriptado. Antes de este blob de datos cifrados, el documento contiene una imagen blanca 1x1 en formato jpeg, codificada en un programa malicioso. Esto le permite crear un PDF válido que, cuando se abre, muestra solo una página en blanco.


Finalmente, la puerta trasera adjunta el PDF y envía un correo electrónico a los atacantes. La siguiente figura es un ejemplo de un archivo PDF creado por una puerta trasera.



Figura 9. Comienzo de un documento PDF creado por una puerta trasera para filtrar datos


El informe se envía utilizando la función de devolución de llamada en la bandeja de salida. Esto significa que la carta se irá al mismo tiempo que envía mensajes de usuario legítimos. La puerta trasera no puede enviar cartas con datos robados en un momento inusual para el usuario y, por lo tanto, evita la detección. Gracias al sigilo, este mecanismo de control y control es muy difícil de detectar en la naturaleza.


2.2.2. Disfrazar el comportamiento malicioso del usuario


Dado que la puerta trasera actúa cuando el usuario trabaja con la computadora y Outlook, el malware intenta ocultar la actividad maliciosa, por ejemplo, los mensajes entrantes de los operadores.


En primer lugar, una puerta trasera siempre elimina el correo enviado o recibido de los operadores. Como se muestra en la figura siguiente, durante unos segundos puede ver que ha aparecido un nuevo mensaje que, sin embargo, no aparece en el buzón.



Figura 10. Mensaje no leído


En segundo lugar, la puerta trasera intercepta la CreateWindowsEx , como se muestra en las siguientes figuras. Esto evita la creación de ventanas como NetUIHWND que Outlook usa para las notificaciones que aparecen en la esquina inferior derecha de la pantalla.



Figura 11. Configuración de la captura de la función CreateWindowsEx



Figura 12. Intercepción de CreateWindowsEx


La siguiente figura muestra un ejemplo de la ventana NetUIHWND, que generalmente se muestra en el escritorio cuando se recibe un nuevo mensaje. Como resultado de la intercepción de CreateWindowEx , no se muestra una notificación cuando los atacantes envían una carta a la puerta trasera.



Figura 13. Notificación de mensaje nuevo


2.2.3. El murciélago!


A pesar de que la función de registro del complemento para The Bat! ya no existe, hay un código heredado que realiza las mismas funciones que para Outlook usando la API The Bat!


Como se muestra en la figura siguiente, la puerta trasera utiliza el canal de comunicación con The Bat! Para recibir información del usuario, leer y enviar cartas. Sin embargo, todas las demás funciones, por ejemplo, utilizadas para registrar mensajes o ejecutar comandos, son idénticas a Outlook.



Figura 14. El canal Bat!


2.3. Puerta trasera


Como se muestra en la sección anterior, el malware puede procesar y filtrar mensajes. Al mismo tiempo, es una puerta trasera completamente funcional impulsada por correo electrónico que puede funcionar independientemente de cualquier otro componente de Turla. La puerta trasera no necesita una conexión permanente a Internet y puede funcionar en cualquier computadora que envíe mensajes a direcciones externas. Esto es útil en redes estrictamente controladas, por ejemplo, mediante el filtrado del tráfico de Internet. Además, incluso si la dirección de correo electrónico de los atacantes está inactiva, pueden recuperar el control enviando un comando desde una dirección diferente. En este caso, la carta también estará oculta para el usuario, ya que contendrá comandos interpretados por la puerta trasera. Por lo tanto, una puerta trasera es tan tolerante a fallas como un rootkit que verifica el tráfico de red entrante.


2.3.1. Formato pdf


A principios de 2018, varios medios de comunicación declararon que los operadores de Turla usan archivos adjuntos de correo electrónico para administrar computadoras infectadas. Los medios tenían razón. Un análisis de la puerta trasera de Turla Outlook reveló cómo envía e interpreta comandos.


Los comandos se envían por correo electrónico utilizando archivos PDF especialmente creados. No pudimos encontrar un PDF de muestra real con comandos, pero estos son probablemente documentos PDF válidos, así como archivos PDF creados por la puerta trasera para exfiltración.


A partir de documentos PDF, una puerta trasera puede restaurar lo que los operadores llaman un contenedor en revistas. Este es un blob con un formato especial que contiene comandos cifrados para la puerta trasera. La siguiente figura muestra el procedimiento para extraer este contenedor. Técnicamente, la aplicación no tiene que ser un documento PDF válido. El único requisito es que incluya el contenedor en el formato correcto.



Figura 15. Extracción del contenedor de comandos del PDF


El contenedor tiene una estructura compleja con muchos controles diferentes. Podría diseñarse para evitar errores de comunicación, pero creemos que la estructura se creó principalmente para contrarrestar la ingeniería inversa. La estructura del contenedor se muestra en la figura a continuación.



Figura 16. Estructura del contenedor de comandos


Inmediatamente antes del vector de inicialización, hay una lista de descriptores de comandos. Se presentan diferentes valores de ID en la tabla:




Los descriptores de ID 2 y 4 se utilizan para extraer las funciones de cifrado y descompresión, como se muestra en la siguiente figura. Sin embargo, el programa malicioso implementa solo un algoritmo de cifrado y un algoritmo de compresión. Por lo tanto, el único propósito de estos campos es complicar el análisis de la puerta trasera.



Figura 17. Funciones de descompresión y descifrado compensadas


Los equipos están en la última parte de la estructura. Se cifran con MISTY1 y se comprimen con bzip2. Puede haber muchos comandos diferentes en el mismo archivo PDF, y cada uno puede tener varios argumentos.


2.3.2. Criptografía


Aquí describimos los algoritmos de cifrado utilizados.


2.3.2.1. Cifrado XOR


Parte del contenedor (comenzando con el primer CRC32) se cifra con XOR con el flujo de bytes generado por la función definida por el usuario. Se necesita una semilla, que se pasa a srand para generar un segundo número llamando a rand. La segunda semilla se usa en la función que se muestra a continuación como argumento para los datos en XOR.


 int __usercall F_bytestream_xor@<eax>(unsigned int len@<edx>, int ciphertext@<ecx>, unsigned int seed) { unsigned int v3; // ebx int v4; // esi unsigned int v5; // edi int result; // eax unsigned int v7; // ecx char *v8; // edx unsigned int v9; // esi byte key[512]; // [esp+Ch] [ebp-204h] char *v11; // [esp+20Ch] [ebp-4h] v3 = len; v11 = (char *)ciphertext; srand(seed); v4 = 0; v5 = 0; do { result = rand(); *(_DWORD *)&key[4 * v5++] = result; } while ( v5 < 128 ); v7 = 0; if ( !v3 ) return result; v8 = v11; do { v8[v7] ^= key[v4]; v9 = v4 + 1; result = -(v9 < 512); v4 = result & v9; ++v7; } while ( v7 < v3 ); return result; } 

2.3.2.2. MISTY1


Los desarrolladores de Turla prefieren usar algoritmos de cifrado menos comunes o modificados en sus puertas traseras:


  • en carbono y serpiente - CAST-128
  • Gazer - implementación personalizada de RSA
  • en Mosquito - Blum Blum Shub como generador de números aleatorios para el flujo de bytes XOR
  • en rootkit Uroburos - una versión modificada de ThreeFish

En la puerta trasera de Outlook, implementaron MISTY1, un algoritmo de cifrado simétrico desarrollado por los criptógrafos de Mitsubishi Electric en 1995. Tiene las siguientes propiedades:


  • es simétrico
  • tiene una clave de 128 bits
  • utiliza dos tablas precalculadas: s7 (128 bytes) y s9 (2048 bytes)
  • utiliza tres funciones: FL, FO, FI
    o FL realiza algunas operaciones XOR entre la escritura de bytes y la clave extendida
    o FO realiza operaciones XOR entre el registro y la clave extendida, y también usa FI
    o FI realiza una expansión no lineal utilizando s7 y s9
  • opera con bloques de 64 bits
  • realiza ocho ciclos (ciclo - llamar a la función FO)
  • utiliza el cifrado Feistel


Figura 18. MISTY1



Figura 19. Ocho ciclos para el cifrado en bloque


Los desarrolladores de Turla modificaron ligeramente el algoritmo:


  • agregó dos operaciones XOR a la función FI como se muestra en la figura a continuación
  • Se genera una clave de 128 bits a partir de dos claves codificadas de 1024 bits más un vector de inicialización de 2048 bits
  • cambiaron las tablas s7 y s9. Esto interrumpe el funcionamiento de todas las herramientas que reconocen algoritmos criptográficos basados ​​en valores de tabla s. Tanto las tablas S modificadas como las originales contienen los mismos valores, simplemente se barajan


Figura 20. Comparación de funciones FI (original a la izquierda, desarrollo de Turla a la derecha)


2.3.3. Las funciones


La puerta trasera tiene muchas funciones, desde exfiltrar archivos hasta ejecutar comandos. La descripción de varias funciones se encuentra en la tabla a continuación.




Para la función 0x29, los desarrolladores de Turla copiaron el código del proyecto Empire PSInject . Esto le permite ejecutar código de PowerShell en un archivo ejecutable especial llamado PowerShell Runner sin llamar a powershell.exe . La principal ventaja es que el malware aún puede ejecutar comandos de PowerShell incluso si el archivo powershell.exe está bloqueado en una computadora comprometida.


Después de analizar la puerta trasera, pudimos crear un documento PDF que puede ser interpretado con éxito por un programa malicioso. La siguiente figura muestra la ejecución de MessageBox y el lanzamiento de la calculadora ( calc.exe ) después de que Outlook haya recibido un correo electrónico con este PDF. Esto demuestra que la puerta trasera, probablemente destinada a recibir comandos en archivos adjuntos PDF, es funcional y puede ser controlada por cualquiera que comprenda este formato personalizado.



Figura 21. Ejecución de los comandos especificados en el documento PDF


2.4. Funciones adicionales


Además de las capacidades de puerta trasera implementadas como un complemento para el cliente de correo electrónico, el malware tiene otras funciones.


2.4.1 Sistema de archivos virtual


El programa malicioso no utiliza ningún archivo de configuración, pero admite un pequeño sistema de archivos virtual en la HKCU\Software\Microsoft\Windows\CurrentVersion\Settings\ZonePolicy\ registro de Windows HKCU\Software\Microsoft\Windows\CurrentVersion\Settings\ZonePolicy\ . Otras puertas traseras de Turla, como Gazer , también almacenan el sistema de archivos virtual en el registro de Windows. Pudimos determinar algunos valores de registro, como se muestra en la siguiente tabla.



2.4.2 Revistas


Como se mencionó anteriormente, el programa guarda un diario, que se envía regularmente al operador por correo electrónico en un documento PDF creado especialmente. Se almacena en %appdata%/Microsoft/Windows/scawrdot.db y se cifra con una clave XOR de 512 bytes codificada. El archivo de registro se borra después de cada exfiltración a los operadores. Por lo tanto, durante el examen forense sería imposible ver todas las acciones pasadas de la puerta trasera, solo la última.


Los registros son bastante informativos, permiten a los operadores de Turla rastrear acciones de puerta trasera. La siguiente figura muestra un ejemplo de un registro descifrado.



Figura 22. Archivo de registro descifrado


3. Conclusiones


El informe mostró que los desarrolladores de Turla tienen suficientes ideas cuando desarrollan puertas traseras. Hasta donde sabemos, Turla es el único grupo de ciberespionaje que actualmente utiliza una puerta trasera que se gestiona completamente por correo electrónico, o más bien, archivos adjuntos en PDF.


La puerta trasera de Turla no es la primera en utilizar el buzón real de la víctima para recibir comandos y extraer datos. Sin embargo, esta es la primera puerta trasera que se aprende utilizando la API estándar (MAPI) para interactuar con Microsoft Outlook. Esta es una mejora significativa en comparación con la versión anterior que estudiamos , que utilizaba Outlook Express. Por el contrario, la nueva puerta trasera de Turla funciona incluso con las últimas versiones de Outlook.


, , , , Turla . , Uroburos, .


, Turla, , . , , . , - , .


, PDF-, Turla, , .


ESET Turla, .


GitHub .


4.


4.1. Hashes


8A7E2399A61EC025C15D06ECDD9B7B37D6245EC2 — Win32/Turla.N; (GMT) 2013-06-28 14:15:54
F992ABE8A67120667A01B88CD5BF11CA39D491A0 — Win32/Turla.AW; GMT 2014-12-03 20:50:08
CF943895684C6FF8D1E922A76B71A188CFB371D7 — Win32/Turla.R; GMT 2014-12-03 20:44:27
851DFFA6CD611DC70C9A0D5B487FF00BC3853F30 — Win32/Turla.DA; GMT 2016-09-15 08:14:47


4.2.


%appdata%/Microsoft/Windows/scawrdot.db
%appdata%/Microsoft/Windows/flobcsnd.dat
mapid.tlb


4.3.


HKCU\Software\Microsoft\Windows\CurrentVersion\Settings\ZonePolicy\
HKCU\Software\Classes\CLSID{49CBB1C7-97D1-485A-9EC1-A26065633066}
HKCU\Software\Classes\CLSID{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}

Source: https://habr.com/ru/post/es421399/


All Articles