漏洞
Ahsay 备份服务器里的假 Edge
AhsayCBS 的两个漏洞已被串联利用,攻击者把备份服务器变成运行挖矿程序的主机。曾被列为安全版本的 10.3.4.0 仍受影响,厂商现要求安装新的热修复。新补丁针对认证绕过入口,已经遭入侵的主机还需要排查和清理网页后门。

文章导航
任务管理器一打开,挖矿程序就停下。窗口关掉,它又继续运行。Huntress 在这轮 AhsayCBS 入侵中发现的 PowerShell 脚本,专门盯着这个窗口调整服务状态。伪装成 Edge 的程序藏在临时目录里,给它发起下载命令的却是备份服务进程。
AhsayCBS 是管理用户、备份策略和复制任务的服务器软件,常由托管服务商和系统集成商使用。这类主机需要长期运行,也往往握着恢复业务所需的配置。攻击者取得它的执行权限后安装了矿工和网页后门。对管理员来说,眼前的 CPU 占用只是最容易看见的症状,备份控制端是否还能信任才是接下来要解决的问题。
截至 10 月 13 日,Ahsay 的最新要求已经明确:v10 使用 10.3.4.45 热修复,v7、v8、v9 按厂商路径使用 9.15.2.70,安装后重启服务器。原先的 10.3.4.0 和 9.15.2.59 未完整处理这两个漏洞。先限制管理接口的外部访问,再完成适配本机基础版本的修补,是现在可以直接做的事。此前出现入侵迹象的主机还需要单独调查和恢复。
1 “已经更新”在几天内变了含义
这次很容易让人看错的地方是版本。10 月 4 日公开的两个 CVE 记录,把 10.3.4 写成修复版本。Huntress 从 10 月 7 日 23:20:15 UTC 开始看到利用活动,次日进一步确认 10.3.4 也受影响。厂商 10 月 9 日的澄清仍说 10.3.4.0 可以抵挡未认证的远程利用,10 月 10 日改为承认修复不完整,并给出新的 v10 热修复。10 月 12 日的更新又补齐了旧分支的修复路径。
截至本次核对,NVD 的认证漏洞记录及代码执行记录仍保留“升级到 10.3.4”的旧描述,最近修改时间停在 10 月 6 日。资产清单若只按这条描述判断,很可能把仍受影响的版本划出修补范围。当前动作应跟随 10 月 12 日厂商公告,保留完整四段版本号,不能把 10.3.4.45 简写成 10.3.4。
Huntress 的 10 月 12 日更新称,其已独立验证 10.3.4.45 能阻断这条攻击链的初始入口,即认证绕过。这个结果能够支持尽快部署该热修复。补丁包需要合作伙伴登录才能下载,公开页面没有给出完整差异,因此不能据此描述每个内部写文件分支怎样修改。已落在应用目录里的网页后门,也需要按入侵遗留物另行处理。
2 页面上的一个值,绕过了凭据检查
CVE-2026-105133 的入口在 API 认证。研究者 Armadin 公布的反编译分析定位到 cbs.jar 中的 com/ahsay/obs/api/ApiStructsAction.java,函数是 checkSysPwd()。它原本负责检查系统用户和密码,里面却保留了一条可提前返回的分支。
函数从请求 JSON 读取 SysUser 或 SysPwd 发生异常时,这条分支会比较请求里的 Random 与服务端的 RANDOM_UI_STR。只要值相等,函数直接返回,后面的正常凭据校验就被跳过。这个值在类加载时由随机数生成器产生,在该应用进程的生命周期内保持不变。
随机数生成器并没有在这里解决身份问题。未经登录也能访问的 /cbs/mfa/mfa.jsp,会把同一个值放进返回的 JavaScript。服务器一面把它交给访客,一面又用“能提供这个值”决定是否省略凭据检查。拿到页面内容的人因此能够进入原本需要凭据的 API 路径。Armadin 的公开记录包含正常未认证请求被拒绝、带上该值后创建账户成功的对照。
重启会重新生成进程级的值,公开页面仍会给出新的值,所以重启本身不能替代修补。只给正常登录流程加上更强的密码或 MFA,也没有改掉这个提前返回分支。这次热修复的价值就在于关住绕过正常认证的路径。
3 复制文件的目录,变成了执行代码的目录
越过认证后,攻击者能够操作复制接收端配置。CVE-2026-105134 涉及 /rps/api/json/UpdateReceivers.do。复制接收端本来要把另一台服务器送来的文件落到指定位置,配置中的 SystemHome 决定这个位置。Armadin 在测试中将它指向安装目录下的 webapps/cbs,也就是正在提供服务的 CBS 应用目录,随后借文件同步接口 /rps/obs7/rpsfile/upload 写入 JSP 文件。
改完管理 API 配置后,文件同步请求仍带有独立的用户名和认证字段。公开片段隐去了部分凭据,完整同步鉴权实现没有公开。这次上传之后,研究者请求了写入的 JSP。JSP 是服务器处理的网页代码,落到应用可执行的位置,就能由服务器运行。Windows 测试返回了 NT AUTHORITY\SYSTEM,将文件写入和服务身份下的代码执行接在了一起。普通备份文件留在数据目录时,没有这一步网页执行。
这也解释了 Huntress 为什么从 cbssvcX64.exe 的异常子进程发现问题。CBS 的 Tomcat Web 应用运行在服务进程里,网页后门启动的命令会作为它的子进程出现。父进程看起来属于备份产品,子进程的动作却已经超出了备份任务。
这里有两道可以分别约束的能力:谁能改接收端配置,接收端又能把内容写到哪里。公开验证确认新 v10 热修复挡住了第一段认证入口。长期设计还应把复制数据落点与可执行 Web 目录隔开,并让接收端的写权限收束到备份用途。具体实施需要核对产品支持的配置,不能在生产机上随意移动目录。
4 假 Edge 怎样在主机上留下来
在 Huntress 观察到的若干入侵中,edge.exe 实际是 XMRig 挖矿程序,消耗服务器 CPU 为操作者挖门罗币。msedge.exe 则是修改过的 NSSM 服务管理工具。攻击者把二者放在临时目录,创建名为 MicrosoftEdgeUpdateSvc 的服务,以 SYSTEM 身份运行。NSSM 可以把其他程序作为服务运行,并在程序退出后重启它。Huntress 判断,攻击者很可能借这项能力维持矿工运行。名称借用了浏览器的熟悉感,持久化则落在 Windows 服务上。
Taskgmr.ps1 又给这层持久化加了遮掩。脚本看到任务管理器时停止采矿服务,窗口关闭后重新启动。它还会在本机时间 18 点结束任务管理器进程,夜间窗口持续打开超过一小时也会触发同样动作。一次打开任务管理器后 CPU 占用下降,在这轮活动里恰好可能是脚本的响应。Huntress 另外看到一个案例下载了 WinRing0x64.sys,用于矿工的底层硬件访问。该驱动有合法用途,单独出现并不能确认这条攻击链。
调查因此需要把文件、父子进程、服务配置和时间接起来。临时目录中的 Edge 名称、指向它的服务路径、备份进程启动下载工具的记录,比“主机上有一个浏览器进程”具体得多。Huntress 截至 10 月 8 日看到五家组织被针对,这个数字描述其观测范围,没有覆盖所有 Ahsay 用户。
其固定版四条 Sigma 规则分别检查异常子进程、假 Edge 特征、任务管理器与服务控制的组合,以及带网址的 WinRing0 下载命令。PowerShell 规则在同一个脚本块中寻找 taskmgr、Stop-Service 和 Start-Service,服务改名后这些动作仍然值得查。
异常子进程规则排除了若干产品子进程,也用带首尾约束的正则放行常见启动、维护和备份命令。启动探测后面若再接一条命令,就不再符合那条启动例外。把它简化为“允许备份服务调用命令解释器”,会把本来需要调查的动作一起放过。规则仍标为 experimental,需要先核对日志是否有父进程、命令行和脚本块字段,再用本机正常任务调整误报。
5 先修入口,再判断这台备份服务器还能否使用
修补时应把管理接口限制在可信地址或 VPN 后面,同时确认备份客户端和复制任务所需的流量没有被误伤。厂商的热修复指南要求匹配基础版本、先确认没有运行中的任务,再停止 CBS 与 NFS 服务,按包内路径覆盖相关文件,最后检查产品完整版本。本次安全公告还明确要求重启。10 月 12 日公告把 v7、v8、v9 用户统一指向 v9 热修复入口,通用指南同时要求包与基础版本匹配。旧版本用户应请支持方确认当前安装适用的包和前置步骤,不能把 v9 的文件直接盖到任意旧安装上。
安装结束后,核对实际运行实例的完整版本和启动日志,再做一次备份、复制与恢复检查。失败时可以使用预先保留的配置和程序副本恢复服务,但受影响旧程序只能在隔离访问的状态下用于应急,不能当成已经修复的公网回滚目标。停机或重启会影响任务,安排时应先让进行中的工作正常收束。
如果已经发现网页后门、异常服务或相应执行记录,就进入另一类处置。先保留日志、文件与服务信息,确认异常活动最早出现在哪个时间,再从可信来源重建受影响主机。Huntress 对发现本轮 IOC 的客户也建议完整重装恢复,因为攻击者可能留下其他入口。用于重建的程序和配置要经过复核,恢复点早于已知恶意文件仍不足以单独证明它可靠。
先在隔离的重建环境里恢复一份已核验的数据,检查访问权限和业务结果,再让新的控制端接管备份任务。恢复出来的内容与负责恢复的服务器,都需要经得住这次检查。