ConnectWise ScreenConnect 身份验证绕过导致RCE(CVE-2024-1709/CVE-2024-1708)
0x01 组件简介
ConnectWise Control(之前称为ScreenConnect)是一款远程支持和远程访问软件,旨在帮助用户远程管理计算机、提供技术支持和进行远程会议,该款软件允许用户自行托管,可以在自己的服务器、个人电脑、虚拟机或虚拟专用服务器上运行。
fofa语法:app="ScreenConnect-Remote-Support-Software"
0x02 漏洞描述
CVE-2024-1709:ConnectWise ScreenConnect身份验证绕过漏洞
ConnectWise ScreenConnect 23.9.7及之前版本存在身份验证绕过漏洞,由于身份验证过程并未针对所有访问路径进行安全防护,威胁者可通过特制请求访问已配置的ScreenConnect实例上的设置向导,从而可以创建新的管理员帐户并使用它来控制ScreenConnect实例,该漏洞的CVSS评分为10.0。
CVE-2024-1708:ConnectWise ScreenConnect目录遍历漏洞
ConnectWise ScreenConnect 23.9.7及之前版本存在目录遍历漏洞,拥有管理员访问权限的威胁者可使用扩展功能,将文件写入ScreenConnect\App_Extensions中的任意位置,某些情况下可能导致代码执行。该漏洞可与CVE-2024-1709组合使用,该漏洞的CVSS评分为8.4。
0x03 影响版本
ScreenConnect <= 23.9.7
0x04 环境搭建
0x01 下载
由于该组件需要收费,尝试了很多办法都无法搭建一个正常的漏洞环境。最后只能尝试搭建一个非完整版的漏洞环境,从官网下载一个版本,低于23.9.8版本的,在这里我选择了23.7.10版本的,其他的版本的也应该可以,自行选择下载,下载地址:https://screenconnect.connectwise.com/download/archive

0x02 安装
下载完,直接安装即可,可自行更改目录,一路按照提示安装即可,安装完在浏览器打开http://ip:8040 默认端口是8040,打开后会进到安装设置向导界面,能打开即为安装成功

但是由于我们没有license(有没有大佬破解版的,可以提供下么哈哈哈),在进行到第三步的时候就无法再进行下去了,也就无法进到最后的安装界面,但其实到这一步的时候,已经可以进行漏洞验证了
0x05 漏洞原理
ConnectWise ScreenConnect的组合漏洞源于其设置向导页面存在的身份验证机制绕过问题。具体而言,当正常访问/SetupWizard.aspx页面时,系统会执行身份验证流程。然而,通过构造特定的URL路径,如/SetupWizard.aspx/,攻击者能够规避身份验证步骤,直接进入设置向导。通常情况下,这一漏洞难以被直接利用,但由于.Net框架的特殊性质,它允许将合法URL映射之后的路径组件传递至应用程序内部。在设置向导中,管理员权限用户的配置是可操作的,攻击者一旦进入该页面,便能创建具备管理权限的用户账户。进一步地,利用这些管理权限,攻击者能够安装扩展插件。若这些插件中包含恶意代码,攻击者便能实现远程代码执行(RCE),从而获取系统权限。由于ScreenConnect服务器在执行.Net代码时通常以SYSTEM身份运行,因此攻击者能够成功部署一个拥有system权限的webshell,实现对系统的完全控制。
0x06 漏洞验证
本地验证版POC
0x01 验证是否存在CVE-2024-1709
1.通过CVE-2024-1709能够使用设置向导创建一个管理员用户,步骤如下
访问安装向导页面/SetupWizard.aspx/,获取VIEWSTATE和VIEWSTATEGENERATOR参数。


2.发送下一个请求传入配置信息,使用POST方法请求/SetupWizard.aspx/,发送上一步获取的数据VIEWSTATE和VIEWSTATEGENERATOR参数进入下一步,获取新的VIEWSTATE1和VIEWSTATEGENERATOR1参数。



3.使用POST方法请求/SetupWizard.aspx/,发送上一步获取的数据VIEWSTATE1和VIEWSTATEGENERATOR1参数以及要添加的用户名和密码新增用户。在这里,我设置的是用户名密码:test2024/test@2024 邮箱为:test2024@test.com

4.使用POST方法尝试登录新增的用户
/Services/AuthenticationService.ashx/TryLogin
5.发送登录用户名和密码,返回200状态码且响应内容为1且响应头有Set-Cookie: .ASPXAUTH相关字样,即为成功设置新用户

即可证明存在漏洞CVE-2024-1709
0x02 结合CVE-2024-1708,上传webshell
1.成功设置新用户后,访问/SetupWizard.aspx/Administration(由于环境不是正常的,所以需要加上/SetupWizard.aspx/才能利用)获取antiForgeryToken防伪造令牌和session,使用Authorization字段传递用户认证信息

2.使用antiForgeryToken令牌和session发送POST请求,上传shell文件,使用随机生成的plugin_guid和payload_ashx构造恶意插件生成resources.zip,使用base64编码发送,返回文件id
/Services/ExtensionService.ashx/InstallExtension
3.发送插件安装请求,安装包含shell文件的插件资源。

4.成功返回id后,即可以到初始安装的本地的文件目录:App_Extensions下自动生成了刚才获取到的id为文件夹名的文件,其目录下有两个文件payload.ashx,Manifest.xml,则漏洞利用成功

5.上传成功后,即通过即可访问webshell路径
http://192.168.83.1:8040/App_Extensions/d8bfda27-e806-9d08-f4e9-3dcaff2906e0(刚才上传的ID)/yiivpaau.ashx
执行命令的话,在后面加上
http://192.168.83.1:8040/App_Extensions/d8bfda27-e806-9d08-f4e9-3dcaff2906e0(刚才上传的ID)/yiivpaau.ashx?cmd=需要执行的命令
但是!!!!由于我们的环境不是正版的,无法访问到该目录到呜呜,所以也只能到此为止了,但也是在本地的话能证明存在漏洞的了
6.后续如果需要删除该文件的话,在保持登录情况下,发送id就可卸载插件,删除webshell文件了
/Services/ExtensionService.ashx/UninstallExtension

0x07 漏洞影响
通过以上过程,我们可以看到该漏洞危害极大,且该漏洞利用难度也极低,可以通过脚本一键获取webshell,无需其他操作。且目前已经有相关勒索组织在利用该漏洞进行勒索了,所以有相关组件的用户,应该及时进行修复,避免后续遭利用。
版本排查:在浏览器访问首页,查看响应头server字段,即可以看到相关的版本信息

0x08 修复建议
1.升级版本
ConnectWise目前已为此提供了修复补丁,并表示所有23.9.7及以下版本的ScreenConnect应立即更新, 该软件的云托管版本已经自动完成修补,但运行自托管版本的用户仍需要手动更新到23.9.8。
补丁链接:https://screenconnect.connectwise.com/download
2.临时措施:
暂无
0X09 参考链接
官方通告
勒索相关情报
漏洞验证相关POC
本地验证版POC
0x010 免责声明
本文所涉及的任何技术、信息或工具,仅供学习和参考之用。
请勿利用本文提供的信息从事任何违法活动或不当行为。任何因使用本文所提供的信息或工具而导致的损失、后果或不良影响,均由使用者个人承担责任,与本文作者无关。
作者不对任何因使用本文信息或工具而产生的损失或后果承担任何责任。使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范。