Recientemente, Unit 42 de Palo Alto Networks informó sobre una nueva plataforma de explotación que llamamos "DealersChoice" que es usada por el grupo Sofacy (AKA APT28, Fancy Bear, STRONTIUM, Pawn Storm, Sednit).  Como se describe en nuestra publicación original, la plataforma de explotación DealersChoice genera documentos RTF maliciosos que a la vez usan documentos de Word OLE integrados. Estos documentos de Word OLE integrados contienen entonces archivos Adoble Flash (.SWF) integrados que están diseñados para explotar las vulnerabilidades de Adobe Flash.

En el momento de realización del informe inicial, encontramos dos variantes:

  1. Variante A: Una variante independiente que incluía un código de exploit Flash con una carga útil.
  2. Variante B: Una variante modular que cargaba un código de exploit bajo demanda y no parecía estar en operación en ese momento.

Desde entonces, pudimos recolectar muestras adicionales de documentos infectados que son generados por la plataforma de explotación de DealersChoice. Estas últimas muestras adicionales son todas muestras de la variante B. Se descubrió que dos de estas muestras tienen servidores de comando y control de operación, lo que nos permitió recolectar y analizar objetos adicionales asociados con el ataque.

A fines octubre de 2016, Adobe emitió el Boletín de Seguridad de Adobe APSB16-36 para abordar CVE-2016-7855. A principios de noviembre de 2016, Microsoft emitió el Boletín de Seguridad de Microsoft MS16-135 para abordar CVE-2016-7255.

Ambos fueron una respuesta a la explotación activa de vulnerabilidades de día cero que otros investigadores creyeron que están asociadas con el grupo Sofacy. Informes adicionales, así como nuestro propio análisis, indican que el código de exploit para la vulnerabilidad de Adobe Flash CVE-2016-7855 se entregaba efectivamente utilizando de DealersChoice. Las pruebas internas también revelan que los clientes del agente de endpoint Traps de Palo Alto Networks están protegidos por el nuevo código de exploit.

Cuente Conmigo: Búsqueda de Servidores C2 en Vivo

En nuestro blog anterior sobre DealersChoice, identificamos los pasos que la variante B realizaría una vez que se ejecutara en un host de la víctima, pero no pudimos interactuar de forma exitosa con el servidor de comando y control (C2) en ese momento.

Desde entonces, descubrimos dos servidores C2 totalmente activos y en operación (versiontask[.]com y postlkwarn[.]com) que siguieron los pasos exactos que describimos en el blog: cargar el código de exploit Flash adicional en la memoria; y luego cargar la carga útil asociada también en la memoria. En la Figura 1, se detalla el flujo de trabajo de la víctima a las comunicaciones C2.

dealerschoice2_1

Figura 1: Flujo de trabajo de DealersChoice

El ActionScript dentro de la variante B interactuará con el servidor C2, específicamente para obtener un archivo SWF malicioso y una carga útil. Este proceso comienza con un aviso al servidor C2 que tiene información del sistema y la versión de Adobe Flash Player de la víctima. En la Figura 2, se muestra el aviso enviado por el ActionScript al servidor C2.


dealerschoice2_2

Figura 2: Aviso inicial de DealersChoice a su servidor C2

C2 responde al aviso inicial con segmentos que son utilizados por el ActionScript de DealersChoice como variables en acciones futuras, tales como solicitudes HTTP adicionales y el descifrado de las respuestas a esas solicitudes. En la Figura 3, se muestra la respuesta del servidor C2 al aviso, específicamente incluye los valores k1, k2, k3 y k4.

dealerschoice2_3

Figura 3: La respuesta de C2 al aviso provee a DealersChoice con los tokens y las claves necesarios para descifrar datos

ActionScript utiliza luego la variable k1 de los datos de la respuesta de C2 como token en la solicitud HTTP que es enviada de regreso al servidor C2 para obtener el archivo SWF malicioso, como se observa en la Figura 4.

El servidor C2 responderá a esta solicitud con datos que ActionScript descifrará con el valor de la variable k3.

Los servidores C2 activos le proporcionaron a la variante B un archivo SWF malicioso que era el mismo archivo SWF que se encontró en las muestras de la variante A que explotó CVE-2015-7645 (abordado en octubre de 2016 en el Boletín de Seguridad de Adobe APSA15-05).

c42a0d50eac9399914090f1edc2bda9ac1079edff4528078549c824c4d023ff9
45a4a376cb7a36f8c7851713c7541cb7e347dafb08980509069a078d3bcb1405

dealerschoice2_4

Figura 4: Solicitud HTTP de DealersChoice para obtener un archivo SWF malicioso para explotar Adoble Flash Player

Después de recibir el archivo SWF malicioso, la variante B emitirá una solicitud HTTP con la variable k2 como token para obtener su carga útil, como se observa en la Figura 5. C2 responderá a esta solicitud con datos que la variante B descifrará al utilizar como clave el valor en la variable k4. Los datos descifrados que resultan de esto contienen un shellcode y una carga útil que el shellcode descifra y ejecuta.

dealerschoice2_5

Figura 5: Solicitud de HTTP de DealersChoice para obtener el shellcode y la carga útil para ejecutar después de la explotación exitosa

Los servidores C2 activos versiontask[.]com y postlkwarn[.]com proporcionan el shellcode que descifra y ejecuta una carga útil que, en ambos casos, era un cargador troyano que extrae y descifra un DLL integrado que se guarda en el sistema.

5dd3066a8ee3ab5b380eb7781c85e4253683cd7e3eee1c29013a7a62cd9bef8c fa8b4f64bff799524f6059c3a4ed5d169e9e7ef730f946ac7ad8f173e8294ed8

En ambos casos, el DLL guardado en el sistema es una variante de la herramienta de Sofacy que usa el código fuente Carberp.

82213713cf442716eac3f8c95da8d631aab2072ba44b17dda86873e462e10421 3ff1332a84d615a242a454e5b29f08143b1a89ac9bd7bfaa55ba0c546db10e4b

Las dos variantes de la herramienta Seduploader comparten un dominio C2 común de apptaskserver[.]com, con dominios C2 de respaldo diferentes de appservicegroup[.]com y joshel[.]com.

Un As en la Manga: Análisis de las Huellas Digitales de la Víctima

En el proceso de análisis del servidor C2 activo de la variante B, queríamos probar nuestra hipótesis de que el servidor C2 cargaría un código de exploit diferente dependiente de las huellas digitales de la víctima.  Testeamos esto al proporcionarle diferentes respuestas al servidor C2.

Primero, emitimos solicitudes al servidor C2 desde un VPN ubicado en California, EE. UU., y el servidor no respondió a las solicitudes. Luego, nos conectamos a otro VPN ubicado en Medio Oriente y emitimos las mismas solicitudes, a lo que el servidor C2 respondió con un SWF malicioso y una carga útil. Este hecho sugiere que el grupo Sofacy usa geolocalización para filtrar las solicitudes que se originan en ubicaciones que no coinciden con la ubicación del objetivo.

Después, emitimos varias solicitudes para probar el C2 y cada una de las veces el servidor respondió con diferentes variables k1, k2, k3 y k4; lo que sugiere que el servidor elige al azar estos valores para cada solicitud entrante.

Para probar más aún la lógica del servidor C2, creamos solicitudes que contenían diferentes valores para el sistema operativo y la versión de Flash Player. Cuando enviamos las solicitudes de HTTP al servidor C2 con la versión de Adoble Flash Player configurada en 23.0.0.185, la versión más reciente de Flash vulnerable a CVE-2016-7855, el servidor respondió con un archivo SWF comprimido (SHA256: c993c1e10299162357196de33e4953ab9ab9e9359fa1aea00d92e97e7d8c5f2c) que explotó esa vulnerabilidad.

Finalmente, cuando emitimos solicitudes al servidor C2 que indicaban que la víctima era un sistema macOS, el servidor C2 envió el mismo archivo SWF malicioso y la misma carga útil de Windows que antes; lo que sugiere que el grupo Sofacy no usa DealersChoice para verificar el tipo de sistema operativo de su víctima por ahora.

En todos los casos, la carga útil que entregó el servidor C2 es un cargador troyano (SHA256: 3bb47f37e16d09a7b9ba718d93cfe4d5ebbaecd254486d5192057c77c4a25363) que instala una variante de Seduploader (SHA256: 4cbb0e3601242732d3ea7c89b4c0fd1074fae4a6d20e5f3afc3bc153b6968d6e), que usa un servidor C2 de akamaisoftupdate[.]com.

Mostrar la Mano: Documentos de Señuelo

Se recopilaron seis documentos para esta ola de ataques de DealersChoice, todos aparentemente de la variante B, que usan señuelos similares a los que observamos en la ola anterior. Los nombres de los seis archivos que descubrimos son los siguientes:

  • Operation_in_Mosul.rtf: un artículo sobre las tropas turcas en Mosul
  • NASAMS.doc: un documento que es una copia de un artículo relacionado con la compra de un sistema de defensa de misiles noruego del Ministerio de Defensa Nacional de Lituania
  • Programm_Details.doc: un documento que es una copia de un cronograma de una conferencia de inteligencia de ciberataques en Londres, dirigido al Ministerio de Defensa de un país europeo
  • DGI2017.doc: un documento dirigido al Ministerio de Relaciones Internacionales de un país de Asia Central con respecto a la agenda de la reunión de Inteligencia Geoespacial de Defensa en Londres
  • Olympic-Agenda-2020-20-20-Recommendations.doc: un documento que contiene detalles de acuerdos para las Olimpiadas 2020
  • ARM-NATO_ENGLISH_30_NOV_2016.doc: un documento que describe un acuerdo entre la República de Armenia y la OTAN

dealerschoice_figure_6

Figura 6: Documentos de señuelo recopilados de la ola actual de ataques

A diferencia de los primeros ataques de DealersChoice, estos documentos utilizaron metadatos removidos o falsificados para agregar una capa adicional de confusión. Dos de estos documentos, NASAMS.doc y Programm_Details.doc, compartían el nombre de usuario común y único "pain" en el campo "Última vez guardado por". Además, cada uno de los documentos infectados continuó usando la técnica OfficeTestSideloading que informamos previamente. Esta era la técnica que habíamos descubierto que el grupo Sofacy comenzó a usar el verano pasado como forma de transferir localmente archivos DLL con un módulo de prueba de rendimiento integrado en el conjunto de aplicaciones de Microsoft Office para también mantener la persistencia en el host de la víctima.

 

Nombre de archivo Autor Última vez guardado por Tema SHA256
Operation_in_Mosul.rtf Robert Tasevski —- Tropas turcas en Mosul f5d3e827…
NASAMS.doc Антон Гладнишки pain Sistema de defensa de misiles noruego 1f81609d…
Programm_Details.doc Laci Bonivart pain Cronograma de conferencia 1579c7a1…
DGI2017.doc Невена Гамизов Невена Гамизов Cronograma de conferencia c5a389fa…
Olympic-Agenda-2020-20-20-Recommendations.doc Administrador Usuario Recomendaciones para las Olimpiadas 2020 13718586…
ARM-NATO_ENGLISH_30_NOV_2016.doc Usuario Usuario Acuerdo de la OTAN 73ea2cce…

 

Los seis dominios C2 de primera etapa de los documentos infectados habían sido registrados por correos electrónicos de registro único. Versiontask[.]com y Uniquecorpind[.]com parecen ser una infraestructura completamente nueva, que no comparte ningún objeto con campañas del grupo Sofacy observadas previamente.

 

Tipo Dominio Fecha de registro Correo electrónico registrado
C2 de primera etapa Versiontask[.]com 24/10/2016 dalchi0@europe.com
C2 de primera etapa Uniquecorpind[.]com 25/10/2016 yasiner@myself.com
C2 de primera etapa Securityprotectingcorp[.]com 19/08/2016 ottis.davis@openmailbox.org
C2 de primera etapa Postlkwarn[.]com 11/11/2016 fradblec@centrum.cz
C2 de primera etapa adobeupgradeflash[.]com 22/11/2016 nuevomensaje@centrum.cz
C2 de primera etapa globalresearching[.]org 18/11/2016 carroz.g@mail.com

 

Se identificaron seis dominios C2 de segunda etapa para las cargas útiles de Seduploader entregadas por DealersChoice.

 

Tipo Dominio Fecha de registro Correo electrónico registrado
C2 de Seduploader Joshel[.]com 11/11/2016 germsuz86@centrum.cz
C2 de Seduploader Appservicegroup[.]com 19/10/2016 olivier_servgr@mail.com
C2 de Seduploader Apptaskserver[.]com 22/10/2016 partanencomp@mail.com
C2 de Seduploader Akamaisoftupdate[.]com 26/10/2016 mahuudd@centrum.cz
C2 de Seduploader globaltechresearch[.]org 21/11/2016 morata_al@mail.com
C2 de Seduploader researchcontinental[.]org 02/12/2016 Con Sinkhole

 

Muy parecidos a los dominios C2 de primera etapa, los cinco dominios C2 de segunda etapa sin sinkhole se registraron recientemente y usaron direcciones de correo electrónico de registro único que el grupo Sofacy no había usado previamente. Sin embargo, cada uno de estos dominios usó nombres de servidor asociados comúnmente con el grupo Sofacy, ns*.carbon2u[.]com y ns*.ititch[.]com. El dominio akamaisoftupdate[.]com reveló objetos adicionales que estaban vinculados a campañas previas del grupo Sofacy. Gracias a datos DNS pasivos, descubrimos akamaisoftupdate[.]com al resolver 89.45.67.20. En la misma subred de clase C, descubrimos 89.45.67.189, que previamente había resuelto updmanager[.]net, un dominio conocido usado por el grupo Sofacy.

También se descubrió que el dominio securityprotectingcorp[.]com se conecta con la infraestructura previa del grupo Sofacy. Se registró unos meses antes, pero el análisis de la dirección de correo electrónico de registro reveló que también se había utilizado para registrar microsoftsecurepolicy[.]org que, al usar datos DNS pasivos, descubrimos que resolvió 40.112.210.240, un sinkhole con varias otros dominios asociados al grupo Sofacy. Varios de los dominios con sinkhole correspondientes fueron usados durante años con múltiples propósitos por el grupo Sofacy, como C2s para múltiples herramientas como Azzy o XAgent, o bien para alojar sitios de phishing para recolectar credenciales de los objetivos.

dealerschoice2_7

Figura 7: Cuadro de la infraestructura de DealersChoice

Conclusión

Parece evidente, en este momento, que el grupo Sofacy utiliza de forma activa la herramienta DealersChoice, específicamente la variante B, para atacar objetivos de interés. Como lo evidenció la entrega de código de exploit para una vulnerabilidad en Flash emparchada recientemente (que se usó en ataques de día cero), podemos ver cómo el malware proporciona flexibilidad en la metodología de explotación y es verdaderamente una plataforma en sí misma. Parece haberse creado nueva infraestructura para DealersChoice pero, como vimos en el pasado, el grupo Sofacy tiene una tendencia a reutilizar objetos de campañas previas, y esta no es la excepción. Los clientes de Palo Alto Networks pueden obtener más información y estar más protegidos a través de:

Tenga en cuenta que, aunque CVE-2016-7855 era una vulnerabilidad de día cero, los clientes de Palo Alto Networks hubieran estado protegidos por nuestro agente de endpoints Traps como se observa en la Figura 8.

dealerschoice2_8

Figura 8: Traps de Palo Alto Networks bloqueando la explotación de la vulnerabilidad CVE-2016-7855

Indicadores de Compromiso

Hashes de los Documentos:

f5d3e827c3a312d018ef4fcbfc7cb5205c9e827391bfe6eab697cc96412d938e
1f81609d9bbdc7f1d2c8846dcfc4292b3e2642301d9c59130f58e21abb0001be
1579c7a1e42f9e1857a4d1ac966a195a010e1f3d714d68c598a64d1c83aa36e4
c5a389fa702a4223aa2c2318f38d5fe6eba68c645bc0c41c3d8b6f935eab3f64
137185866649888b7b5b6554d6d5789f7b510acd7aff3070ac55e2250eb88dab
73ea2ccec2cbf22d524f55b101d324d89077e5718922c6734fef95787121ff22

C2s de DealersChoice:

Versiontask[.]com
Uniquecorpind[.]com
Securityprotectingcorp[.]com
postlkwarn[.]com
adobeupgradeflash[.]com
researchcontinental[.]org

C2 de Seduploader:

Appservicegroup[.]com
Apptaskserver[.]com
Akamaisoftupdate[.]com
Joshel[.]com
globaltechresearch[.]org
researchcontinental[.]org