Neste post, vamos resumir as descobertas publicadas de forma completa em nosso white paper “Okrum and Ketrican: An overview of recent Ke3chang group activity”.

O grupo Ke3chang, também conhecido como APT15, é um grupo de ameaças que possivelmente esteja operando na China. Suas atividades datam de 2010 no relatório de 2013 da FireEye, chamado operation Ke3chang - uma campanha de ciberespionagem voltada para organizações diplomáticas na Europa.

Temos acompanhado as atividades maliciosas relacionadas com este agente malicioso e descobrimos uma família de malware que não havia sido documentada anteriormente e que tem fortes ligações com o grupo Ke3chang: um backdoor que chamamos de Okrum. De acordo com a telemetria da ESET, Okrum foi detectado pela primeira vez em dezembro de 2016 e, durante 2017, teve como alvo missões diplomáticas no Brasil, Chile, Guatemala, Eslováquia e Bélgica ao longo de 2017.

Além disso, de 2015 a 2019, detectamos novas versões de famílias de malware conhecidas atribuídas ao grupo Ke3chang: backdoors BS2005 da operação Ke3chang e o malware RoyalDNS, relatado pelo NCC Group em 2018. Nota: Novas versões do malware da operação Ke3chang do período 2015-2019 são detectadas pelos produtos da ESET como o Win32/Ketrican e são referidas coletivamente como backdoors/ amostras Ketrican e são marcadas de acordo com o ano em nosso white paper e neste post.

Linha do tempo da Pesquisa

2015: Ketrican

Em 2015, identificamos novas atividades suspeitas em países europeus. O grupo por trás dos ataques parecia ter um interesse particular na Eslováquia, onde uma grande parte das amostras de malware descobertas foi detectada - Croácia, República Checa e outros países também foram afetados. Nossa análise técnica do malware usado nesses ataques revelou ligações estreitas com os backdoors BS2005 da operação Ke3chang e com uma família relacionada ao malware TidePool, descoberta pela Palo Alto Networks em 2016, que visava as embaixadas da Índia em todo o mundo.

2016-2017: Okrum

A história continuou no final de 2016, quando descobrimos um novo backdoor, anteriormente desconhecido, que chamamos de Okrum. Os agentes maliciosos por trás do malware Okrum estavam focados nos mesmos alvos da Eslováquia que foram anteriormente atacados pelos backdoors do Ketrican 2015.

2017: Ketrican y RoyalDNS

Começamos a ligar os pontos quando descobrimos que o backdoor Okrum era usado para droppear um backdoor Ketrican, cuja data de compilação é de 2017. Em 2017, as mesmas entidades que foram afetadas pelo malware Okrum (e pelos backdoors da Ketrican em 2015) tornaram-se novamente alvos de agentes maliciosos. Desta vez, os atacantes usaram novas versões do malware RoyalDNS e um backdoor Ketrican de 2017.

2018: Ketrican

Em 2018, descobrimos uma nova versão do backdoor Ketrican que apresentava algumas melhorias no código.

2019: Ketrican

O grupo continua ativo em 2019: em março de 2019, detectamos uma nova amostra do Ketrican, que apresenta uma evolução em relação ao backdoor Ketrican de 2018, que foi usada para atacar os mesmos objetivos do backdoor de 2018. Essa linha do tempo dos acontecimentos mostra que, embora os atacantes tenham se concentrado no mesmo tipo de alvos, eles têm usado diferentes conjuntos de ferramentas maliciosas para comprometê-los. No processo, eles expuseram o Okrum, um projeto anteriormente desconhecido. A Figura 1 mostra as detecções da ESET relacionadas à nossa pesquisa no contexto da atividade do Ke3chang previamente documentada.

Figura 1. Linha do tempo da atividade documentada anteriormente do grupo Ke3chang e as detecções da ESET relacionadas a nossa pesquisa.

Ligações com o grupo Ke3chang

Nossa pesquisa mostrou que os backdoors Ketrican, Okrum e RoyalDNS detectados pela ESET após 2015 estão ligados à atividade do grupo Ke3chang documentada anteriormente, e de várias maneiras. Estas são as ligações mais importantes:

  • Os backdoors do Ketrican de 2015, 2017, 2018 e 2019 evoluíram com relação ao malware usado na Operação Ke3chang
  • O backdoor RoyalDNS detectado pela ESET em 2017 é semelhante ao backdoor RoyalDNS usado em ataques relatados anteriormenteOkrum está ligado a backdoors do Ketrican tendo sido usado para droppear um backdoor do Ketrican compilado em 2017
  • Okrum, Ketrican e RoyalDNS visaram o mesmo tipo de organização. Algumas das entidades afetadas pelo Okrum também foram atacadas com um ou mais backdoors do Ketrican/RoyalDNS
  • O Okrum tem um modus operandi similar ao malware Ke3chang documentado anteriormente (está equipado com uma série de comandos de backdoor básicos e depende dos comandos shell escritos manualmente).

Okrum

Propagação e alvos

De acordo com a nossa telemetria, Okrum foi usado para atacar missões diplomáticas no Brasil, Eslováquia, Bélgica, Chile e Guatemala, e os atacantes mostraram particular interesse na Eslováquia.

As operadoras do malware tentaram ocultar o tráfego malicioso com seu servidor C&C dentro do tráfego de rede regular, registrando nomes de domínio aparentemente legítimos. Por exemplo, amostras usadas contra alvos eslovacos foram comunicadas com um nome de domínio que simula um portal de mapas eslovaco (support.slovakmaps [.] Com). Um método similar de mascaramento foi usado em uma amostra detectada em um país de língua espanhola na América do Sul: os operadores usavam um nome de domínio que se traduz como "suporte de missões" em português (misiones.soportesisco [.] Com).

A maneira como o malware Okrum foi propagado para as máquinas alvo é uma questão que ainda precisa ser respondida.

Detalhes técnicos

O backdoor do Okrum é uma biblioteca de links dinâmicos que é instalada e carregada por meio de dois componentes do estágio anterior. Durante nossa pesquisa, a implementação desses dois componentes foi alterada com frequência. Periodicamente, os autores alteraram ativamente a implementação do instalador e dos componentes do carregador do Okrum para evitar a detecção. No momento da publicação deste post, os sistemas da ESET detectaram sete versões diferentes do componente carregador e duas versões do instalador, embora a funcionalidade permaneça a mesma.

O payload do Okrum está escondido em um arquivo PNG. A ver o arquivo em um visualizador de imagens, uma imagem familiar é exibida, conforme mostrado na Figura 2, mas os carregadores do Okrum podem localizar um arquivo criptografado adicional que o usuário não pode ver. Essa técnica de esteganografia é uma tentativa dos agentes maliciosos para passar despercebido e evitar a detecção.

Figura 2. Uma imagem PNG inofensiva com uma DLL maliciosa criptografada embutida em seu interior.

Em termos de funcionalidade, Okrum está equipado apenas com comandos backdoor básicos, como o download e o upload de arquivos, a execução de arquivos e comandos shell. A maior parte da atividade maliciosa deve ser feita escrevendo comandos shell manualmente ou executando outras ferramentas e softwares. Esta é uma prática comum do grupo Ke3chang, que também foi apontada anteriormente nos relatórios Intezer e NCC Group que monitoram a atividade do grupo Ke3chang.

Na verdade, detectamos que o Okrum abusa de várias ferramentas externas, como um keylogger, ferramentas para despejar senhas ou enumerar sessões de rede. Os backdoors do Ketrican que detectamos de 2015 a 2019 usavam utilitários semelhantes. Podemos apenas imaginar por que o agente do Ke3chang usa essa técnica - talvez a combinação de um backdoor simples e ferramentas externas acomoda plenamente suas necessidades, sendo mais fácil de desenvolver; mas também pode ser uma tentativa de evitar a detecção comportamental.

As técnicas de prevenção de detecção que observamos no malware Okrum incluem a incorporação da carga maliciosa em uma imagem PNG legítima, empregando vários truques anti-emulação e anti-sandbox, além de fazer alterações frequentes na implementação.

Conclusão

Nossa análise das ligações entre o malware Ke3chang documentado anteriormente e o recém-descoberto backdoor do Okrum nos permite dizer com ctotal onfiança que o Okrum é operado pelo grupo Ke3chang. Depois de documentar a atividade do grupo Ke3chang de 2015 a 2019, concluímos que o grupo continua ativo e trabalha para melhorar seu código ao longo do tempo.

Os nomes de detecção da ESET e outros indicadores de comprometimento para essas campanhas podem ser encontrados no relatório completo: “Okrum and Ketrican: An overview of recent Ke3chang group activity”.

Técnicas de MITRE ATT&CK

Tactic ID Name Description
Execution T1059 Command-Line Interface Okrum’s backdoor uses cmd.exe to execute arbitrary commands.
T1064 Scripting The backdoor uses batch scripts to update itself to a newer version.
T1035 Service Execution The Stage 1 loader creates a new service named NtmsSvc to execute the payload.
Persistence T1050 New Service To establish persistence, Okrum installs itself as a new service named NtmSsvc.
T1060 Registry Run Keys / Startup Folder Okrum establishes persistence by creating a .lnk shortcut to itself in the Startup folder.
T1053 Scheduled Task The installer component tries to achieve persistence by creating a scheduled task.
T1023 Shortcut Modification Okrum establishes persistence by creating a .lnk shortcut to itself in the Startup folder.
Privilege Escalation T1134 Access Token Manipulation Okrum can impersonate a logged on user's security context using a call to the ImpersonateLoggedOnUser API.
Defense Evasion T1140 Deobfuscate/Decode Files or Information The Stage 1 loader decrypts the backdoor code, embedded within the loader or within a legitimate PNG file. A custom XOR cipher or RC4 is used for decryption.
T1107 File Deletion Okrum’s backdoor deletes files after they have been successfully uploaded to C&C servers.
T1158 Hidden Files and Directories Before exfiltration, Okrum’s backdoor uses hidden files to store logs and outputs from backdoor commands.
T1066 Indicator Removal from Tools Okrum underwent regular technical improvements to evade antivirus detection.
T1036 Masquerading Okrum establishes persistence by adding a new service NtmsSvc with the display name Removable Storage in an attempt to masquerade as a legitimate Removable Storage Manager.
T1027 Obfuscated Files or Information Okrum's payload is encrypted and embedded within the Stage 1 loader, or within a legitimate PNG file.
T1497 Virtualization/Sandbox Evasion The Stage 1 loader performs several checks on the victim's machine to avoid being emulated or executed in a sandbox.
Credential Access T1003 Credential Dumping Okrum was seen using MimikatzLite and modified Quarks PwDump to perform credential dumping.
Discovery T1083 File and Directory Discovery Okrum was seen using DriveLetterView to enumerate drive information.
T1082 System Information Discovery Okrum collects computer name, locale information, and information about the OS and architecture.
T1016 System Network Configuration Discovery Okrum collects network information, including host IP address, DNS and proxy information.
T1049 System Network Connections Discovery Okrum used NetSess to discover NetBIOS sessions.
T1033 System Owner/User Discovery Okrum collects the victim user name.
T1124 System Time Discovery Okrum can obtain the date and time of the compromised system.
Collection T1056 Input Capture Okrum was seen using a keylogger tool to capture keystrokes.
Exfiltration T1002 Data Compressed Okrum was seen using a RAR archiver tool to compress data.
T1022 Data Encrypted Okrum uses AES encryption and base64 encoding of files before exfiltration.
T1041 Exfiltration Over Command and Control Channel Data exfiltration is done using the already opened channel with the C&C server.
Command And Control T1043 Commonly Used Port Okrum uses port 80 for C&C.
T1090 Connection Proxy Okrum identifies a proxy server if it exists and uses it to make HTTP requests.
T1132 Data Encoding The communication with the C&C server is base64 encoded.
T1001 Data Obfuscation The communication with the C&C server is hidden in the Cookie and Set-Cookie headers of HTTP requests.
T1071 Standard Application Layer Protocol Okrum uses HTTP for communication with its C&C.
T1032 Standard Cryptographic Protocol Okrum uses AES to encrypt network traffic. The key can be hardcoded or negotiated with the C&C server in the registration phase.