news 2026/10/15 18:15:07

Viper 借助腾讯云函数隐藏 C2 上线 Meterpreter 实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Viper 借助腾讯云函数隐藏 C2 上线 Meterpreter 实战指南
  • 文档
  • 教程
  • 网络安全

【免费下载链接】Viper

Adversary simulation and Red teaming platform with AI

项目地址:https://gitcode.com/gh_mirrors/vip/Viper
点击查看免费下载

本文介绍如何以腾讯云 API 网关(云函数)为 Viper 的 meterpreter payload 提供 HTTPS 反向代理转发,实现隐藏 C2 的完整上线流程。文章覆盖 Viper 监听配置、腾讯云 API 网关搭建、载荷生成与运行上线四个核心环节,并补充云函数上线原理、常见坑位与对抗域名封禁的进阶技巧,读者完成后即可独立复现"云函数隐藏 C2 + Meterpreter 上线"的完整链路。原始教程见 docs/zh/training/cloud_function_online.md。

为什么需要"云函数上线"

在攻防对抗与红队评估中,隐藏 C2 服务器是避免被溯源的关键环节。当前网络上关于云函数上线的公开资料绝大多数针对 Cobalt Strike,而针对 Metasploit / Viper 的完整教程相对稀缺——这也是本仓库教程文档(cloud_function_online.md)诞生的背景。

从原理上看,云函数上线并不复杂:把腾讯云 API 网关当作一个 HTTPS 反向代理。目标主机上的载荷并不直接连接 Viper 监听的真实 IP,而是连接云函数提供的公网域名*.apigw.tencentcs.com,云函数网关再根据请求头把流量转发到 Viper 监听所在的服务器端口。这样目标网络只能观测到与腾讯云之间的 HTTPS 流量,Viper 服务器的真实地址被隐藏。

相比 CDN 方式(参考 使用 CDN 上线 meterpreter),云函数无需购买域名、配置解析和 CDN 加速,创建后直接获得公网访问域名,在方便性与速度上都有优势。

第一步:在 Viper 中配置监听(Handler)

登录 Viper 控制台,进入"监听"页面,点击新建监听,按如下要点配置:

配置项取值说明
监听类型meterpreter_reverse_https必须选择该类型,不能选择meterpreter/reverse_https
LHOSTViper 所在服务器的 IP 地址后续云函数后端将指向该地址
LPORT建议443或8443等常用端口常用端口更不容易被出口网络屏蔽
LURI留空云函数转发链路不需要 URI 分发
证书文件留空由云函数网关负责 TLS 终结,Viper 侧不再额外配置证书

监听创建界面参见docs/zh/training/img/cloud_function_online/1.webp,关于 LURI 与证书必须为空的提示参见docs/zh/training/img/cloud_function_online/2.webp。

为什么必须是 meterpreter_reverse_https

这是整个方案最容易踩的坑。仓库配套教程 如何在 MSF 中高效的使用云函数 给出了明确解释:

  • meterpreter/reverse_https(带斜杠的经典类型)需要通过网络传输 stager,stager 内容在经过云函数转发时会发生编码转换,导致 stager 加载失败;
  • meterpreter_reverse_https(无斜杠的单阶段类型)已经将 stager 内置在 exe 文件中,载荷运行时直接发起完整会话,不受云函数转发影响。

因此云函数方案只支持meterpreter_reverse_http(s)这类单阶段监听类型。

关于虚拟监听

如果暂时不想在服务器上建立真实监听(例如仅用于生成载荷),可以参考 监听载荷 中的"虚拟监听"功能:虚拟监听将监听配置缓存在系统中、不建立实际网络监听,可用于快速生成载荷,且与真实监听可相互转换。云函数上线通知配置教程中也提到,可通过相关模块便捷生成"云函数虚拟监听"用于生成载荷(见 云函数上线通知配置方法)。

第二步:配置腾讯云 API 网关

新建服务与 API

打开腾讯云 API 网关控制台页面(https://console.cloud.tencent.com/apigateway/service?rid=1),新建一个 API 网关:

  1. 服务类型选择公网;
  2. 进入新建的服务,创建一个通用 API;
  3. 关键配置项如下表:
配置项取值说明
请求方法ANYmeterpreter 使用GET 请求获取命令、POST 请求回传结果,必须允许所有方法
后端类型云函数/HTTP 均可本教程使用 HTTP 后端指向 Viper 监听
后端域名Viper 监听的 IP 地址 + 端口即第一步中 LHOST:LPORT,协议选择HTTPS
后端路径/后端路径填写为根路径
响应结果类型BINARYmeterpreter 上传/下载文件时传输的是二进制数据,不能使用文本转换

创建服务与 API 的界面参见docs/zh/training/img/cloud_function_online/3.webp、docs/zh/training/img/cloud_function_online/4.webp,后端域名配置参见docs/zh/training/img/cloud_function_online/5.webp。

记录云函数公网地址

生成完成后,点击对应的 API 获取详情,页面会展示该 API 的公网访问地址(云函数 Web 地址)。例如样例中为:

service-6abofmuc-1256520000.gz.apigw.tencentcs.com

务必记录下这个云函数地址,后续生成载荷的 LHOST 就是它。地址详情界面参见docs/zh/training/img/cloud_function_online/6.webp。

第三步:生成配套的载荷(Payload)

在 Viper 中打开生成载荷,配置如下:

配置项取值说明
LHOST云函数 Web 地址(如service-6abofmuc-1256520000.gz.apigw.tencentcs.com)载荷回连的目标地址
LPORT443固定填写 443,与云函数网关的 HTTPS 端口一致
LURI空与监听配置保持一致
证书文件空与监听配置保持一致
验证证书关闭关闭证书验证选项,避免 TLS 校验导致连接失败

配置完成后点击生成载荷,得到可执行的 exe(或按需选择 ELF/其他平台格式)。生成后可将其投递到目标主机运行。

载荷生成界面的完整截图参见docs/zh/training/img/cloud_function_online/7.webp;关于"LHOST 为云函数 web 地址、LPORT 为 443、LURI 与证书文件为空、关闭验证证书"的原始说明可直接在 cloud_function_online.md 中核对。

第四步:运行上线与验证

将生成的载荷上传到目标主机并执行,随后回到 Viper 的会话列表观察:

  • 如果配置正确,目标主机会出现一条新的 Session,连接来源显示为云函数网关 IP 而非目标真实出口 IP;
  • 运行上线的过程与最终会话效果参见docs/zh/training/img/cloud_function_online/8.webp、docs/zh/training/img/cloud_function_online/9.webp。

上线成功后,即可在 命令终端 中对 Session 执行 meterpreter 命令进行后续操作;也可以通过 主机&权限 页面管理会话、运行模块,或通过 内网路由 进行内网横向移动。

进阶技巧:对抗域名封禁与获取真实 IP

基础上线完成之后,仓库中的配套教程 如何在 MSF 中高效的使用云函数 还提供了两个实战中非常关键的进阶技巧。

对抗*.apigw.tencentcs.com域名封禁

防守方最常见的对抗手段是在行动期间直接封禁*.apigw.tencentcs.com这类云函数域名,禁止解析访问,或对云函数域名设置告警。对应的绕过思路是直接用 IP 连接、域名只放 Host 头:

  1. 通过公共 DNS 查询工具(如ping.cn/dns)输入云函数域名,查询到云函数网关的官方服务器 IP;
  2. 重新生成载荷:LHOST 填写该网关 IP(如140.143.51.244),HttpHostHeader填写为云函数域名;
  3. 运行上线。

其原理是:云函数网关在转发 HTTPS 请求时根据 HTTP 消息头中的 Host 字段进行路由。因此把云函数域名填进 Host 头、把请求通过 IP 方式直连网关,依然能达到反向代理的效果。这种方式下载荷不会访问*.apigw.tencentcs.com域名,也不会在目标网络留下相关 DNS 记录,从而绕过了针对域名的封禁。

获取目标机的真实出口 IP

使用云函数隐藏 C2 时有一个固有缺陷:无法从 Session 的远端 IP 得知目标机的真实出口地址——Session 显示的 IP 固定为云函数网关 IP。这在广撒网钓鱼场景下尤为麻烦:C2 会收到大量来自云沙箱的 Session,难以判断哪些是有效目标。

解决办法是在 Session 内主动查询公网 IP,例如访问https://ifconfig.io/ip。仓库教程给出了对应的 PowerShell 示例:

$WebRequest = [System.Net.WebRequest]::Create("http://ifconfig.io/ip") $WebRequest.Method = "GET" $WebRequest.ContentType = "application/json" $Response = $WebRequest.GetResponse() $ResponseStream = $Response.GetResponseStream() $ReadStream = New-Object System.IO.StreamReader $ResponseStream $Data = $ReadStream.ReadToEnd() Write-Host $Data

上线自动通知

结合 云函数上线通知配置方法,还可以实现"Session 上线后自动把目标真实 IP 推送到手机"的完整闭环:

  1. 先在 Viper 中配置一个 Bot(支持钉钉、Server 酱、Telegram 等);
  2. 再配置"自动编排"规则,绑定会话上线事件;
  3. 之后只要有 Session 上线,就会自动将目标 IP 等信息通知到指定群/通道。

再配合 回连过滤 功能按地理位置、云厂商或沙箱 IP 过滤连接监听,可进一步降低云沙箱与分析测绘系统的干扰。

常见坑位与注意事项总结

  • 监听类型必须为meterpreter_reverse_https:经典meterpreter/reverse_https因 stager 需网络传输、会被云函数转发编码转换而加载失败;
  • LURI 与证书文件必须留空:监听与载荷两侧需保持一致,证书校验交由云函数网关处理;
  • LPORT 尽量选 443/8443:常用 HTTPS 端口不容易被出口网络屏蔽;
  • 生成载荷时关闭"验证证书"选项:避免 TLS 证书校验导致回连失败;
  • 响应结果类型选择 BINARY:meterpreter 上传下载文件依赖二进制传输;
  • 请求方法选择 ANY:meterpreter 的 GET(取命令)与 POST(回传结果)两种请求都必须被允许;
  • 后端路径填写/:确保所有路径请求都能转发到 Viper 监听。

延伸阅读

  • 监听载荷:监听类型、HTTPS 证书、生成载荷的完整说明
  • 如何在 MSF 中高效的使用云函数:云函数上线原理、对抗域名封禁与真实 IP 获取的深度教程
  • 云函数上线通知配置方法:上线自动通知的 Bot 与编排配置
  • 使用 CDN 上线 meterpreter:基于 CDN 的同类隐藏 C2 方案
  • reverse_dns 上线:DNS 隧道方式上线
  • 回连过滤:监听侧 IP/地理位置过滤,降低沙箱与测绘干扰
  • 文档
  • 教程
  • 网络安全

【免费下载链接】Viper

Adversary simulation and Red teaming platform with AI

项目地址:https://gitcode.com/gh_mirrors/vip/Viper
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 18:15:05

YOLOv4 cfg文件参数详解与训练调优实战指南

1. 为什么YOLOv4的cfg文件值得单独拿出来聊搞过目标检测的人都知道,YOLOv4这个模型在工业界和学术界都算是一个分水岭式的存在。它不像后来的那些端到端模型那样把配置全部藏在代码里,而是把大量核心参数暴露在一个.cfg文本文件中。这个设计看起来有点“…

作者头像 李华
网站建设 2026/10/15 18:11:50

MFC图像处理进阶:灰度化算法与DIB像素操作实战

作为系列第三篇,这篇总结我想把重点放在"图像灰度化/彩色化"这块。MFC里做图像处理,绕不开位图数据的直接操作,而灰度化和彩色化恰好是最能体现像素级处理基本功的两个方向。前两篇我整理过DIB显示框架和格式转换,这篇会…

作者头像 李华
网站建设 2026/10/15 18:11:25

Quartus原理图设计电子琴:基于分频系数的FPGA实现

简介:这是一套基于 Quartus 原理图设计方法实现的 FPGA 电子琴程序工程包,面向数字电路课程设计、FPGA 入门学习者以及电子音乐合成爱好者。工程以原理图输入方式,完整展现了音符频率生成器、定时计数器、控制器、DA 转换接口、乐曲存储等核心…

作者头像 李华
网站建设 2026/10/15 18:10:49

mvnd 0.7.1 实战指南:让 Maven 构建快两倍的守护进程方案

简介:mvnd-0.7.1-windows-amd64.zip 是专为 Windows AMD64 环境发布的 Maven Daemon 构建工具包,面向被 Maven 构建速度困扰的 Java 开发者、多模块项目维护者及持续集成调度场景。与默认的 Apache Maven 相比,mvnd 通过守护进程常驻 JVM、共…

作者头像 李华