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.
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.
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. |