☰
使用 Viper 克隆 HTTPS 证书:为 reverse_https 监听伪装合法 TLS 指纹
2026/10/14 16:10:38 网站建设 项目流程
  • 文档
  • 教程
  • 网络安全

【免费下载链接】Viper

Adversary simulation and Red teaming platform with AI

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

克隆目标网站的 SSL 证书,使 Viper 的 reverse_https 监听器复用真实网站的证书与密钥,可显著降低 C2 流量与握手特征被安全设备识别的概率,是红队模拟中常用的防御规避手段。本篇文章以 Viper 中的「克隆 HTTPS 证书」模块(DefenseEvasion_SubvertTrustControls_CloneSSLPem)为主线,讲解其操作步骤、证书与监听器的关联方式,并结合官方文档中关于证书配置、reverse_https 监听与国内云厂商流量监控的实战经验进行展开。

模块定位:Subvert Trust Controls 下的证书克隆

在 Viper 的模块体系中,「克隆 HTTPS 证书」归属于DefenseEvasion_SubvertTrustControls(破坏信任控制)分类,模块名中的CloneSSLPem直接点明其功能:将目标网站的 PEM 格式 SSL 证书克隆下来,供 reverse_https 类型的监听器使用。

从官方模块文档的定位来看:

克隆目标网站的 ssl 证书,可用于 reverse_https 类型的监听。

也就是说,该模块解决的核心问题是:当红队需要搭建一个 reverse_https 监听器时,如何获得一个"看起来正常"的 TLS 证书,而不是使用 Viper 默认的自签名证书(www.example.com.pem),从而降低网络侧检测设备通过证书指纹发现 C2 服务器的可能性。

操作步骤

1. 运行模块,输入目标网站

在 Viper 的模块列表中搜索「克隆HTTPS证书」(英文界面为 "Clone HTTPS Certificate")并运行,在模块输入框中填写目标网站的域名或地址。

2. 运行结束后查看结果

模块执行完毕后,可以在结果面板中查看克隆得到的证书内容。通常结果中会展示克隆到的证书文件(PEM 格式),包含公钥证书与私钥。

3. 在创建 reverse_https 监听时使用该证书

进入「监听载荷」->「新增监听」,选择reverse_https类型(例如windows/meterpreter/reverse_https),在证书配置处选择或上传刚才克隆得到的 PEM 文件,即可让监听器使用克隆证书完成 TLS 握手。

为什么要克隆证书:监听器证书的三种来源

在 Viper 的「监听载荷」(Handler and Payload)页面中,HTTPS 证书的配置有三种途径,官方文档 监听载荷 有明确说明:

  • 使用 Viper 内置证书:Viper 默认内置一个 SSL 证书www.example.com.pem,可直接用于 HTTPS 加密;
  • 自行上传 PEM 证书:用户可上传自己的 pem 格式证书,注意证书中必须包含公钥和私钥,具体格式可参考www.example.com.pem文件;
  • 克隆任意网站证书:使用 克隆HTTPS证书模块 克隆任意网站的证书。

三种方式的差异在于证书的来源与可信程度:

证书来源操作方式典型场景
内置证书直接使用www.example.com.pem快速测试、内网环境
自行上传上传包含公钥+私钥的 pem 文件拥有域名,可通过合法渠道获取证书
克隆证书运行 CloneSSLPem 模块抓取目标网站证书红队模拟中伪装可信站点、规避证书指纹检测

对于红队模拟场景而言,克隆证书的价值在于:C2 监听器与目标可信站点使用相同的证书与密钥,使 TLS 握手的证书指纹与正常业务站点一致,从而降低网络侧检测设备通过证书特征识别 C2 的可能性。

证书在 reverse_https 监听中的典型实战场景

场景一:绕过国内云厂商的流量监控

在 Viper 官方文档「第一滴血」与相关实战文章中明确指出,阿里云等国内云厂商存在流量监控设备,建议使用带加密的监听(reverse_https)来规避流量检测:

阿里云等国内云厂商有流量监控设备,请使用带加密的监听(reverse_https)。

而 reverse_https 监听器若搭配克隆自可信站点的证书,可进一步降低 TLS 流量被识别为 C2 的概率,这在 监听载荷 与 克隆HTTPS证书模块 的组合使用中得以体现。

场景二:直连免杀与载荷生成

Viper 提供了多种基于 reverse_https 的免杀与上线方案,其前置条件往往都是「先建立一个 reverse_https 监听」:

  • Reverse_https直连免杀:新建 reverse_https 监听后,运行模块即可在文件管理中生成包含免杀 exe 载荷及对应 C++ 源码的 zip 文件;
  • ExeSrc 与 LoaderDIY 等模块同样支持windows/meterpreter/reverse_https类型的载荷。

在这些场景中,监听器创建时的证书配置(内置、上传或克隆)会直接影响载荷与 C2 之间的 TLS 通信形态。

场景三:使用合法证书建立 reverse_https 监听

在 监听配置合法的SSL证书 一文中,Viper 官方给出了使用 acme.sh 从 Let's Encrypt 获取合法证书并建立 reverse_https 监听的完整流程:

  1. 确认 Viper 正常运行,域名正确指向 Viper VPS 的 IP 地址;
  2. 安装 acme.sh:curl https://get.acme.sh | sh -s email=my@example.com;
  3. 生成证书(确保 80 端口未占用):acme.sh --issue -d xg.xxx.website --standalone;
  4. 将.key和.cer文件内容合并到一个文件中;
  5. 上传合并后的 pem 文件到 Viper;
  6. 使用上传的 pem 文件建立 reverse_https 监听;
  7. 访问监听链接,确认证书已是可信证书。

对比可见:克隆证书模块与上述合法证书方案解决的是同一类问题(让 reverse_https 监听器的证书"看起来可信"),区别在于证书来源——前者直接从目标站点克隆,后者通过权威 CA 签发。

使用克隆证书时的注意事项

  • 证书必须包含公钥和私钥:Viper 的 HTTPS 监听器需要 PEM 文件中同时包含证书与私钥,若克隆得到的文件仅含公钥证书,则无法完成 TLS 握手;
  • 监听与载荷的证书需保持一致:在 云函数上线 等文章中强调,载荷(Payload)配置中的证书需要与监听(Handler)中配置的一致,否则可能出现加载失败;
  • 特定场景下需清空证书配置:例如在 云函数上线 场景中,监听与载荷的「LURI 和证书文件要为空」,且需要关闭验证证书选项;在 使用CDN上线meterpreter 场景中,则要求监听和载荷仅支持meterpreter_reverse_http(s)类型;
  • 结合 LURI 配置降低暴露面:在 如何将MSF的meterpreter改造的像CS的beacon一样稳定 一文中提到,若 reverse_https 监听端口设为 443 等常用端口,会被大量扫描器扫描,产生无效网络连接,若未设置 LURI 还会产生大量假 Session。因此在使用克隆证书建立监听时,建议同时合理配置 LURI,减少无效连接干扰。

小结

「克隆 HTTPS 证书」(DefenseEvasion_SubvertTrustControls_CloneSSLPem)是 Viper 红队模拟能力中一项小而关键的防御规避手段:通过运行模块克隆目标网站的 PEM 证书,在建立 reverse_https 监听器时选用该证书,即可让 C2 的 TLS 握手呈现与可信站点一致的证书指纹。它与 Viper 的内置证书、用户上传证书共同构成了监听器 HTTPS 证书的三种配置途径,实际使用时需注意证书须包含公钥与私钥、监听与载荷证书一致性、以及结合 LURI 与防火墙等配置降低被扫描识别的风险。

使用 Viper 克隆 HTTPS 证书:为 reverse_https 监听伪装可信 TLS 指纹

克隆目标网站的 SSL 证书,让 Viper 的 reverse_https 监听器复用真实站点的证书与私钥,可在 TLS 握手阶段呈现与可信业务站点一致的证书指纹,是红队模拟中降低 C2 流量被网络侧设备识别概率的常用手段。本文以 Viper「克隆 HTTPS 证书」模块(DefenseEvasion_SubvertTrustControls_CloneSSLPem)为主线,完整讲解模块定位、操作步骤、证书在 reverse_https 监听中的三种来源与典型实战场景。

模块定位:破坏信任控制(Subvert Trust Controls)下的证书克隆

在 Viper 的模块体系中,「克隆 HTTPS 证书」归属于DefenseEvasion_SubvertTrustControls(破坏信任控制)分类,模块名中的CloneSSLPem直接点明其功能:将目标网站的 PEM 格式 SSL 证书克隆下来,供 reverse_https 类型的监听器使用。

官方模块文档对本模块的定位为:

克隆目标网站的 ssl 证书,可用于 reverse_https 类型的监听。

也就是说,该模块解决的核心问题是:当红队需要搭建一个 reverse_https 监听器时,如何获得一个"看起来正常"的 TLS 证书,而不是使用 Viper 默认的自签名证书(www.example.com.pem),从而降低检测设备通过证书指纹发现 C2 服务器的可能性。

操作方法

1. 运行模块,输入目标网站

在 Viper 的模块列表中使用搜索功能定位到「克隆HTTPS证书」模块(英文界面为 "Clone HTTPS Certificate"),运行模块后,在输入框中填写目标网站的域名或地址,例如需要伪装的目标业务站点。

2. 运行结束后查看结果

模块执行完毕后,可在结果面板中查看克隆得到的证书内容。结果通常展示克隆得到的 PEM 格式证书文件,其中包含证书公钥部分以及对应的私钥内容。

3. 在创建 reverse_https 监听时使用该证书

进入「监听载荷」->「新增监听」,选择 reverse_https 类型(例如windows/meterpreter/reverse_https),在证书配置处选择或上传刚才克隆得到的 PEM 文件,即可让监听器使用克隆证书完成 TLS 握手。

为什么需要克隆证书:监听器 HTTPS 证书的三种来源

在 Viper 的「监听载荷」页面(见 监听载荷),HTTPS 证书的配置共有三种途径:

  • 使用 Viper 内置证书:Viper 默认内置一个 SSL 证书www.example.com.pem,可直接用于 HTTPS 加密;
  • 自行上传 PEM 证书:用户可自行上传 pem 格式证书,注意证书中必须包含公钥和私钥,具体格式可参考www.example.com.pem文件;
  • 克隆任意网站证书:使用 克隆HTTPS证书模块 克隆任意网站的证书。

三种方式的差异在于证书来源与可信程度:

证书来源操作方式典型场景
内置证书直接使用www.example.com.pem快速测试、内网环境
自行上传上传包含公钥与私钥的 pem 文件拥有域名,可通过权威 CA 合法签发
克隆证书运行 CloneSSLPem 模块抓取目标网站证书红队模拟中伪装可信站点、规避证书指纹检测

对于红队模拟场景而言,克隆证书的价值在于:C2 监听器与目标可信站点使用相同的证书与密钥,使 TLS 握手的证书指纹与正常业务站点一致,从而降低网络侧检测设备通过证书特征识别 C2 的可能性。

克隆证书在 reverse_https 监听中的典型实战场景

场景一:配合 reverse_https 规避国内云厂商流量监控

Viper 官方文档在多处明确指出,阿里云等国内云厂商部署有流量监控设备,建议使用带加密的监听(reverse_https)规避流量检测。例如 第一滴血 一文中的说明:

阿里云等国内云厂商有流量监控设备,请使用带加密的监听(reverse_https),由于 vps 带宽原因,执行 payload 后请稍等一段时间,请勿删除对应监听。

而 reverse_https 监听器若搭配克隆自可信站点的证书,可进一步降低 TLS 流量被识别为 C2 的概率——这正是「克隆 HTTPS 证书」模块与 reverse_https 监听组合使用的典型场景。

场景二:为 reverse_https 直连免杀与载荷生成提供证书基础

Viper 提供了多种基于 reverse_https 的免杀与上线方案,其前置条件都是先建立一个 reverse_https 监听:

  • Reverse_https直连免杀:新建 reverse_https 监听后运行模块,即可在「文件管理」中生成包含免杀 exe 载荷及对应 C++ 源码的 zip 文件;
  • ExeSrc 与 LoaderDIY 等模块同样支持windows/meterpreter/reverse_https、windows/x64/meterpreter/reverse_https类型的载荷生成。

在这些场景中,监听器创建时的证书配置(内置、上传或克隆)会直接影响载荷与 C2 之间的 TLS 通信形态。

场景三:与合法证书方案互补

在 监听配置合法的SSL证书 一文中,Viper 官方给出了使用 acme.sh 从 Let's Encrypt 获取合法证书并建立 reverse_https 监听的完整流程:

  1. 确认 Viper 正常运行,且域名已正确解析到 Viper 所在 VPS 的 IP 地址;
  2. 安装 acme.sh(示例):curl https://get.acme.sh | sh -s email=my@example.com;
  3. 生成证书(确保 80 端口未被占用):acme.sh --issue -d xg.xxx.website --standalone;
  4. 将生成的.key与.cer文件内容合并到同一个文件中;
  5. 将合并后的 pem 文件上传到 Viper;
  6. 使用上传的 pem 文件建立 reverse_https 监听;
  7. 访问监听链接,确认证书已被浏览器识别为可信证书。

对比可见:克隆证书模块与合法证书方案解决的是同一类问题(让 reverse_https 监听器的证书"看起来可信"),区别在于证书来源——前者直接从目标站点克隆现成证书,后者通过权威 CA 签发自有域名证书。在实战中可根据是否拥有可控域名灵活选择。

使用克隆证书时的注意事项

  • 证书必须同时包含公钥与私钥:Viper 的 HTTPS 监听器要求 PEM 文件包含证书与私钥,若克隆结果中仅含公钥证书而缺少私钥,将无法完成 TLS 握手,具体格式可对照内置的www.example.com.pem文件;
  • 监听与载荷的证书配置需保持一致:在 云函数上线 等方案中强调,载荷(Payload)中证书相关配置需要与监听(Handler)配置一致,否则可能出现加载失败;
  • 特定场景需清空证书或关闭校验:例如 云函数上线 场景要求监听与载荷的「LURI 和证书文件要为空」并关闭验证证书选项;使用CDN上线meterpreter 场景则要求监听与载荷仅支持meterpreter_reverse_http(s)类型;
  • 结合 LURI 与监听防火墙降低暴露面:在 如何将MSF的meterpreter改造的像CS的beacon一样稳定 一文中提到,若 reverse_https 监听端口设为 443 等常用端口,会被大量扫描器扫描而产生无效网络连接,未设置 LURI 时还会产生大量假 Session。因此使用克隆证书建立监听时,建议同时合理配置 LURI,并结合 回连过滤(监听防火墙)屏蔽无关来源 IP,减少无效连接与误报干扰。

小结

「克隆 HTTPS 证书」(DefenseEvasion_SubvertTrustControls_CloneSSLPem)是 Viper 红队模拟能力中一项小而关键的防御规避手段:运行模块克隆目标网站的 PEM 证书,在建立 reverse_https 监听器时选用该证书,即可让 C2 的 TLS 握手呈现与可信站点一致的证书指纹。它与 Viper 内置证书、用户上传证书共同构成监听器 HTTPS 证书的三种配置途径。实际使用时需注意:证书必须包含公钥与私钥、监听与载荷的证书配置需保持一致、特定上线方案中需清空证书或关闭校验,并建议结合 LURI 与监听防火墙配置降低被扫描识别的风险。

  • 文档
  • 教程
  • 网络安全

【免费下载链接】Viper

Adversary simulation and Red teaming platform with AI

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询