A equipe de pesquisa da ESET descobriu um grupo APT alinhado à China - rastreado como PlushDaemon - e uma de suas operações de ciberespionagem: o comprometimento da cadeia de suprimentos de um software de VPN desenvolvido por uma empresa sul-coreana. Nesse ataque, os invasores substituíram o instalador legítimo por uma versão que implantou o backdoor característico do grupo, SlowStepper: um backdoor avançado e repleto de recursos, acompanhado por um toolkit com mais de 30 componentes.

Pontos-chave deste post

  • PlushDaemon é um grupo de ameaças alinhado à China, dedicado a operações de ciberespionagem.
  • O principal vetor de acesso inicial do PlushDaemon é o sequestro de atualizações legítimas de aplicativos chineses. No entanto, também identificamos um ataque à cadeia de suprimentos contra um desenvolvedor sul-coreano de VPN.
  • Acreditamos que o PlushDaemon seja o único usuário de vários implantes, incluindo o SlowStepper para Windows.
  • SlowStepper possui um conjunto avançado de ferramentas, composto por cerca de 30 módulos, programados em C++, Python e Go.

Resumo

Em maio de 2024, identificamos detecções de código malicioso em um instalador NSIS para Windows, que usuários da Coreia do Sul haviam baixado do site do software VPN legítimo IPany (https://ipany.kr/; veja a Imagem 1), desenvolvido por uma empresa sul-coreana. Após uma análise detalhada, descobrimos que o instalador distribuía tanto o software legítimo quanto o backdoor, que denominamos SlowStepper. Entramos em contato com o desenvolvedor do software VPN para alertá-lo sobre o problema, e o instalador malicioso foi removido do site.

Atribuímos essa operação ao PlushDaemon, um grupo cibercriminoso alinhado à China, ativo desde pelo menos 2019 e envolvido em operações de espionagem contra indivíduos e instituições na China, Taiwan, Hong Kong, Coreia do Sul, Estados Unidos e Nova Zelândia.

O PlushDaemon utiliza um backdoor personalizado, que rastreamos como SlowStepper, e sua principal técnica de acesso inicial é o sequestro de atualizações legítimas, redirecionando o tráfego para servidores controlados pelos invasores. Além disso, observamos que o grupo também obtém acesso explorando vulnerabilidades em servidores web legítimos.

Figure 1. Page at IPany website from which the malicious installer could be downloaded
Imagem 1. Página do site do IPany de onde era possível baixar o instalador malicioso.

As vítimas parecem ter baixado manualmente um arquivo ZIP contendo um instalador NSIS malicioso a partir da URL https://ipany[.]kr/download/IPanyVPNsetup.zip. Não encontramos nenhum código suspeito na página de download (mostrada na Imagem 1) que indicasse descargas direcionadas, como por geofencing para regiões ou intervalos específicos de IP. Por isso, acreditamos que qualquer pessoa que utilizasse o IPany VPN poderia ter sido um alvo válido.

Por meio da telemetria da ESET, descobrimos que vários usuários tentaram instalar o software trojanizado nas redes de uma empresa de semicondutores e de uma empresa de desenvolvimento de software não identificada da Coreia do Sul. Os dois casos mais antigos registrados na nossa telemetria envolveram uma vítima do Japão em novembro de 2023 e outra da China em dezembro de 2023.

Análise técnica

Conforme ilustrado na Imagem 2, ao executar o instalador malicioso IPanyVPNsetup.exe, vários diretórios são criados, e tanto arquivos legítimos quanto maliciosos são implantados.

Figure 2. Deployment of both legitimate and malicious files
Imagem 2. Implantação de arquivos legítimos e maliciosos.

Além disso, o instalador configura a persistência do SlowStepper adicionando uma entrada chamada IPanyVPN a uma chave de execução, com o valor %PUBLIC%\Documents\WPSDocuments\WPSManager\svcghost.exe. Dessa forma, o componente malicioso svcghost.exe (posteriormente extraído e implantado pelo carregador em EncMgr.pkg) é iniciado sempre que o sistema operacional é inicializado.

O primeiro componente malicioso carregado pelo instalador é o loader AutoMsg.dll. A Imagem 3 ilustra os principais passos seguidos durante a execução desse componente.

Figure 3. Loading chain initiated when IPanyVPNSetup.exe loads AutoMsg.dll
Imagem 3. Cadeia de carga iniciada quando IPanyVPNSetup.exe carrega AutoMsg.dll.

Quando IPanyVPNSetup.exe chama ExitProcess, os bytes modificados redirecionam a execução para o shellcode, que carrega o arquivo EncMgr.pkg na memória e o executa.

O encMgr.pkg cria dois diretórios - WPSDocuments e WPSManager - em %PUBLIC%\Documents, iniciando a implantação ao extrair componentes dos arquivos personalizados NetNative.pkg e FeatureFlag.pkg. Os componentes são inicialmente baixados no disco e, em seguida, movidos para outras localizações com novos nomes de arquivo. A sequência e as ações realizadas são as seguintes:

Extração dos arquivos de NetNative.pkg para:

a. %PUBLIC%\Documents\WPSDocuments\WPSManager\assist.dll,

b. %PUBLIC%\Documents\WPSDocuments\WPSManager\msvcr100.dll,

c. %PUBLIC%\Documents\WPSDocuments\WPSManager\PerfWatson.exe, y

d. %PUBLIC%\Documents\WPSDocuments\WPSManager\svcghost.exe.

Elimina o arquivo NetNative.pkg.

Move o arquivo FeatureFlag.pkg para C:\ProgramData\Microsoft Shared\Filters\SystemInfo\winlogin.gif.

Move o arquivo assist.dll para C:\ProgramData\Microsoft Shared\Filters\SystemInfo\Winse.gif.

Extraí o arquivo de Winse.gif para %PUBLIC%\Documents\WPSDocuments\WPSManager\lregdll.dll.

Copia os dados de BootstrapCache.pkg para %PUBLIC%\Documents\WPSDocuments\WPSManager\Qmea.dat.

As últimas ações envolvem a execução do svcghost.exe usando a API ShellExecute e, em seguida, o processo finaliza.

O componente svcghost.exe realiza a monitoração do processo PerfWatson.exe, no qual o backdoor é carregado, garantindo que ele esteja sempre em execução. Caso os processos não estejam em execução, o svcghost.exe executa o PerfWatson.exe (originalmente uma ferramenta de linha de comando legítima chamada regcap.exe, incluída no Visual Studio), da qual os atacantes utilizam para carregar lateralmente o lregdll.dll. O objetivo da DLL é carregar o backdoor SlowStepper a partir do arquivo winlogin.gif.

Em um novo thread, o processo cria uma janela sem nome que ignora todas as mensagens, exceto WM_CLOSE, WM_QUERYENDSESSION e WM_ENDSESSION. Quando qualquer um desses três tipos de mensagem é recebido, o thread tenta estabelecer persistência no registro do Windows, dependendo dos permissões do processo atual; conforme mostrado na Tabela 1.

Tabela 1. Chaves do registro alvo para a persistência.

Requires Registry key Entry Value
Administrator HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Userinit Current path of svcghost.exe.
User HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows load

O backdoor SlowStepper

SlowStepper é um backdoor desenvolvido em C++ com amplo uso de programação orientada a objetos no código de comunicações com o servidor de comando e controle (C&C). Embora o código contenha centenas de funções, a variante específica usada no ataque à cadeia de suprimentos do software IPany VPN parece ser a versão 0.2.10 Lite, conforme identificado no código do backdoor. A chamada versão "Lite" contém, de fato, menos funções do que outras versões anteriores e mais recentes.

A versão mais antiga do backdoor SlowStepper que conhecemos é a 0.1.7, compilada em 31 de janeiro de 2019, de acordo com suas marcas de tempo PE. A versão mais recente é a 0.2.12, compilada em 13 de junho de 2024, e é a versão completa do backdoor.

Tanto a versão completa quanto a versão Lite fazem uso de uma série de ferramentas programadas em Python e Go, que incluem capacidades para coleta extensiva de dados e espionagem por meio de gravação de áudio e vídeo. As ferramentas estavam armazenadas em um repositório de código remoto hospedado na plataforma chinesa GitCode, sob a conta LetMeGo22; no momento da redação deste post, o perfil era privado (Imagem 4).

Figure 4. LetMeGo22 account at GitCode
Imagem 4. Conta LetMeGo22 no GitCode.

Comunicações C&C

O SlowStepper não armazena o endereço IP do servidor de comando e controle (C&C) em sua configuração. Em vez disso, ele realiza uma consulta DNS para obter um registro TXT para o domínio 7051.gsm.360safe[.]company. A consulta é enviada para um dos três servidores DNS públicos legítimos:

  • 8.8.8.8 - DNS público do Google,
  • 114.114.114.114 - 114dns.com, ou
  • 223.5.5.5 - DNS público do Alibaba.

Obtivemos quatro registros desse tipo associados a esse domínio:

  • &%QT%#/zZDmb4ATTVIxwHXPLGrj0FAOV7q+P/sMG109ooj5YLnVZBs3R/eZcuQximtgLkf
  • &%QT%#/zZDmb4ATTVIxwHXPLGrj0FAOV7q+P/sMG109ooj5YKQs3XiHSjM3f+h9ok9XfQ1AjoX+C4UXZsDLVqCDhvxyw==
  • &%QT%#aT1sAjOFTcwzQ7hwc0iyfygP/ooo8pkIRyaNKWcqBz+QRGYBV/2v8HrVg28+aZXhfXvgDxS1vXAuhdcN2dEKxw==
  • &%QT%#aT1sAjOFTcwzQ7hwc0iyfySJBEDM0z6na7BiogG0hDJqdKlUqkrb9ppOjg8epeQ6I6cUXWLKyZGZCkJwFyKD4Q==

O formato dos dados da consulta é mostrado na Imagem 5. O código verifica se os primeiros seis bytes do registro TXT coincidem com &%QT%# e, caso afirmativo, extrai o restante da cadeia, que é um blob criptografado com AES e codificado em base64. Este blob contém uma matriz de 10 endereços IP que serão usados como servidores C&C. A chave utilizada para a descriptografia é *sQi9&2Uhy3Fg7se e o IV (Initialization Vector) é Qhsy&7y@bsG9st#g.

Figure 5. DNS TXT record obtained of malicious domains
Imagem 5. Registro DNS TXT obtido de domínios maliciosos.

Ao analisar os dados descriptografados, o código pode extrair pelo menos quatro identificadores de dados, descritos na Tabela 2.

Tabela 2. Tipos de dados processados pelo backdoor.

Data identifier Size of data Description
0x04 4 Data is an IP address.
0x05 6 Data is an IP address and port number.
0x06 16 Skips the next 16 bytes of data. We suspect that, given the size of the data, it’s possible that it is an IPv6 address.
0x00–0x03
0x07–0xFF
Data identifier value is the value of the data size. Skips the next (unknown) bytes of data.

Uma das endereços IP é escolhida, e o SlowStepper se conecta ao servidor C&C via TCP para iniciar seu protocolo de comunicação. Caso, após várias tentativas, não consiga estabelecer uma conexão com o servidor, ele utiliza a API gethostbyname no domínio st.360safe[.]company para obter o endereço IP atribuído a esse domínio e usa o IP obtido como seu servidor C&C de reserva.

Uma vez estabelecida a comunicação, o SlowStepper pode processar os comandos listados na Tabela 3.

Tabela 3. Comandos básicos suportados pelo SlowStepper.

Command ID Action performed
0x32 Collects the following information from the compromised machine and sends it to the server:
· brand of the CPU, using the CPUID instruction,
· HDDs connected to the computer and their serial numbers,
· computer name,
· local host name,
· public IP address, by querying multiple services,
· list of running processes,
· list of installed applications,
· network interface information,
· additional information about the computer’s drives, such as volume name and free space,
· system memory,
· current username,
· persistence type used,
· whether cameras are connected,
· whether microphones are connected,
· whether the operating system is running as a virtual machine,
· system uptime,
· HTTP proxy configuration, and
· whether queries to the DNS server at 114.114.114.114:53 to resolve the addresses of two legitimate domains, cf.duba.net (Kingston) and f.360.cn (360 Qihoo), failed or succeeded. It is unclear to us what the purpose of this information is.
0x38 Executes a Python module from its toolkit; the output and any files created by the module are sent to the server. The procedure is very similar to what is used in the shell mode.
0x39 Deletes the specified file.
0x3A This command can process other commands sent by the operator in SlowStepper’s shell mode, which we explain in more detail below. Alternatively, it can also:
· Run a command via cmd.exe and send the output back to the server.
· Run a command via cmd.exe without sending the output to the server.
0x3C Uninstalls SlowStepper by removing its persistence mechanism and removing its files.
0x3F Lists files in the specified directory, and lists drives.
0x5A Downloads and executes the specified file.

O SlowStepper tem uma característica bastante incomum: os desenvolvedores implementaram um shell personalizado, ou interface de linha de comandos, sobre seu protocolo de comunicação. Embora o backdoor aceite e gerencie comandos de forma tradicional, o comando 0x3A ativa a interpretação de comandos escritos pelo operador (Tabela 4).

Tabela 4. Comandos admitidos no modo shell.

Command Parameters Description
cd Path to a directory. Checks whether a directory exists.
gcall Module name and other unknown parameter(s). This function can perform two tasks:
· Download a module from the remote code repository and execute it. The module is supposed to be a console application.
· Send a file from the compromised machine to the operator.
pycall Tool name to be executed. This command is explained in detail in the Execution of tools via SlowStepper’s pycall shell command section.
restart self Restarts SlowStepper by rerunning the host process and calling the ExitProcess API.
Returns the message The mode of NSP doesn't support restart self. when SlowStepper is running in a process via a persistence technique that abuses Winsock namespace providers; however, it is not included in this variant of SlowStepper.
update N/A Downloads a module from the remote code repository, replacing a previous existing version.
gconfig show Displays the value of ServerIP (the C&C IP address).
set Changes the value of ServerIP.
The console suggests the following to the operator:
If you want make the Configuration effective immediately, please command “gconfig reload”.
reload Reloads the configuration.
getname Returns the name of the current process in which SlowStepper is running.
getdll Returns the name of the SlowStepper DLL in the current process.
getpid Returns the process ID of the current process in which SlowStepper is running.
getsid Returns the Remote Desktop Services session ID of the current process. This suggests that SlowStepper might also be intended to compromise machines running Windows Server.
getpwd Downloads getcode.mod from the remote code repository and executes it using rundll32.exe. The module generates a file, named psf.bin, that contains the collected data.
gcmd query Creates a complete report of information about the specified file or directory.
delete Deletes the specified file, directory, or all files in a directory.
set Sets configuration parameters.
terminate Terminates the specified process.
cancel Creates a file with the .delete extension.

Execução de ferramentas por meio do comando shell pycall do SlowStepper

A Imagem 6 ilustra a cadeia de execução, começando quando o operador emite um comando pycall para solicitar a execução de um módulo Python na máquina comprometida; neste exemplo, o módulo CollectInfo.

Figure 6. Execution flow of the pycall command
Imagem 6. Fluxo de execução do comando pycall.

A partir do repositório remoto, o comando pycall faz o download de um arquivo ZIP que contém o interpretador Python e suas bibliotecas de suporte. Uma das três distribuições personalizadas possíveis é baixada, conforme indicado na Tabela 5.

Tabela 5. Lista de distribuições personalizadas de Python e as condições sob as quais são baixadas.

Condition Archive name Description
Windows operating system is XP. winxppy.org Python 3.4
All required Windows API set (stub) DLLs and the Microsoft C runtime are present. winpy_no_rundll.org Python 3.7
Neither of the preceding conditions are met. win7py.org Python 3.7; includes Windows API set (stub) DLLs and the Microsoft C runtime library.

A Imagem 7 mostra a estrutura de diretórios do arquivo descompactado que contém a distribuição Python, listando apenas os arquivos maliciosos que estão incluídos dentro.

Figure 7. Directory structure of the customized Python distribution and malicious files
Imagem 7. Estrutura de diretórios da distribuição Python personalizada e arquivos maliciosos.

SlowStepper executa o interpretador Python utilizando a seguinte linha de comando:

%PUBLIC%\Documents\WPSDocuments\WPSManager\Python\Pythonw.exe -m runas <nome_modulo>

O módulo chamado runas é um script Python personalizado (Imagem 8) que carrega outro módulo Python personalizado chamado help, do qual utiliza a função chamada run para descriptografar e executar o módulo.

Figure 8. Code runas.py
Imagem 8. Código do runas.py.

A Tabela 6 lista os módulos que recuperamos do repositório remoto durante o tempo em que esteve disponível.

Tabela 6. Lista de módulos Python e seu propósito.

Filename on disk Original module name Purpose
900150983cd24fb0d6963f7d28e17f72 abc Test module that prints hello world.
ef15fd2f45e6bb5ce57587895ba64f93 Browser Collects a wide range of data from web browsers: Google Chrome, Microsoft Edge, Opera, Brave, Vivaldi, Cốc Cốc browser, UC Browser, 360 Browser, and Mozilla Firefox.
967d35e40f3f95b1f538bd248640bf3b Camera If the computer has a camera connected, it takes photos.
a7ba857c30749bf4ad76c93de945f41b CollectInfo Scans the disk for files with extensions .txt, .doc, .docx, .xls, .xlsx, .ppt, and .pptx.
Collects information from several software titles, including: LetsVPN, Tencent QQ, WeChat, Kingsoft WPS, e2eSoft VCam, KuGou, Oray Sunlogin, and ToDesk.
6002396e8a3e3aa796237f6469eb84f8 Decode Downloads a module from the remote repository and decrypts it.
9348a97af6e8a2f482d5dbee402c8c6f DingTalk Collects a wide range of data from DingTalk (a corporate management tool developed in China), including chat messages, audio, video, contact information, and groups the user has joined.
801ab24683a4a8c433c6eb40c48bcd9d Download Downloads (non-malicious) Python packages.
16654b501ac48e4675c9eb0cf2b018f6 FileScanner Scans the disk for files, using the same code as CollectInfo.
7d3b40764db47a45e9bc3f1169a47fe2 FileScannerAllDisk
3582f6ebaf9b612940011f98b110b315 getOperaCookie Gets cookies from the Opera browser.
10ae9fc7d453b0dd525d0edf2ede7961 list Lists modules with a .py extension.
ce5bf551379459c1c61d2a204061c455 Location Obtains the IP address of the computer and the GPS coordinates, using online services.
68e36962b09c99d6675d6267e81909ad Location1
5e0a529f8acc19b42e45d97423df2eb4 LocationByIP
c84fcb037b480bd25ff9aaaebce5367e PackDir Creates a ZIP archive of the specified file.
4518dc0ae0ff517b428cda94280019fa qpass This script appears to be unfinished.
It obtains and decrypts passwords from Tencent QQ Browser.
Probably replaced by the qqpass module.
5fbf04644f45bb2be1afffe43f5fbb57 qqpass Obtains and decrypts passwords from Google Chrome, Mozilla Firefox, Tencent QQ Browser, 360 Chrome, and UC Browser.
874f5aaef6ec4af83c250ccc212d33dd ScreenRecord Records the screen, saving the result as an AVI file inside a ZIP archive.
c915683f3ec888b8edcc7b06bd1428ec Telegram Collects account information from the Telegram desktop application.
104be797a980bcbd1fa97eeacfd7f161 Webpass Similar to the qqpass module.
e5b152ed6b4609e94678665e9a972cbc WeChat One of the largest modules, it collects a wide range of data from WeChat.
6d07a4ebf4dff8e5d4fdb61f1844cc12 Wechat_all_file Collects data from WeChat.
17cf4a6dd339a1312959fd344fe92308 Wechat_src
8326cef49f458c94817a853674422379 Wechat1 Similar to WeChat.
427f01be70f46f02ef0d18fcbbfaf01d WechatFile
72704d83b916fa1f7004e0fdef4b77ae WirelessKey Collects wireless network information and passwords, and output from the ipconfig /all command.

Além do conjunto de ferramentas Python, encontramos armazenadas no repositório de código remoto outras ferramentas (Tabela 7) que não estão criptografadas; algumas delas foram programadas em C/C++ e outras em Go, conforme indicado a seguir.

Tabela 7. Ferramentas e sua função.

Tool filename Description
agent.mod Reverse proxy programmed in Go.

getcode.mod

getcode64.mod

Mimikatz. This tool is a DLL downloaded by the getpwd command.
InitPython.mod Old downloader to install the customized Python distribution on the compromised machine. This tool is a DLL.
Remote.mod RealVNC server that allows the attackers to remotely control the compromised machine. This tool is a DLL.
soc.mod

Reverse proxy programmed in Go.

Signed with a certificate from a Chinese company called Hangzhou Fuyang Qisheng Information Technology Service Department. We were unable to find any information about the company.

stoll.mod

Tool used to perform downloads, written in Go.

Signed with a certificate from the Chinese company Zhoushan Xiaowen Software Development Studio. We were unable to find any information about the company.

Conclusão

Neste post, analisamos um ataque à cadeia de suprimentos contra um provedor coreano de VPN, direcionado a usuários do leste da Ásia, como é evidente pelo software específico voltado para a coleta de informações e confirmado pela telemetria da ESET. Também documentamos o backdoor SlowStepper, utilizado exclusivamente pelo PlushDaemon. Este backdoor se destaca por seu protocolo C&C de várias etapas que utiliza DNS, e sua capacidade de baixar e executar dezenas de módulos Python adicionais com capacidades de espionagem.

Os inúmeros componentes do conjunto de ferramentas PlushDaemon e seu rico histórico de versões demonstram que, embora desconhecido até agora, esse grupo APT alinhado com a China tem operado diligentemente para desenvolver uma ampla gama de ferramentas, o que o torna uma ameaça significativa a ser observada.

Para qualquer consulta sobre nossa pesquisa publicada no WeLiveSecurity, por favor, entre em contato conosco pelo e-mail threatintel@eset.com.

Indicadores de Comprometimento

Você pode encontrar uma lista completa de indicadores de compromisso e amostras em nosso repositório no GitHub.

Arquivos

SHA-1 Filename Detection Description
A8AE42884A8EDFA17E9D67AE5BEBE7D196C3A7BF AutoMsg.dll Win32/ShellcodeRunner.GZ Initial loader DLL.
2DB60F0ADEF14F4AB3573F8309E6FB135F67ED7D lregdll.dll Win32/Agent.AGUU Loader DLL for the SlowStepper backdoor.
846C025F696DA1F6808B9101757C005109F3CF3D OldLJM.dll Win32/Agent.AGXL Installer DLL, internally named OldLJM.dll. It is extracted from EncMgr.pkg and executed in memory.
AD4F0428FC9290791D550EEDDF171AFF046C4C2C svcghost.exe Win32/Agent.AGUU Process monitor component that launches PerfWatson.exe or RuntimeSvc.exe to side-load lregdll.dll.
401571851A7CF71783A4CB902DB81084F0A97F85 main.dll Win32/Agent.AEIJ Decrypted SlowStepper backdoor component.
068FD2D209C0BBB0C6FC14E88D63F92441163233 IPanyVPNsetup.exe Win32/ShellcodeRunner.GZ Malicious IPany installer. Contains the SlowStepper implant and the legitimate IPany VPN software.

Rede

IP Domain Hosting provider First seen Details
202.189.8[.]72 reverse.wcsset[.]com Shandong eshinton Network Technology Co., Ltd. 2024‑10‑14 Server used by the (reverse proxy) soc.mod tool.
47.96.17[.]237 agt.wcsset[.]com Hangzhou Alibaba Advertising Co.,Ltd. 2024‑10‑14 Server used by agent.mod tool.
N/A 7051.gsm.360safe[.]company N/A 2020‑09‑29 SlowStepper queries this domain to obtain its associated DNS TXT record.
202.105.1[.]187 st.360safe[.]company IRT-CHINANET-CN 2021‑03‑11 Fallback C&C server contacted by SlowStepper.
47.74.159[.]166 N/A Alibaba (US) Technology Co., Ltd. 2020‑09‑29 SlowStepper C&C server.
8.130.87[.]195 N/A Hangzhou Alibaba Advertising Co.,Ltd. 2020‑09‑29 SlowStepper C&C server.
47.108.162[.]218 N/A Hangzhou Alibaba Advertising Co.,Ltd. 2020‑09‑29 SlowStepper C&C server.
47.113.200[.]18 N/A Hangzhou Alibaba Advertising Co.,Ltd. 2020‑09‑29 SlowStepper C&C server.
47.104.138[.]190 N/A Guowei Pan 2020‑09‑29 SlowStepper C&C server.
120.24.193[.]58 N/A Hangzhou Alibaba Advertising Co.,Ltd. 2020‑09‑29 SlowStepper C&C server.
202.189.8[.]87 N/A Shandong eshinton Network Technology Co., Ltd. 2020‑09‑29 SlowStepper C&C server.
202.189.8[.]69 N/A Shandong eshinton Network Technology Co., Ltd. 2020‑09‑29 SlowStepper C&C server.
202.189.8[.]193 N/A Shandong eshinton Network Technology Co., Ltd. 2020‑09‑29 SlowStepper C&C server.
47.92.6[.]64 N/A Hangzhou Alibaba Advertising Co.,Ltd. 2020‑09‑29 SlowStepper C&C server.

Técnicas ATT&CK do MITRE

Esta tabela foi elaborada utilizando a versão 16 do framework MITRE ATT&CK.

Tactic ID Name Description
Resource Development T1583.001 Acquire Infrastructure: Domains PlushDaemon has acquired domain names for its C&C infrastructure.
T1583.004 Acquire Infrastructure: Server PlushDaemon has acquired servers to be used as C&C servers.
T1608.001 Stage Capabilities: Upload Malware PlushDaemon has staged its toolkit in the code repository website GitCode.
T1608.002 Stage Capabilities: Upload Tool PlushDaemon has staged its toolkit in the code repository website GitCode.
T1588.001 Obtain Capabilities: Malware PlushDaemon has access to SlowStepper.
T1588.002 Obtain Capabilities: Tool PlushDaemon tools getcode.mod and getcode64.mod use Mimikatz.
T1588.003 Obtain Capabilities: Code Signing Certificates PlushDaemon tools soc.mod and stoll.mod are signed.
T1588.005 Obtain Capabilities: Exploits PlushDaemon has used an unidentified exploit for Apache HTTP server.
Initial Access T1659 Content Injection PlushDaemon can intercept network traffic to hijack update protocols and deliver its SlowStepper implant.
T1190 Exploit Public-Facing Application PlushDaemon exploited an unidentified vulnerability in Apache HTTP Server.
T1195.002 Supply Chain Compromise: Compromise Software Supply Chain PlushDaemon has compromised the supply chain of a VPN developer and replaced the original installer with a trojanized one containing the SlowStepper implant.
Execution T1059.003 Command-Line Interface: Windows Command Shell SlowStepper uses cmd.exe to execute commands on a compromised machine.
T1059.006 Command-Line Interface: Python SlowStepper for Windows can use the Python console to execute the Python components of its toolkit.
Persistence T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder The SlowStepper installer establishes persistence by adding an entry in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
T1547.004 Boot or Logon Autostart Execution: Winlogon Helper DLL The SlowStepper process monitor component can establish persistence by adding an entry in HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit or HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\load.
T1574.002 Hijack Execution Flow: DLL Side-Loading PlushDaemon has abused a legitimate command line utility included in Visual Studio called regcap.exe to side-load a malicious DLL named lregdll.dll.
Defense Evasion T1222.001 File Permissions Modification: Windows File and Directory Permissions Modification SlowStepper modifies the access rights of the directory where its components are stored on disk.
T1070.004 Indicator Removal: File Deletion SlowStepper can remove its own files.
T1036.005 Masquerading: Match Legitimate Name or Location SlowStepper uses folder names and filenames from legitimate software.
T1112 Modify Registry SlowStepper can modify the registry.
T1027.007 Obfuscated Files or Information: Dynamic API Resolution SlowStepper dynamically resolves Windows API functions.
T1027.009 Obfuscated Files or Information: Embedded Payloads SlowStepper loader DLLs contain embedded, position-independent code, executed in memory, to load components.
T1027.013 Obfuscated Files or Information: Encrypted/Encoded File SlowStepper components are stored encrypted on disk.
T1553.002 Subvert Trust Controls: Code Signing PlushDaemon tools soc.mod and stoll.mod are signed.
Discovery T1217 Browser Bookmark Discovery SlowStepper’s Browser tool collects information from browsers.
T1083 File and Directory Discovery SlowStepper and its tools can search for files with specific extensions, or enumerate files in directories.
T1120 Peripheral Device Discovery SlowStepper and its toolkit can discover devices connected to the compromised machine.
T1057 Process Discovery SlowStepper can create a list of running processes.
T1012 Query Registry SlowStepper can query the registry.
T1518 Software Discovery SlowStepper can create a list of software installed on the compromised machine.
T1082 System Information Discovery SlowStepper can collect system information.
T1614 System Location Discovery SlowStepper’s Location tool attempts to discover the possible geolocation of the compromised machine by querying several online services.
T1016 System Network Configuration Discovery SlowStepper collects information from the network adapters.
T1016.002 System Network Configuration Discovery: Wi-Fi Discovery SlowStepper’s Wireless tool and its variants collects a wide range of information from the Wi-Fi network.
T1033 System Owner/User Discovery SlowStepper obtains the username.
Collection T1560.002 Archive Collected Data: Archive via Library SlowStepper tools can compress the collected data in ZIP archives.
T1123 Audio Capture SlowStepper can capture audio if the compromised machine has a microphone.
T1005 Data from Local System SlowStepper and its tools collect a wide range of data from the compromised system.
T1074.001 Data Staged: Local Data Staging SlowStepper and its tools stage data locally before exfiltrating it to the C&C server.
T1113 Screen Capture SlowStepper’s ScreenRecord tool can take screenshots.
T1125 Video Capture SlowStepper’s Camera tool can record videos if the compromised machine has a camera.
Command and Control T1071.004 Standard Application Layer Protocol: DNS SlowStepper retrieves a DNS TXT record that contains an AES-encrypted list of C&C servers.
T1132.001 Data Encoding: Standard Encoding SlowStepper retrieves a DNS TXT record that contains an AES-encrypted list of C&C servers. The record is base64 encoded.
T1573.001 Encrypted Channel: Symmetric Cryptography SlowStepper’s communication protocol with its C&C is encrypted with AES.
T1008 Fallback Channels SlowStepper gets a fallback C&C server IP address by resolving an alternative domain controlled by the attackers.
T1105 Remote File Copy SlowStepper downloads additional tools from a remote code repository at GitCode.
T1104 Multi-Stage Channels SlowStepper obtains a list of C&C servers by querying the DNS TXT record from a domain controlled by the attackers; if no communication can be established with the servers, it resolves the IP address of another domain controlled by the attackers to obtain a backup server.
SlowStepper tools use different servers from PlushDaemon infrastructure.
T1095 Standard Non-Application Layer Protocol SlowStepper communicates with its C&C via TCP.
T1090 Connection Proxy SlowStepper tools agent.mod and soc.mod are reverse proxies.
T1219 Remote Access Tools SlowStepper tool Remote.mod allows its operator to remotely control the compromised machine via VNC.
Exfiltration T1020 Automated Exfiltration SlowStepper can exfiltrate staged data.
T1041 Exfiltration Over C2 Channel SlowStepper exfiltrates collected data when connected to one of its C&C servers.