文章总结: CavernC2框架利用GoogleAppsScript和MicrosoftGraphAPI等合法服务实现隐蔽通信,通过DNS动态路由和日历事件进行指令下发与数据外传,采用插件化架构和DNS隧道刷新OAuth令牌。文章还提及APT42组织利用AI加速攻击。建议加强API行为基线检测和DNS深度包检测。 综合评分: 88 文章分类: 恶意软件,威胁情报,红队,渗透测试,漏洞分析
流量隐蔽新姿势:深入剖析Cavern C2的DNS与API滥用技术
原创
Kit Chung Kit Chung
安全圈动向
2026年8月20日 08:00 广东
在小说阅读器读本章
去阅读
大家好,今天咱们来聊点硬核的。
搞过红蓝对抗或者渗透测试的兄弟都知道,现在做 C2(命令与控制)通道是越来越难了。常规的 HTTPS 回连或者普通的域名 DGA,在各种次世代防火墙和态势感知平台面前,基本就是“裸奔”。
但最近,伊朗背景的 APT 组织(疑似 OilRig/APT34 的分支 Cavern Manticore)掏出了一套堪称“教科书级别”的流量隐蔽骚操作。这帮人不仅把 C2 流量完美混入了 Google 和 Microsoft 的合法服务里,还玩了一手极其优雅的 DNS 路由调度。
今天,我们一起来深扒一下这个名为 Cavern 的 C2 框架,看看高阶黑客是如何在实战中把白加黑和 API 滥用玩出花来的。安全圈的兄弟们,搬好小板凳,咱们直接发车!
🛠️ 骚操作一:用 DNS A 记录动态路由 + Google Apps Script 做中转
常规的 C2 通信往往是直接连向攻击者的公网 IP 或域名,这太容易被溯源了。而 Cavern 框架引入了一个非常惊艳的新通信模块——GoogleService.dll。
这个模块的运行逻辑是这样的:
-
读取配置
首先从磁盘读取本地配置文件
conf.json。 -
DNS 路由探针
重点来了!它不会直接发请求,而是先发起一次 DNS A 记录查询。
-
动态分流
根据 DNS 返回的结果,木马会在“直连 HTTPS”和“Google Apps Script (GAS) 中转”两种模式之间做选择。
💡 技术深度解析:为什么这么玩?
如果木马选择了 Google 模式,它会把所有的 C2 数据包发送给一个 Google Apps Script 部署点。这个合法的 Google 脚本其实是一个“反向代理”,它再把流量转发给攻击者真正的后端服务器。
最妙的地方在于:攻击者利用同一套 DNS 基础设施,就能验证并动态替换 Google 脚本的 Deployment ID。这意味着什么?这意味着如果防守方封禁了当前通信的 Google 脚本,攻击者完全不需要修改受害者机器上的木马,只需改一下 DNS 记录,木马就会自动无缝切换到下一个备用的 Google 通道。这种“白利用 + 动态轮换”的机制,极大地增加了网络层的检测难度。
📅 骚操作二:微软日历变成“双向死信箱” (HOLLOWGRAPH 模块)
如果你觉得滥用谷歌脚本已经够花了,那 Cavern 里的另一个核心模块 HOLLOWGRAPH 绝对能让你惊掉下巴。
这个模块盯上了 Microsoft 365。它利用被窃取的微软 Entra ID (原 Azure AD) 凭证,通过合法的 Microsoft Graph API,把受害者的 Exchange 日历变成了一个“隐蔽的网盘”和“指令下发中心”。
它是怎么实现数据交互的呢?
-
下发指令 (Tasking)
攻击者把远控指令封装好,作为“日历事件”添加到用户的日历中。
-
数据外发 (Exfiltration)
木马把受害者机器上的敏感文件打包加密,然后自己创建一个新的日历事件,把窃取的数据作为附件传上去。
为了防止受害者在查看自己日历时发现异常,这帮黑客做了一个极其细心(且阴险)的设定:他们把所有恶意日历事件的日期,都设置到了遥远的 2050 年 5 月 13 日! 除非你闲得蛋疼去翻 20 多年后的日程,否则你根本察觉不到邮箱里正疯狂跑着 C2 流量。
🔄 难点攻克:用 DNS 隧道刷新 OAuth 令牌
搞过 Graph API 开发的兄弟肯定知道,微软的 OAuth 访问令牌(Access Token)是会过期的。令牌一过期,C2 岂不是就断了?
为了解决这个持久化访问的问题,HOLLOWGRAPH 模块引入了 DNS 隧道。当木马发现访问令牌即将失效时,它不会走常规的网络请求去刷新,而是通过隐蔽的 DNS 隧道与 C2 交互,获取新的 OAuth 刷新令牌,并将其静默写入磁盘上的文本文件中。这种绕过传统身份验证监控的做法,展现了极高的规避技巧。
🧩 优雅的插件化架构:rnp.dll 消息总线
除了上面两个神仙模块,Cavern 框架在底层架构上也下足了功夫。
他们开发了一个名为 rnp.dll 的组件。这玩意儿相当于一个本地的消息代理:
- 它负责在受害者机器上发现并动态加载其他的 DLL 组件(比如上面提到的文件操作、SQL枚举、AD侦察、LDAP爆破、SOCKS5 代理等模块)。
- 它充当“总线”,在各个模块之间路由消息。
- 支持热更新 (Runtime Upgrades),木马无需重启即可实现功能迭代。
这种插件化架构(Plugin-based system)在近期的 APT 攻击中越来越普遍,它让攻击武器变得像微服务一样灵活。
🤖 附赠情报:APT42 卷土重来与 AI 武器化
顺便提一嘴,除了 Cavern 框架,最近另一个伊朗组织 APT42 也非常活跃。他们主要针对核能领域的专家进行鱼叉式钓鱼攻击,手法是把恶意 LNK 文件伪装成 PDF。
他们投递的远控叫 TAMECAT,同样是一个模块化的信息收集框架,专门用来抓浏览器 Cookie、截屏以及拖走 Outlook 的 .ost 邮箱数据。
值得警惕的是,APT42 已经开始深度应用生成式 AI (AIGC) 了。 不管是开发专用工具、研究漏洞利用、小语种翻译,还是做前期的社工侦察(比如找关键人物的官方邮箱),他们都在用 AI 加速攻击流程。现在的 APT,不仅有耐心,还有了 AI 的算力加持,防守方的压力真的是肉眼可见地变大。
💡 总结与思考
复盘完 Cavern 和 TAMECAT,我们能得出什么结论?
-
“白加黑”进入深水区
未来的 C2 流量将越来越多地隐藏在 Google、Microsoft、AWS 等云厂商的合法 API 中。依靠简单的 IP/域名黑名单已经防不住了,必须基于 API 调用行为和基线进行异常检测。
-
DNS 依然是重灾区
从路由分发到令牌刷新,DNS 协议被黑客玩出了各种花样。加强内网 DNS 流量的深度包检测(DPI)势在必行。
好了,今天的技术拆解就到这里。如果你觉得这篇文章对你有启发,欢迎点个在看或者转发给团队的兄弟们一起避坑。
咱们下期技术硬核分享,不见不散!Peace ✌️
APT攻击 #Cavern框架 #红蓝对抗 #渗透测试 #网络安全 #流量分析 #DNS隧道 #GraphAPI #GoogleAppsScript #恶意软件分析 #网络攻防
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈动向 Kit Chung Kit Chung《流量隐蔽新姿势:深入剖析Cavern C2的DNS与API滥用技术》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论