
攻击者针对AhsayCBS备份服务器发起漏洞利用攻击,植入多类webshell,将加密代码隐藏在PNG图片内,还部署了仅能在目标主机上运行的Python植入物。
调查显示,此次入侵的活动范围不止加密货币挖矿,攻击者还搭建了多条持久化访问通道,可长期控制负责保护企业备份数据的核心系统。
此次攻击发生在2026年10月8日至11日,当时厂商尚未发布热修复补丁,共造成某企业的3台AhsayCBS服务器失陷。
攻击者利用了两个漏洞:其一是身份绕过漏洞(CVE-2026-105133);其二是远程代码执行漏洞(CVE-2026-105134),未授权攻击者利用该漏洞可直接获取SYSTEM权限。两个漏洞组合利用,不仅攻破了备份平台本身,还导致平台持有的敏感访问权限完全暴露。
Huntress研究人员在调查过程中,共识别出5类webshell、第二个加密货币挖矿程序,以及一个与主机绑定的Python植入物。
11月9日发布的技术报告中,研究人员Jonathan Semon介绍了攻击者使用的工具集:这些工具可隐藏执行的命令、支持文件传输,还能主动削弱端点防护能力。
不过研究团队尚未确认所有载荷的具体行为,也无法证实攻击者是否窃取了备份数据。
植入多类webshell,借助PNG隐写伪装正常流量
其中最具特殊性的一类webshell伪装成内部图片预览服务。它不会接收明显的命令参数,而是处理用户上传的PNG文件,从像素数据中提取隐藏信息。
这种手法与此前其他攻击活动中披露的PNG恶意软件隐写技术相似,但Huntress并未将此次入侵归因于那些活动的运营者。
加载器会读取每个像素红、绿、蓝通道值的最低有效位,将这些位拼接重组为字节,先解析出4字节的载荷长度字段,后续即为加密的载荷内容。
加载器内置硬编码AES密钥,使用Java默认的AES转换模式解密数据,Huntress确认该模式为ECB模式搭配PKCS5填充。
首次收到请求时,自定义Java类加载器会将解密后的类加载到内存中,同时返回一张用于伪装的正常图片。后续请求会将参数传入该类并触发代码执行。
执行结果会被加密后嵌入另一张PNG图片返回,让整个交互过程看起来和普通图片流量无异,而非传统的命令控制会话。
这种技术的隐蔽性极强:可执行代码完全通过正常请求传递,且全程在内存中运行,不会落地文件。此前Earth Sirrush组织的PNG隐写攻击活动表明,这类图片隐藏技术也被用于间谍行动,但二者仅手法相似,不足以证明存在关联。Huntress仅分析了该加载器本身,未获取到其投递的恶意类,因此目前尚不清楚攻击者通过该webshell执行过哪些命令。
植入物执行流程,经静态分析还原(来源:Huntress)

研究人员还发现了另一款行为类似远程管理API的webshell。它会先校验API令牌、时间戳、随机数以及HMAC-SHA256签名,校验通过后才会接收请求。
通过校验后,攻击者可以执行命令、切换目录、分块传输文件,最大支持4GB的文件传输。不过Huntress未找到相关日志,无法证明攻击者曾使用过该webshell的下载功能。
部署主机绑定后门,安装补丁仍需排查入侵痕迹
另一款独立的Python植入物采用了多层隐藏机制。其包装程序结合了Base64编码、LZMA压缩以及序列化的Python代码对象。
运行前,它会根据主机的MachineGuid计算SHA-256值,并检查主机上是否存在匹配的标记文件。如果没有该文件,脚本就会直接退出,以此避免在分析人员的沙箱环境中运行。
如果标记文件存在,代码会将一段673KB的二进制块复制到可执行内存中并启动线程。随后反射式加载器会映射程序内置的x64 DLL文件。
静态分析发现了C2通信信息以及符合DNS-over-HTTPS特征的字符串,但Huntress既未观测到该植入物实际运行,也无法确定其所属的恶意软件家族。
攻击者还部署了XMRig挖矿程序,创建了以SYSTEM权限运行的计划任务,每分钟检查一次程序状态,必要时会自动重启挖矿进程。
攻击者还投放了隧道工具、远程访问软件,并添加了大范围的Microsoft Defender排除项,既拓展了操作渠道,也大幅降低了失陷服务器上的安全可见性。
在一台关联的Veeam服务器上,调查人员发现了与NetExec凭证窃取模块特征一致的命令。该命令会查询本地存储的备份凭证,并调用DPAPI解密获取凭证明文。
此前已有多篇报告披露Veeam备份凭证泄露风险,解释了这类环境为何成为高价值攻击目标,但本次入侵的初始入口并非该Veeam漏洞。
Ahsay已针对10版本发布热修复补丁10.3.4.45,针对7至9版本发布热修复补丁9.15.2.70。Huntress验证确认,10版本的补丁可有效阻断此次攻击中观测到的入侵入口。
需要注意的是,安装补丁无法清除服务器上已存在的后门。受影响企业应全面排查服务器上的可疑活动、未授权的防护排除项以及各类持久化机制。如果确认服务器已失陷,Huntress建议从可信备份重建系统,并轮换所有可被失陷服务器访问的凭证。
公开攻击失陷指标,支撑企业开展威胁排查
| 类型 | 指标值 | 说明 |
|---|---|---|
| C2域名 | creepexplosiondarknight[.]com | Python植入物使用的C2基础设施 |
| C2地址 | hxxps://creepexplosiondarknight[.]com/d | DLL中内置的连接端点 |
| 挖矿基础设施 | pool.supportxmr[.]com:443 pool-fr.supportxmr[.]com:443 104.243.43[.]115:443 | 挖矿程序配置的矿池连接地址 |
| 挖矿钱包地址 | 83YFdNe2X8KhKnAERfr2hmN8L3tCKatsheuViWhF6qp2ZA4R8rRkBCgMknEycYqasNbX7C5BSrTp97zHUsUHJoZrR6f5SeX | 观测到的攻击者门罗币收款钱包 |
| 挖矿连接密码 | zero | 挖矿程序配置项参数 |
| 挖矿程序路径 | C:\Windows\SysWOW64\kvm-agent\kvm-agent.exe | XMRig可执行文件存放位置 |
| 计划任务名 | kvm | 以SYSTEM权限每分钟运行的挖矿持久化任务 |
| 挖矿程序SHA-256 | 8245c7e7d944923f1608592f6c3473dcc6e3a3e43df3dd1c6257e7880948787b | 对应 kvm-agent.exe 文件 |
| 配置文件SHA-256 | a87002c32723f1849b3ad17b1fe6da732c9810b54b08501be21f5b1fcd882a59 | 对应挖矿程序 config.json 配置文件 |
| 计划任务XML SHA-256 | f76dae028e0c43248c128b3bf609e8d660ce0bf44b53ab9e097887e6f5206eb5 | 对应挖矿程序持久化任务配置 |
| Python加载器SHA-256 | 8aac187bae71f75fa2dde03dcb4a9279c982182ee8254ae96e7a6626fe4c7617 | 对应 main.py 加载器文件 |
| 解码后载荷SHA-256 | 91b3cc9d6421b651ec85a16062af3ba26700dad2eea4a8a7e42fdd2e422f8803 | 对应序列化Python代码对象 |
| 内置二进制块SHA-256 | 6953618238eb40f45b584e52aca22cebbe8ba03e9a80c15c6b593f51f7e49527 | 对应引导程序、DLL及加载器组件 |
| DLL文件SHA-256 | bb2472cf5dc7e5c94216d355bf84fba2c8d088d03d61a1ac0d78639049cf5e1f | 对应内置的x64 DLL文件 |
| 反射式加载器SHA-256 | e79c91e8157fef862be8cbe80bdf57b87a541416717265f81f669d751fca4a3d | 对应加载器尾部组件 |
| PNG加载器SHA-256 | 6c7a4061bcf08df5fe4a49d37442dc650d751be1a91a8bc802edff213e4d5e61 | 对应 webapps\rps 路径下的 AhsayCBS.jsp 文件 |
| PNG加载器硬编码值 | AES密钥: 3c6e0b8a9c15224a 应用属性: QuCh | 加载器内置的固定配置参数 |
| 带签名webshell SHA-256 | 6c695baad1d81ed49194d07a79381292c0466208ff1a9862c0c55f971d6a409f | 对应 webapps\rps 路径下的 nsmind.jsp 文件 |
| API令牌 | NS_f1ChEBy4SCYGyIDkYcsWOivwtWyXt5il | 带签名webshell的认证凭证 |
| HMAC密钥 | NS_aAXMPsB8zsMdkVbjTp6zicnj9w8Hkaew | 请求签名使用的密钥 |
| 带密钥webshell SHA-256 | e6e576a634166a16bdbfc09b14e7cf8eab90015d2dfa67dd73f3968ee869229b | 对应 a2b59a4bb296604b.jsp 文件 |
| 密钥型shell认证值 | 323ced5cf1f4P 、 12cd58cda26eP 、 232e4490b603P 、 6285464221f1P 、 be115f87eeeeP 、 fcd82493f072P 、 907936468353P 、 5a5f101c0b95P 、 61fb05ae8043P 、 b97484f05302P 、 f41488204365P 、 490909ce85c8P 、 7f5b08e99153P 、 d6809ec4f4c9P 、 908147ad2a6cP 、 ccd4e0ca2eb3P 、 9bf5d40f7ca6P 、 d00a5c6cbce5P 、 be4f92982444P | 通过参数 p 传入的合法认证值 |
| 状态shell认证值 | nobody 、 mysecret123 | 固定的认证字段值 |
| 状态shell SHA-256(nobody密钥) | 7a13e59d816d68a071a8648e62a7c3c7f929a61c618a2133ab6f511da24f979d | 对应使用 nobody 作为认证值的shell |
| 未授权访问shell SHA-256 | 875d0986ddaa51bfb5e03b06df1213cc3bb7966588d6153bdda57f2e3671e986 | 对应 st_ 前缀的未授权shell |
| 早期版本shell SHA-256 | 818bb464271a539c96bcbbfea1db7d5a722512041ed8ed10d3f6c7f366190044 | 支持命令执行、文件删除、自删除功能的shell |
| 主机绑定状态shell认证值 | acbe51127a7e4a3b8f7cde6e857b5e4d d650dd0fc643fadabe5f41b94c7826d5 ee808b1dac987d19b1b864f18538116f 82e58ea5839581846e19be5d0c414436 c048c97c8160fb2df89e217d475c50b4 db64a245782d2d619d10eae73ef0f196 1b755d215b43b8e7da25a80386493568 7d33dc36088a8c20ee109f33d01d63c7 d5f0289bf84876023eb6ccdc92ddb05a 3b44593c393edff904c99fbdea0ea90c f4f9b5b4836090e26a6ec717b26db7c8 38d0eff2318a20a88175704af57d1bc4 2df09294da360fffd01142f29b17c6cd 07043828c4e2c55eaf2be9e6cb7205cc f08fc3eea3db76e7ba45cda42de5cafa 4126a061ddda3f433da5def0a7c79955 7de8cd835a7f6400bbb01d8b78bfc811 7dd5c4a904893cad2b757205dc224014 208143f41c1d6148842b7ed5d817f122 310161c45b193e923c8c99e0c21a2a0c | 对应 status_*.jsp 类shell的认证值 |
| gost工具SHA-256 | 6f6b66cbdc4a5aa5685d0017abd3f65843a28bcc2bb4e5b78d6d12a844a51aa8 | 对应隧道工具gost |
| chisel工具SHA-256 | ca5f8e5247f1a044b8be45ef03187726b9af3ac30fd93fb5bb54144e34ed3738 | 对应隧道工具chisel |
| 隧道工具投放规则 | .st<id> 、 wust<id>a.exe 、 wust<id>b.exe | 投放阶段使用的文件夹命名、工具重命名规则 |
注:文中IP地址和域名均已做去激活处理(如使用[.]替换原有点号),防止意外解析或触发超链接。请仅在MISP、VirusTotal或内部SIEM等受控威胁情报平台中还原地址后使用。
Hackers Exploit AhsayCBS Vulnerabilities to Hide Malware in PNG Images and Deploy Stealthy Backdoors