Durante nuestras recientes actividades de búsqueda de amenazas, detectamos que el malware EtherRAT se distribuía a través de un sitio web con una página de inicio bastante peculiar. Esta página de inicio nos permitió descubrir una amplia infraestructura maliciosa dedicada a la distribución de malware, documentos maliciosos, software de escritorio remoto y páginas de phishing.
EtherRAT es un RAT desarrollado en Node.js que permite a un atacante obtener el control total del equipo y ejecutar código arbitrario enviado por el servidor de comando y control (C2). El malware utiliza la cadena de bloques de Ethereum para conectarse al servidor C2, de ahí la parte «Ether» de su nombre. EtherRAT se distribuye normalmente a través de scripts MSI, PowerShell o JavaScript.
Un directorio abierto que distribuye EtherRAT: ahí es donde empezó todo
Durante la búsqueda de amenazas, encontramos un directorio abierto que distribuía instaladores MSI y scripts de PowerShell, los cuales, a su vez, distribuían EtherRAT. En los casos analizados, los scripts de PowerShell y los instaladores MSI se distribuían desde una carpeta denominada «/install». Las versiones cuentan con una numeración progresiva, que va desde la v1 hasta la v10.

La página de inicio nos llamó la atención y nos animó a profundizar en 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 relacionada con la piratería informática. Parecían formar parte de una cadena de distribución más amplia, que también distribuye software de phishing, de control remoto y otro tipo de malware. Estos sitios web suelen contener varias carpetas con contenido relacionado con el malware y el phishing, y lo que se muestra depende de la cadena de infección concreta.
Varios sitios web que apuntan a las mismas direcciones IP han mostrado anteriormente páginas relacionadas con empresas falsas o plantillas predeterminadas. Por lo tanto, el uso de estas nuevas páginas podría ser una forma de dificultar la detección por parte de los escáneres automáticos o los investigadores. Estas son algunas de las páginas de inicio que hemos encontrado:

EtherRAT es un RAT interesante, ya que cuenta con pocas líneas de código y permite la ejecución de código arbitrario enviado por el servidor C2. Además, el uso de la cadena de bloques de Ethereum para acceder al servidor C2 lo hace más resistente a los cortes de infraestructura.
Análisis técnico de EtherRAT
Los sitios web detectados suelen distribuir un archivo MSI o un script de PowerShell con el nombre de la versión, como v1.msi, v2.ps1, etc.
MSI Loader
El archivo MSI «v9.msi» contiene tres componentes:
| Nombre del archivo MSI | Descripción |
| KmPuGimn.cmd | Lanzador BAT |
| cDQMlQAru0.xml | Primer cargador de JScript |
| MRaQCipBIZeiZNx.log | EtherRAT cifrado |
Al ejecutar 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 dentro de %LOCALAPPDATA%.
- Se vuelve a ejecutar mediante:
- %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 buscar una instalación existente.
- Descarga Node.js si no lo encuentra
- Utiliza «curl -sLo» para descargar Node.js desde la página web oficial.
- Descomprime en el directorio de instalación mediante «tar -xf».
- Cambia el nombre del directorio extraído a «28Q75h».
- Se repite 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 «cDQMlQAru0.xml» ejecutado es un cargador que descifra el código incrustado mediante una función XOR y, a continuación, 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”.
- Añade una clave de registro para garantizar la persistencia con «conhost.exe –headless».
- Descifra el archivo «MRaQCipBIZeiZNx.log» y lo ejecuta utilizando la entrada estándar de «_MJlLlt5.exe».
El algoritmo de descifrado es un esquema de decodificación de tipo flujo personalizado basado en la operación 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
El último paso consiste en implementar EtherRAT. EtherRAT permite al atacante:
- Ejecutar código JavaScript arbitrario recibido por el servidor C2. Esto permite al atacante ejecutar nuevos comandos, realizar operaciones en archivos y carpetas, modificar el registro y sustraer datos.
- Consigue un nuevo servidor C2 utilizando la cadena de bloques de Ethereum.
- Reofuscar 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 a las que se accede para obtener el punto final del servidor C2 son:
- 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
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» y «webp».
- param: seleccionado aleatoriamente entre «id», «token», «key», «b», «q», «s» y «v».
Tras su inicio, el RAT envía su propio código fuente al servidor C2. El servidor C2 responde con una versión del script recién ofuscada, que se vuelve a guardar en el disco, lo que hace 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 diversas actividades posteriores a la infección en el archivo cmd.exe destinadas a analizar el entorno. Por ejemplo:
- 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»

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

Seguimiento de la infraestructura maliciosa
Al analizar los distintos sitios web con páginas dedicadas al «tema del hacking», descubrimos que, en el pasado, muchos de ellos habían alojado múltiples páginas de phishing en determinadas rutas. Por ejemplo:
- /zht/sharep-redirect.html
- /bl/me.php
- /t/equipos
- Windows.php
Parece que estos dominios y direcciones IP forman parte, en realidad, de una infraestructura mucho más amplia dedicada a la distribución de malware, phishing, documentos maliciosos y software de control remoto. Es posible que estas infraestructuras sean compartidas por varios actores maliciosos que activan diferentes puntos finales de URL en función de la campaña concreta.
Curiosamente, la mayoría de los dominios relacionados con esta infraestructura maliciosa mostraban anteriormente una página HTML relacionada con un servicio denominado «Bulletproof Infrastructure».
Hemos observado que estas campañas de phishing suelen iniciarse mediante correos electrónicos con documentos adjuntos, como archivos PDF o Excel. Estos documentos piden 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 pedir al usuario que introduzca su dirección de correo electrónico, para luego continuar la cadena de infección y difundir páginas de phishing o malware. A continuación se muestran algunas de las páginas de phishing detectadas dentro de la infraestructura maliciosa:
Unas configuraciones erróneas dejaron al descubierto los kits de phishing
Mientras rastreábamos 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 de «URL Cloaker».

Indicadores de compromiso (IOC)
direcciones IP
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
Agradecimientoss
- 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 ningún daño.
Malwarebytes Browser Guard automáticamente las páginas de phishing y los sitios maliciosos. Es gratis y se instala con un solo clic. Añádelo a tu navegador →
















