Pesquisadores da ESET encontraram um backdoor e um “stealer” de documentos anteriormente não documentados. Chamado de Crutch por seus desenvolvedores, foi possível atribuí-lo ao grupo APT Turla. De acordo com nossa pesquisa, a ameaça está sendo usada desde 2015 até pelo menos o início de 2020. Também foi possível ver o Crutch na rede de um Ministério de Relações Exteriores em um país da União Europeia, o que indica que essa família de malware é apenas usada contra alvos muito específicos, algo que é bastante comum entre as ferramentas do Turla.

O Turla é um grupo de ciberespionagem que está ativo há mais de dez anos. Operando um grande arsenal de malwares que destacamos em nossas publicações nos últimos anos, o Turla comprometeu muitos governos em todo o mundo, especialmente instituições diplomáticas.

Atribuição ao Turla

Durante nossa pesquisa, foi possível identificar fortes ligações entre um dropper do Crutch de 2016 e o ​​Gazer. Este último, também conhecido como WhiteBear, foi um backdoor de segundo estágio usada pelo Turla em 2016-2017. Nossa análise é baseada no dropper do Crutch com o hash SHA-1 A010D5449D29A1916827FDB443E3C84C405CB2A5 e o dropper do Gazer com o hash SHA-1 1AE4775EFF21FB59708E8C2B55967CD24840C8D9. Identificamos as seguintes semelhanças:

  • Ambas as amostras foram droppeadas no C:\Intel\~intel_upd.exe na mesma máquina com um intervalo de cinco dias em setembro de 2017.
  • Ambas as amostras droppean arquivos CAB contendo os vários componentes de malware
  • Os loaders, droppeados pelas amostras acima mencionadas, compartilham rotas PDB claramente relacionadas:
    C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\Release\Extractor.pdb e C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\x64\Release\Extractor.pdb
  • Os loaders descriptografam seus payloads usando a mesma chave RC4: E8 8E 77 7E C7 80 8E E7 CE CE CE C6 C6 CE C6 68

Tendo em conta esses elementos e que as famílias de malware Turla não são compartilhadas entre grupos diferentes, acreditamos que o Crutch seja uma família de malware que faz parte do arsenal do Turla.

Outra observação interessante é a presença dos malwares FatDuke e Crutch ao mesmo tempo em uma máquina. O primeiro é um backdoor de terceiro estágio que atribuímos ao grupo The Dukes – também conhecido como APT29 - em nosso relatório Operation Ghost. No entanto, não temos nenhuma evidência de interação entre essas duas famílias de malware. É possível que ambos os grupos tenham comprometido a mesma máquina de forma independente.

Espionagem

De acordo com dados do ESET LiveGrid®, o Turla usou o conjunto de ferramentas do Crutch contra várias máquinas do Ministério de Relações Exteriores em um país da União Europeia. Essas ferramentas foram projetadas para exfiltrar documentos confidenciais e outros arquivos para contas do Dropbox controladas pelos operadores do Turla.

Conseguimos capturar alguns dos comandos enviados pelos operadores a várias instâncias da versão 3 do Crutch, o que nos ajudou a entender o objetivo da operação. Os operadores faziam principalmente reconhecimento, movimento lateral e espionagem.

A principal atividade maliciosa é a preparação, compactação e exfiltração de documentos e de vários arquivos, conforme pode ser visto na Figura 1. Esses são comandos executados manualmente pelos operadores, não mostrando, portanto, a coleta automatizada de documentos pelo componente de monitoramento de unidade descrito em uma seção posterior. A exfiltração é realizada por outro comando do backdoor e, portanto, não é mostrada nos exemplos abaixo.

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 manuais executados pelos operadores durante a fase de espionagem.

Para finalizar, os operadores têm certo senso de humor. Em algum momento, eles executaram o seguinte comando:

mkdir %temp%\Illbeback

Horário de trabalho dos operadores

Para ter uma ideia aproximada do horário de trabalho dos operadores, exportamos as horas em que eles carregaram arquivos ZIP para as contas do Dropbox controladas. Esses arquivos ZIP contêm comandos para o backdoor e são carregados para o Dropbox pelos operadores, de forma assíncrona a partir do momento em que o backdoor lê e executa seu conteúdo. Isso deve mostrar quando os operadores estão trabalhando e não quando as máquinas da vítima estão ativas.

Coletamos 506 marcas de tempo diferentes e elas variam de outubro de 2018 a julho de 2019.

Figura 2. Horário de trabalho dos operadores do Crutch com base nos uploads para o Dropbox.

De acordo com o gráfico, os criminosos provavelmente trabalham no fuso horário UTC+3.

Comprometimento / Entrega do malware

Acreditamos que o Crutch não é um backdoor de primeiro estágio e que é implantado depois que os operadores comprometem a rede de uma organização pela primeira vez.

O primeiro método consiste na utilização de um implante de primeiro estágio como o Skipper. Em 2017, observamos o Crutch sendo implantado alguns meses depois que um computador foi comprometido pelo Skipper. Em seguida, os operadores do malware também comprometeram outras máquinas na rede local através de um movimento lateral.

O segundo método observado é o uso do PowerShell Empire. Não foi possível descobrir como o script malicioso chegou à máquina, mas acreditamos que foi por meio de outro implante, embora não possamos descartar a possibilidade de um documento de phishing. Deve-se observar que os scripts do PowerShell Empire estavam usando o OneDrive e o Dropbox.

Versões de 1 a 3 do Crutch

De 2015 a meados de 2019, a arquitetura do malware usou um backdoor para se comunicar com o Dropbox e um componente de monitoramento de unidade sem recursos de rede.

A Figura 3 descreve a arquitetura da versão 3 do Crutch. Inclui um backdoor que se comunica com uma conta do Dropbox hardcodeada usando a API HTTP oficial. Ele pode executar comandos básicos, como ler e gravar arquivos ou executar processos adicionais. A ameaça persiste por meio de sequestro da DLL no Chrome, Firefox ou OneDrive. Em algumas variantes, notamos a presença de canais de recuperação do C&C usando o GitHub ou um domínio regular.

O segundo binário principal é um monitor de unidade removível que procura arquivos que tenham uma extensão interessante (.pdf, .rtf, .doc, .docx). Em seguida, os arquivos são organizados em um arquivo criptografado.

Figura 3. Arquitetura da versão 3 do Crutch.

Versão 4 do Crutch

Em julho de 2019, encontramos uma nova versão do Crutch. Embora não tenhamos o número da versão do desenvolvedor, acreditamos que ele evoluiu o suficiente para qualificar essa versão como a 4. Essa nova versão é uma versão atualizada do monitor de unidade removível com recursos de rede.

A Figura 4 mostra a arquitetura da versão 4 do Crutch. A principal diferença é que ela não suporta mais comandos do backdoor. Por outro lado, essa versão pode carregar automaticamente os arquivos encontrados em unidades locais e removíveis para o Dropbox usando a versão do Windows do utilitário Wget.

Figura 4. Arquitetura da versão 4 do Crutch.

O diretório de trabalho desta versão 4 é o C:\Intel, onde os seguintes componentes são encontrados:

  • outllib.dll: a DLL do Crutch
  • finder.exe: o localizador de elementos legítimo do Outlook presente no Microsoft Outlook (SHA-1: 830EE9E6A1BB7588AA8526D94D2D9A2B491A49FA)
  • resources.dll: DLL legítima que é uma dependência do finder.exe (SHA-1: 31D82C554ABAB3DD8917D058C2A46509272668C3)
  • outlook.dat: arquivo de configuração do Crutch. Ele contém o token da API do Dropbox.
  • ihlp.exe: o utilitário legítimo RAR (SHA-1: A92C801F491485F6E27B7EF6E52E02B461DBCFAA)
  • msget.exe: uma versão limpa do utilitário Wget para Windows (SHA-1: 457B1CD985ED07BAFFD8C66FF40E9C1B6DA93753)

Assim como a versão 3 do Crutch, a ameaça persiste usando o sequestro da DLL. No entanto, neste caso, o aplicativo host é um componente antigo do Microsoft Outlook que é descartado pelos operadores no sistema comprometido.

Conclusão

Nos últimos anos, documentamos publicamente várias famílias de malware operadas pelo grupo Turla. O crutch é uma evidência de que o grupo conta com backdoors novos ou atualmente não documentados. Essa descoberta fortalece ainda mais a percepção de que o grupo Turla possui recursos consideráveis ​​para operar um arsenal tão grande e diversificado.

O crutch é capaz de contornar algumas camadas de segurança ao comprometer a infraestrutura legítima – neste caso, o Dropbox - para se integrar ao tráfego de rede normal enquanto exfiltra documentos roubados e recebe comandos dos operadores.

Os indicadores de comprometimento também podem ser encontrados no GitHub. No caso de dúvidas ou para enviar amostras relacionadas ao assunto, entre em contato conosco através do e-mail threatintel@eset.com.

Indicadores de Comprometimento

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

Rotas

Diretórios de trabalho do Crutch
  • C:\Intel\
  • C:\AMD\Temp\
Nomes de arquivos
  • 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
Rede
  • 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 tabela foi construída usando a versão 7 do framework MITER 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.