Resumen
Un grupo de APT al que denominamos BackdoorDiplomacy, debido a sus principales blancos de ataque, ha estado apuntando a Ministerios de Relaciones Exteriores y empresas de telecomunicaciones de África y Oriente Medio desde al menos 2017. Como vectores de infección inicial, el grupo ha estado aprovechando la explotación de dispositivos vulnerables expuestos a Internet, como servidores web e interfaces de gestión para equipos de red. Una vez dentro de un sistema, sus operadores utilizan herramientas de código abierto para escanear el entorno y realizar movimiento lateral. El acceso interactivo se logra de dos maneras: (1) a través de un backdoor personalizado que llamamos Turian que deriva del backdoor Quarian; y (2) en menos casos, cuando se requiere un acceso más directo e interactivo, se implementan ciertas herramientas de acceso remoto de código abierto. En varios casos, se ha observado que el grupo tiene como objetivo los medios extraíbles para la recopilación y exfiltración de datos. Finalmente, tanto los sistemas operativos Windows como Linux han sido blancos de ataque.
Vínculos con grupos conocidos
BackdoorDiplomacy comparte puntos en común con varios otros grupos asiáticos. El más obvio de ellos es la conexión entre el backdoor Turian y el backdoor Quarian. Detalles sobre la conexión Turian-Quarian pueden verse en la sección Turian de este mismo artículo. Creemos que este grupo también está relacionado con un grupo al que Kaspersky se refirió como "CloudComputating" que también fue analizado por Sophos.
Varias víctimas se vieron comprometidas a través de mecanismos que coinciden estrechamente con las campañas Rehashed Rat y MirageFox-APT15 documentada por Fortinet en 2017 e Intezer en 2018, respectivamente. Los operadores de BackdoorDiplomacy hicieron uso su propia forma implementar la técnica DLL Search-Order Hijacking.
Finalmente, el método de cifrado de red que utiliza BackdoorDiplomacy es bastante similar a un backdoor que Dr.Web llama Backdoor.Whitebird.1. Whitebird se utilizó en ataques contra instituciones gubernamentales en Kazajstán y Kirguistán (ambos vecinos de una víctima de BackdoorDiplomacy en Uzbekistán) durante el mismo período (de 2017 hasta el presente) en el que BackdoorDiplomacy ha estado activo.
Victimología
Quarian se utilizó para atacar al Ministerio de Relaciones Exteriores de Siria en 2012, así como al Departamento de Estado de EE. UU. en 2013. Esta tendencia de apuntar a los Ministerios de Relaciones Exteriores continúa con Turian.
Se han descubierto víctimas en los Ministerios de Relaciones Exteriores de varios países africanos, así como en Europa, Oriente Medio y Asia. Otros blancos adicionales incluyen empresas de telecomunicaciones en África y al menos una organización benéfica en Oriente Medio. En cada caso, los operadores emplearon tácticas, técnicas y procedimientos (TTP) similares, pero modificaron las herramientas utilizadas, incluso en regiones geográficas cercanas. Esto probablemente haya sido para dificultar el seguimiento del grupo. Consulte la Figura 1 para ver un mapa de víctimas por país.
Vectores de ataque
BackdoorDiplomacy apuntó a servidores con puertos expuestos a Internet, probablemente explotando vulnerabilidades sin parchear o la pobre implementación de la seguridad de carga de archivos. En un caso específico, observamos a los operadores explotar una vulnerabilidad en F5 BIG-IP (CVE-2020-5902) para droppear un backdoor para Linux. En otro caso vimos que un servidor de Microsoft Exchange fue explotado a través de un dropper en PowerShell que instaló China Chopper, un conocido webshell que desde 2013 ha estado en uso por varios grupos. En un tercer caso observamos un servidor Plesk con una débil configuración de la seguridad de carga de archivos ejecutar otra webshell similar a China Chopper. Observe la Figura 2 para obtener una descripción general de la cadena de explotación.
Reconocimiento y movimiento lateral
Tras el compromiso inicial, en muchos casos el grupo BackdoorDiplomacy empleó herramientas red team y de reconocimiento de código abierto para evaluar posibles oportunidades de objetivos adicionales y para realizar movimiento lateral. Entre las herramientas documentadas se encuentran las siguientes:
- EarthWorm, un simple túnel de red con servidor SOCKS v5 y funcionalidades de transferencia de puertos
- Mimikatz y varias versiones, incluido SafetyKatz
- Nbtscan, un escáner de NetBIOS de línea de comandos para Windows
- NetCat, una utilidad de red que lee y escribe datos a través de conexiones de red.
- PortQry, una herramienta para mostrar el estado de los puertos TCP y UDP en sistemas remotos
- SMBTouch, utilizado para determinar si un blanco de ataque es vulnerable a EternalBlue
- Varias de las herramientas filtradas de la NSA por ShadowBrokers que incluyen, entre otras:
- DoublePulsar
- EternalBlue
- EternalRocks
- EternalSynergy
Los directorios de uso común para las herramientas de reconocimiento de etapas y movimiento lateral incluyen:
- C:\Program Files\Windows Mail\en-US\
- %LOCALAPPDATA%\Microsoft\InstallAgent\Checkpoints\
- C:\ProgramData\ESET\ESET Security\Logs\eScan\
- %USERPROFILE%\ESET\ESET Security\Logs\eScan\
- C:\Program Files\hp\hponcfg\
- C:\Program Files\hp\hpssa\
- C:\hp\hpsmh\
- C:\ProgramData\Mozilla\updates\
De las herramientas enumeradas anteriormente, muchas estaban ofuscadas con VMProtect (v1.60-2.05).
Windows
Droppers de backdoor
En algunos casos, se observó a los operadores cargar droppers de backdoors. Los operadores intentaron disfrazar sus droppers de backdoor y evadir la detección de varias maneras.
- Mediante convenciones de nombres diseñadas para integrarse en operaciones normales (por ejemplo amsc.exe, msvsvr.dll, alg.exe)
- Liberando implantes en carpetas con nombres de software legítimo (p. Ej., C:\Program Files\hp, C:\ProgramData\ESET, C:\ProgramData\Mozilla)
- DLL search order hijacking
En uno de esos casos, los operadores cargaron a través de un webshell, tanto ScnCfg.exe (SHA-1: 573C35AB1F243D6806DEDBDD7E3265BC5CBD5B9A), un ejecutable legítimo de McAfee, y vsodscpl.dll, una DLL maliciosa que lleva el nombre de una DLL legítima de McAfee que es llamada por ScnCfg.exe. La versión de vsodscpl.dll (SHA-1: FCD8129EA56C8C406D1461CE9DB3E02E616D2AA9) implementada fue llamada por ScnCfg.exe, y en un momento vsodscpl.dll extrajo Turian (embebido en su código), lo escribió en memoria y lo ejecutó.
En un sistema diferente, los operadores droppearon en el disco una copia legítima de credwize.exe, el Asistente para copia de seguridad y restauración de credenciales de Microsoft, y lo usaron para ejecutar la biblioteca maliciosa New.dll, otra variante de Turian.
Turian
Aproximadamente la mitad de las muestras que recolectamos fueron ofuscadas con VMProtect. En la sección Comandos del operador se incluye una compilación de los comandos del operador que observamos. También se discuten de manera individual los esquemas de cifrado de red.
Similitudes con Quarian
El informe inicial de Kaspersky señala que las víctimas de Quarian estaban en el Ministerio de Relaciones Exteriores de Siria, un objetivo similar de Turian.
En muchas de las muestras que recolectamos de Turian observamos similitudes obvias con Quarian. Ambos utilizan los mutex para verificar que solo se está ejecutando una instancia, aunque los nombres de los mutex utilizados son diferentes. Observamos los siguientes mutex utilizados por Turian:
- winsupdatetw
- clientsix
- client
- updatethres
- Otros: generados dinámicamente según el nombre de host del sistema, limitado a ocho caracteres hexadecimales, minúsculas y precedidos de un cero a la izquierda
Los dominios del servidor C&C y las direcciones IP se extraen con rutinas XOR similares, donde Quarian usa una clave de descifrado de 0x44, Turian usa 0xA9.
Turian y Quarian leen los primeros cuatro bytes del archivo cf en el mismo directorio que el ejecutable del malware, y luego utilizan esto como la duración de suspensión como parte de la rutina de beacon del C&C.
El proceso de conexión a la red de Turian sigue un patrón similar al de Quarian, intentando establecer una conexión directa. Si eso falla debido a un proxy local con una respuesta de 407 (autorización requerida), ambos intentan usar credenciales almacenadas en caché local. Sin embargo, la solicitud enviada al proxy por Turian no contiene ninguno de los errores gramaticales que envió Quarian. Observe la Figura 3 para ver una comparación de los intentos de conexión del proxy.
Finalmente, tanto Turian como Quarian crean una shell remota copiando cmd.exe a alg.exe.
Persistencia
Después de la ejecución inicial, Turian establece la persistencia creando el archivo tmp.bat en el directorio de trabajo actual, escribiendo las siguientes líneas en el archivo y luego ejecutando el archivo:
ReG aDd HKEY_CURRENT_USER\sOFtWArE\MIcrOsOft\WindOwS\CurRentVeRsiOn\RuN /v Turian_filename> /t REG_SZ /d “<location_of_Turian_on_disk>\<Turian_fiilename>” /f
ReG aDd HKEY_LOCAL_MACHINE\sOFtWArE\MIcrOsOft\WindOwS\CurRentVeRsiOn\RuN /v <Turian_filename> /t REG_SZ /d “<location_of_Turian_on_disk>\<Turian_fiilename>” /f
del %0
Turian luego verifica la presencia del archivo Sharedaccess.ini en su directorio de trabajo. Si ese archivo está presente, Turian intenta cargar la IP del C&C o el dominio desde allí, si está presente. Si bien no observamos que Turian pasara IP o dominios de esta manera, las pruebas confirmaron que Turian busca cargar primero la dirección C&C desde aquí. Después de comprobar Sharedaccess.ini, Turian intenta conectarse con una IP o dominio hardcodeada y configura su protocolo de cifrado de red.
Cifrado de red
Se sabe que Quarian ha utilizado tanto una clave XOR de ocho bytes (ver Quarian: Reversing the C&C Protocol} de Talos) y un nonce de ocho bytes para crear una clave de sesión (ver el análisis de ThreatConnect del protocolo de red de Quarian en Divide and Conquer: Unmasking China’s ‘Quarian’ Campaigns Through Community). Turian tiene un método distinto para intercambiar claves de cifrado de red. Consulte la Figura 4 para ver un desglose de la configuración de cifrado de red de Turian.
Después de recibir el último paquete de 56 bytes, Turian llama a la función de inicialización de cifrado de red en la Figura 5 y acepta los 56 bytes de datos del último paquete C&C como único argumento.
También se observó una segunda configuración de cifrado de red, como se muestra en la Figura 6.
La última iteración del loop de cuatro iteraciones (byte QWORD [5]) se utiliza como seed para la clave de la función de inicialización, como se muestra a continuación en la Figura 7.
Comandos del operador
La lista completa de comandos de operador de Turian se muestra en la Tabla 1 (en inglés).
ID | Description |
---|---|
0x01 | Get system information including OS version, memory usage, local hostname, system adapter info, internal IP, current username, state of the directory service installation and domain data. |
0x02 | Interactive shell – copy %WINDIR%\system32\cmd.exe to %WINDIR%\alg.exe and spawn alg.exe in a new thread. |
0x03 | Spawn a new thread, acknowledge the command and wait for one of the three-digit commands below. |
0x04 | Take screenshot. |
0x103/203 | Write file. |
0x403 | List directory. |
0x503 | Move file. |
0x603 | Delete file. |
0x703 | Get startup info. |
Tabla 1. Comandos del C&C de Turian (en inglés)
Apuntando a medios extraíbles
Un subconjunto de víctimas fue atacado con ejecutables de recopilación de datos que fueron diseñados para buscar medios extraíbles (probablemente unidades flash USB). El implante busca de forma rutinaria dichos medios extraíbles (el valor de retorno de GetDriveType es 2). Si encuentra, el implante utiliza una versión integrada de WinRAR para ejecutar estos comandos hardcodeados:
- CMD.exe /C %s a -m5 -hp1qaz@WSX3edc -r %s %s\\*.*
- CMD.exe /C %s a -m5 -hpMyHost-1 -r %s %s\\*.*
- CMD.exe /C rd /s /q \"%s"\
Los parámetros del comando se dividen en:
- a == añadir ficheros al archivo
- -m[0:5] == nivel de compresión
- -hp<password>
- -r == recurrir a los subdirectorios
- rd == remover directorio
- /s == borrar árbol de directorio
- /q == modo silencioso
- \"%s"\ == directorio en el cual actuar
El implante, al detectar que se está insertando un medio extraíble, intenta copiar todos los archivos en la unidad a un archivo protegido con contraseña y coloca el archivo en el siguiente directorio, que está codificado y, por lo tanto, es el mismo para todas las víctimas:
- C:\RECYCLER\S-1-3-33-854245398-2067806209-0000980848-2003\
El implante también tiene la capacidad de eliminar archivos, según el tercer comando mencionado anteriormente.
Herramientas de acceso remoto
Ocasionalmente, los operadores de BackdoorDiplomacy requieren un mayor grado de acceso o más interactividad que el proporcionado por Turian. En esas ocasiones, emplean herramientas de acceso remoto de código abierto como Quasar, que ofrece una amplia variedad de capacidades y se ejecuta en prácticamente todas las versiones de Windows.
Linux
Descubrimos, a través de un dominio de servidor C&C compartido, un backdoor de Linux que usaba una infraestructura de red similar y que se implementó después de explotar una vulnerabilidad conocida en la Traffic Management User Interface (TMUI de los balanceadores de carga F5 BIG-IP, que permite la ejecución remota de código (RCE). La variante de Linux intenta persistir escribiéndose en /etc/init.d/rc.local.
A continuación, se ejecuta a través de un loop para extraer strings de la memoria:
- bash -version
- echo $PWD
- /bin/sh
- /tmp/AntiVirtmp
- eth0
- /proc/%d/exe
Luego, llama a su función daemon y crea un proceso hijo que luego comienza el trabajo de descifrar la dirección IP del C&C y/o el nombre de dominio y luego inicia un loop que llega al C&C usando Mozilla/5.0 (X11; Linux i686; rv:22.0) Firefox/22.0 como su agente de usuario. Este loop del C&C continúa hasta que se realiza una conexión exitosa. Una vez que se establece una conexión, el agente de Linux pasa por una configuración de cifrado de red similar a la que realiza la versión de Windows de Turian. Consulte la Figura 8 para ver el protocolo de cifrado de red utilizado por la variante Linux de Turian.
Después de recibir el último paquete de 56 bytes, el agente de Linux llama a la función de inicialización de la clave de cifrado de red que se muestra en la Figura 9.
Una vez completada con éxito la configuración del protocolo de red, se bifurca otro proceso secundario e intenta generar una shell TTY inversa:
- python -c 'import pty; pty.spawn("/bin/sh")'
Conclusión
BackdoorDiplomacy es un grupo que apunta principalmente a organizaciones diplomáticas en Oriente Medio y África y, con menor frecuencia, a empresas de telecomunicaciones. Su metodología de ataque inicial consiste en explotar aplicaciones vulnerables expuestas a Internet en servidores web, con el fin de droppear y ejecutar un webshell. Después del compromiso, a través del webshell, BackdoorDiplomacy utiliza software de código abierto para el reconocimiento y la recopilación de información, y hace uso de la técnica DLL search order hijacking para instalar su backdoor: Turian. Finalmente, BackdoorDiplomacy emplea de manera separada un ejecutable para detectar medios extraíbles, probablemente unidades flash USB, y copiar su contenido en la papelera de reciclaje de la unidad principal.
BackdoorDiplomacy comparte tácticas, técnicas y procedimientos con otros actores de amenazas asiáticos. Turian probablemente representa una próxima etapa de evolución de Quarian, el backdoor que se observó por última vez en uso en 2013 contra objetivos diplomáticos en Siria y Estados Unidos. El protocolo de cifrado de red de Turian es casi idéntico al protocolo de cifrado de red utilizado por Whitebird, un backdoor operado por Calypso, otro grupo asiático. Whitebird se desplegó en organizaciones diplomáticas en Kazajstán y Kirguistán durante el mismo período de tiempo que BackdoorDiplomacy (2017-2020). Además, BackdoorDiplomacy y APT15 usan las mismas técnicas y tácticas para droppear sus backdoors en los sistemas, la anteriormente mencionada DLL search order hijacking.
BackdoorDiplomacy también es un grupo multiplataforma dirigido a sistemas Windows y Linux. La variante Linux de Turian comparte las mismas características del protocolo de cifrado de red e intenta devolver una shell TTY inversa al operador.
IoCs
Muestras
SHA-1 | Filename | ESET Detection Name | Description |
---|---|---|---|
3C0DB3A5194E1568E8E2164149F30763B7F3043D | logout.aspx | ASP/Webshell.H | BackdoorDiplomacy webshell – variant N2 |
32EF3F67E06C43C18E34FB56E6E62A6534D1D694 | current.aspx | ASP/Webshell.O | BackdoorDiplomacy webshell – variant S1 |
8C4D2ED23958919FE10334CCFBE8D78CD0D991A8 | errorEE.aspx | ASP/Webshell.J | BackdoorDiplomacy webshell – variant N1 |
C0A3F78CF7F0B592EF813B15FC0F1D28D94C9604 | App_Web_xcg2dubs.dll | MSIL/Webshell.C | BackdoorDiplomacy webshell – variant N3 |
CDD583BB6333644472733617B6DCEE2681238A11 | N/A | Linux/Agent.KD | Linux Turian backdoor |
FA6C20F00F3C57643F312E84CC7E46A0C7BABE75 | N/A | Linux/Agent.KD | Linux Turian backdoor |
5F87FBFE30CA5D6347F4462D02685B6E1E90E464 | ScnCfg.exe | Win32/Agent.TGO | Windows Turian backdoor |
B6936BD6F36A48DD1460EEB4AB8473C7626142AC | VMSvc.exe | Win32/Agent.QKK | Windows Turian backdoor |
B16393DFFB130304AD627E6872403C67DD4C0AF3 | svchost.exe | Win32/Agent.TZI | Windows Turian backdoor |
9DBBEBEBBA20B1014830B9DE4EC9331E66A159DF | nvsvc.exe | Win32/Agent.UJH | Windows Turian backdoor |
564F1C32F2A2501C3C7B51A13A08969CDC3B0390 | AppleVersions.dll | Win64/Agent.HA | Windows Turian backdoor |
6E1BB476EE964FFF26A86E4966D7B82E7BACBF47 | MozillaUpdate.exe | Win32/Agent.UJH | Windows Turian backdoor |
FBB0A4F4C90B513C4E51F0D0903C525360FAF3B7 | nvsvc.exe | Win32/Agent.QAY | Windows Turian backdoor |
2183AE45ADEF97500A26DBBF69D910B82BFE721A | nvsvcv.exe | Win32/Agent.UFX | Windows Turian backdoor |
849B970652678748CEBF3C4D90F435AE1680601F | efsw.exe | Win32/Agent.UFX | Windows Turian backdoor |
C176F36A7FC273C9C98EA74A34B8BAB0F490E19E | iexplore32.exe | Win32/Agent.QAY | Windows Turian backdoor |
626EFB29B0C58461D831858825765C05E1098786 | iexplore32.exe | Win32/Agent.UFX | Windows Turian backdoor |
40E73BF21E31EE99B910809B3B4715AF017DB061 | explorer32.exe | Win32/Agent.QAY | Windows Turian backdoor |
255F54DE241A3D12DEBAD2DF47BAC5601895E458 | Duser.dll | Win32/Agent.URH | Windows Turian backdoor |
A99CF07FBA62A63A44C6D5EF6B780411CF1B1073 | Duser.dll | Win64/Agent.HA | Windows Turian backdoor |
934B3934FDB4CD55DC4EA1577F9A394E9D74D660 | Duser.dll | Win32/Agent.TQI | Windows Turian backdoor |
EF4DF176916CE5882F88059011072755E1ECC482 | iexplore32.exe | Win32/Agent.QAY | Windows Turian backdoor |
Red
C&C
AS | Hoster | IP address | Domain |
---|---|---|---|
AS20473 | AS-CHOOPA | 199.247.9[.]67 | bill.microsoftbuys[.]com |
AS132839 | POWER LINE DATACENTER | 43.251.105[.]218 | dnsupdate.dns2[.]us |
#rowspan# | 43.251.105[.]222 | #rowspan# | |
AS40065 | Cnservers LLC | 162.209.167[.]154 | #rowspan# |
AS132839 | POWER LINE DATACENTER | 43.225.126[.]179 | www.intelupdate.dns1[.]us |
AS46573 | LAYER-HOST | 23.247.47[.]252 | www.intelupdate.dns1[.]us |
AS132839 | POWER LINE DATACENTER | 43.251.105[.]222 | winupdate.ns02[.]us |
AS40065 | Cnservers LLC | 162.209.167[.]189 | #rowspan# |
AS25820 | IT7NET | 23.83.224[.]178 | winupdate.ns02[.]us |
#rowspan# | 23.106.140[.]207 | #rowspan# | |
AS132839 | POWER LINE DATACENTER | 43.251.105[.]218 | #rowspan# |
AS20473 | AS-CHOOPA | 45.76.120[.]84 | icta.worldmessg[.]com |
AS20473 | AS-CHOOPA | 78.141.243[.]45 | #rowspan# |
#rowspan# | 78.141.196[.]159 | Infoafrica[.]top | |
#rowspan# | 45.77.215[.]53 | szsz.pmdskm[.]top | |
#rowspan# | 207.148.8[.]82 | pmdskm[.]top | |
AS132839 | POWER LINE DATACENTER | 43.251.105[.]139 | www.freedns02.dns2[.]us |
#rowspan# | 43.251.105[.]139 | web.vpnkerio[.]com | |
AS20473 | AS-CHOOPA | 45.77.215[.]53 | |
AS135377 | UCloud (HK) Holdings Group Limited | 152.32.180[.]34 | |
AS132839 | POWER LINE DATACENTER | 43.251.105[.]218 | officeupdates.cleansite[.]us |
AS25820 | IT7NET | 23.106.140[.]207 | dynsystem.imbbs[.]in |
#rowspan# | #rowspan# | officeupdate.ns01[.]us | |
#rowspan# | #rowspan# | systeminfo.oicp[.]net | |
AS40676 | Psychz Networks | 23.228.203[.]130 | systeminfo.myftp[.]name |
#rowspan# | #rowspan# | systeminfo.cleansite[.]info | |
#rowspan# | #rowspan# | updateip.onmypc[.]net | |
#rowspan# | #rowspan# | buffetfactory.oicp[.]io |
Proveedores DDNS
Registrar | Domain |
---|---|
expdns[.]net | update.officenews365[.]com |
ezdnscenter[.]com | bill.microsoftbuys[.]com |
changeip[.]org | dnsupdate.dns2[.]us |
dnsupdate.dns1[.]us | |
www.intelupdate.dns1[.]us | |
winupdate.ns02[.]us | |
www.freedns02.dns2[.]us | |
officeupdates.cleansite[.]us | |
officeupdate.ns01[.]us | |
systeminfo.cleansite[.]info | |
updateip.onmypc[.]net | |
hichina[.]com | Infoafrica[.]top |
domaincontrol[.]com | web.vpnkerio[.]com |
exhera[.]com | dynsystem.imbbs[.]in |
systeminfo.oicp[.]net |