Investigadores de ESET encontraron un backdoor y un “stealer” de documentos previamente indocumentados. Apodado Crutch por sus desarrolladores, pudimos atribuirlo al infame grupo de APT Turla. Según nuestra investigación, se ha estado utilizando desde 2015 hasta, al menos, principios de 2020. Hemos visto a Crutch en la red de un Ministerio de Relaciones Exteriores en un país de la Unión Europea, lo que sugiere que esta familia de malware solo se utiliza contra objetivos muy específicos, algo común con muchas herramientas de Turla.

Turla es un grupo de ciberespionaje activo desde hace más de diez años. Operando con un amplio arsenal de malware que hemos descrito en los últimos años, Turla ha comprometido muchos gobiernos en todo el mundo, especialmente entidades diplomáticas.

Atribución a Turla

Durante nuestra investigación pudimos identificar fuertes vínculos entre un dropper de Crutch de 2016 y Gazer. Este último, también conocido como WhiteBear, fue un backdoor de segunda etapa utilizado por Turla en 2016-2017. Nuestro análisis se basa en el dropper de Crutch con el hash SHA-1 A010D5449D29A1916827FDB443E3C84C405CB2A5 y el dropper de Gazer con el hash SHA-1 1AE4775EFF21FB59708E8C2B55967CD24840C8D9. A continuación, las similitudes que identificamos:

  • Ambas muestras fueron droppeadas en C:\Intel\~intel_upd.exe en la misma máquina con un intervalo de cinco días en septiembre de 2017
  • Ambas muestras droppean archivos CAB que contienen los diversos componentes del malware
  • Los loaders, droppeados por las muestras mencionadas anteriormente, comparten rutas PDB claramente relacionadas:
    C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\Release\Extractor.pdb y
    C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\x64\Release\Extractor.pdb
  • Los loaders descifran sus payloads utilizando la misma clave RC4:
    E8 8E 77 7E C7 80 8E E7 CE CE CE C6 C6 CE C6 68

Teniendo en cuenta estos elementos y que las familias de malware de Turla no son conocidas por ser compartidas entre diferentes grupos, creemos que Crutch es una familia de malware que forma parte del arsenal de Turla.

Otra observación interesante es la presencia de FatDuke y Crutch al mismo tiempo en una máquina. El primero es un backdoor de tercera etapa que atribuimos al grupo The Dukes —también conocido como APT29— en nuestra investigación titulada Operation Ghost. Sin embargo, no tenemos ninguna evidencia de interacción entre estas dos familias de malware. Es posible que ambos grupos comprometieran la misma máquina de forma independientemente.

Espionaje

Según datos de ESET LiveGrid®, Turla utilizó Crutch contra varias máquinas del Ministerio de Relaciones Exteriores en un país de la Unión Europea. Estas herramientas fueron diseñadas para exfiltrar documentos confidenciales y otros archivos hacia cuentas de Dropbox controladas por los operadores de Turla.

Pudimos capturar algunos de los comandos enviados por los operadores a varias instancias de la versión 3 de Crutch, lo que nos ayudó a comprender el objetivo de la operación. Los operadores estaban haciendo principalmente reconocimiento, movimiento lateral y espionaje.

La principal actividad maliciosa es la presentación, compresión y exfiltración de documentos y de varios archivos, como se muestra en la Figura 1. Estos son comandos ejecutados manualmente por los operadores, por lo que no muestran la recolección automatizada de documentos por el componente de monitoreo de la unidad que se describe en una sección posterior. La exfiltración se realiza mediante otro comando del backdoor y, por lo tanto, no se muestra en los ejemplos siguientes.

copy /y \\<redacted>\C$\users\<redacted>\prog\csrftokens.txt c:\programdata\ & dir /x c:\programdata\
copy /y \\<redacted>\c$\users\user\Downloads\FWD___~1.ZIP %temp%\
copy /y \\<redacted>\c$\docume~1\User\My Documents\Downloads\8937.pdf %temp%
"C:\Program Files\WinRAR\Rar.exe" a -hp<redacted> -ri10 -r -y -u -m2 -v30m "%temp%\~res.dat" "d:\<redacted>\*.*" "d:\$RECYCLE.BIN\*.doc*" "d:\$RECYCLE.BIN\*.pdf*" "d:\$RECYCLE.BIN\*.xls*" "d:\Recycled\*.doc*" "d:\Recycled\*.pdf*" "d:\<redacted>\*.pdf"

Figura 1. Comandos manuales ejecutados por los operadores durante la fase de espionaje

Finalmente, los operadores tienen cierto sentido del humor. En algún momento, ejecutaron el siguiente comando:

mkdir %temp%\Illbeback

Horario de trabajo de los operadores

Con la intención de tener un estimado del horario de trabajo de los operadores, exportamos las horas en las que cargaron archivos ZIP a las cuentas de Dropbox que controlan. Estos archivos ZIP contienen comandos para el backdoor y son subidos por los operadores a Dropbox de forma asincrónica desde el momento en que el backdoor lee y ejecuta su contenido. Por lo tanto, esto debería mostrar cuando los operadores están trabajando y no cuando las máquinas de las víctimas están activas.

Recopilamos 506 marcas de tiempo diferentes y van desde octubre de 2018 a julio de 2019.

Figura 2. Horario de trabajo de los operadores de Crutch según las cargas a Dropbox

De acuerdo con el gráfico, es probable que los actores maliciosos operen en la zona horaria UTC+3.

Compromiso / Entrega de malware

Creemos que Crutch no es un backdoor de primera etapa y que es implementado después de que los operadores han comprometido por primera vez la red de una organización.

El primer método consiste en utilizar un implante de primera etapa como Skipper. En 2017 observamos que Crutch fue implementado unos meses después de que Skipper comprometiera la computadora. Luego, los operadores del malware también comprometieron otras máquinas en la red local moviéndose lateralmente.

El segundo método que hemos presenciado es el uso de PowerShell Empire. No pudimos descubrir cómo llegó el script malicioso a la máquina, pero creemos que fue a través de otro implante, aunque no se puede excluir un documento de phishing. Cabe señalar que los scripts de PowerShell Empire usaban OneDrive y Dropbox.

Versión 1 a 3 de Crutch

Desde 2015 hasta mediados de 2019, la arquitectura de malware utilizó un backdoor que se comunicaba con Dropbox y un componente de monitoreo de unidad sin capacidades de red.

La Figura 3 describe la arquitectura de la versión 3 de Crutch. Incluye un backdoor que se comunica con una cuenta de Dropbox hardcodeada utilizando la API HTTP oficial. Puede ejecutar comandos básicos como leer y escribir archivos o ejecutar procesos adicionales. Persiste mediante el secuestro de la DLL en Chrome, Firefox o OneDrive. En algunas variantes notamos la presencia de canales de recuperación del C&C usando GitHub o un dominio regular.

El segundo binario principal es un monitor de unidad extraíble que busca archivos que tengan una extensión interesante (.pdf, .rtf, .doc, .docx). Luego, coloca los archivos en un archivo cifrado.

Figura 3. Arquitectura de la versión 3 de Crutch.

Versión 4 de Crutch

En julio de 2019 descubrimos una nueva versión de Crutch. Si bien no tenemos el número de versión del desarrollador, creemos que ha evolucionado lo suficiente como para calificar a esta versión como la 4. Esta nueva versión es una versión actualizada del monitor de unidad extraíble con capacidades de red.

La Figura 4 muestra la arquitectura de la versión 4 de Crutch. La principal diferencia es que ya no admite comandos de backdoor. Por otro lado, puede cargar automáticamente los archivos que se encuentran en unidades locales y extraíbles a Dropbox utilizando la versión de Windows de la utilidad Wget.

Figura 4. Arquitectura de la versión 4 de Crutch.

El directorio de trabajo de esta versión 4 es C:\Intel donde se encuentran los siguientes componentes:

  • outllib.dll: la DLL de Crutch
  • finder.exe: el buscador de elementos genuino de Outlook presente en Microsoft Outlook (SHA-1: 830EE9E6A1BB7588AA8526D94D2D9A2B491A49FA)
  • resources.dll: DLL genuina que es una dependencia de finder.exe (SHA-1: 31D82C554ABAB3DD8917D058C2A46509272668C3)
  • outlook.dat: archivo de configuración de Crutch. Contiene el token de la API de Dropbox.
  • ihlp.exe: la utilidad genuina RAR (SHA-1: A92C801F491485F6E27B7EF6E52E02B461DBCFAA)
  • msget.exe: una versión limpia de la utilidad Wget para Windows (SHA-1: 457B1CD985ED07BAFFD8C66FF40E9C1B6DA93753)

Al igual que la versión 3 de Crutch, persiste mediante el secuestro de la DLL. Sin embargo, en este caso, la aplicación host es un antiguo componente de Microsoft Outlook que los operadores droppean en el sistema comprometido.

Conclusión

En los últimos años hemos documentado públicamente varias familias de malware operadas por Turla. Crutch demuestra que el grupo no está falto de backdoors nuevos o actualmente indocumentadas. Este descubrimiento refuerza aún más la percepción de que el grupo Turla cuenta con una considerable cantidad de recursos para operar un arsenal tan grande y diverso.

Crutch puede evadir algunas capas de seguridad al abusar de la infraestructura legítima —en este caso Dropbox— para integrarse en el tráfico normal de la red mientras exfiltra documentos robados y recibe comandos de sus operadores.

Los Indicadores de Compromiso también se pueden encontrar en GitHub. Por cualquier consulta o para enviar muestra relacionadas con el tema, contáctenos a través de: threatintel@eset.com.

Indicadores de Compromiso

Hashes

SHA-1 Description ESET detection name
A010D5449D29A1916827FDB443E3C84C405CB2A5 Crutch dropper similar to Gazer Win64/Agent.VX
2FABCF0FCE7F733F45E73B432F413E564B92D651 Crutch v3 backdoor (packed) Win32/Agent.TQL
A4AFF23B9A58B598524A71F09AA67994083A9C83 Crutch v3 backdoor (unpacked) Win32/Agent.TQL
778AA3A58F5C76E537B5FE287912CC53469A6078 Crutch v4 Win32/Agent.SVE

Rutas

Directorios de trabajo de Crutch

  • C:\Intel\
  • C:\AMD\Temp\

Nombres de archivo

  • C:\Intel\outllib.dll
  • C:\Intel\lang.nls
  • C:\Intel\~intel_upd.exe
  • C:\Intel\~csrss.exe
  • C:\Program Files (x86)\Google\Chrome\Application\dwmapi.dll
  • C:\Program Files (x86)\Mozilla Firefox\rasadhlp.dll
  • %LOCALAPPDATA%\Microsoft\OneDrive\dwmapi.dll

Red

  • hotspot.accesscam[.]org
  • highcolumn.webredirect[.]org
  • ethdns.mywire[.]org
  • theguardian.webredirect[.]org
  • https://raw.githubusercontent[.]com/ksRD18pro/ksRD18/master/ntk.tmp

Técnicas de MITRE ATT&CK

Nota: Esta table fue creada utilizando la versión 7 del framework MITRE ATT&CK

Tactic ID Name Description
Initial Access T1078.003 Valid Accounts: Local Accounts Crutch operators abused local accounts that have the same password across the victim’s network. This was used when compromising additional machines in the network, the initial breach is unknown.
Persistence T1053.005 Scheduled Task/Job: Scheduled Task Crutch v4 persists using a Windows scheduled task.
T1574.001 Hijack Execution Flow: DLL Search Order Hijacking Crutch v3 persists by doing DLL search order hijacking on Google Chrome, Mozilla Firefox or Microsoft OneDrive.
Defense Evasion T1036.004 Masquerading: Masquerade Task or Service Crutch v4 persists using a scheduled task that impersonates the Outlook item finder.
T1120 Peripheral Device Discovery Crutch monitors when a removable drive is plugged into the compromised machine.
T1025 Data from Removable Media Crutch monitors removable drives and exfiltrates files matching a given extension list.
T1074.001 Data Staged: Local Data Staging The Crutch v3 removable-drive monitor stages the stolen files in the C:\AMD\Temp directory.
T1119 Automated Collection Crutch automatically monitors removable drives in a loop and copies interesting files.
T1560.001 Archive Collected Data: Archive via Utility Crutch uses the WinRAR utility to compress and encrypt stolen files.
T1008 Fallback Channels Crutch v3 uses a hardcoded GitHub repository as a fallback channel.
T1071.001 Application Layer Protocol: Web Protocols The network protocol of Crutch uses the official Dropbox API over HTTP.
T1102.002 Web Service: Bidirectional Communication Crutch uses Dropbox to download commands and to upload stolen data.
Exfiltration T1020 Automated Exfiltration Crutch v4 automatically exfiltrates the stolen files to Dropbox.
T1041 Exfiltration Over C2 Channel Crutch exfiltrates data using the primary C&C channel (Dropbox HTTP API).
T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage Crutch exfiltrates stolen data to Dropbox.