推荐项目:DoHC2 —— DNS over HTTPS的隐秘通道
去发现同类优质开源项目:https://gitcode.com/
:warning: 注意:此工具已不再维护。
DoHC2是一个独特的开源项目,它利用Ryan Hanson的ExternalC2库,将命令与控制(C2)通信隐藏在DNS over HTTPS(DoH)协议之下。这个设计主要用于流行的安全测试和红队操作软件——Cobalt Strike。
项目简介
DoHC2首次发布于2018年10月23日的Mitre ATT&CKcon,并在该会议上引起关注。此项目旨在通过DoH提供一种更隐蔽的C2通信方式,同时也提醒企业注意由此可能带来的潜在风险。
技术解析
该项目的核心是通过DoH协议绕过传统的DNS监控,实现Cobalt Strike中的Beacon组件与服务器之间的安全通信。其原理是将数据编码为DNS查询,然后通过DoH服务进行传输,从而避免了传统DNS通信的可预测性和易被监控的问题。
DoHC2依赖于Python DNS服务器和ExternalC2库,Python服务器基于ACME DNS Server,并且增加了对DoH的支持。此外,客户端部分采用C#编写,可以与Cobalt Strike无缝集成。
应用场景
DoHC2适用于以下场景:
- 网络渗透测试,尤其是在受限网络环境中,需要隐蔽通信路径时。
- 红队操作,模拟高级持续性威胁(APT)的行为,检测防御系统的能力。
- 安全研究,探索如何改进C2通信的安全性和隐秘性。
项目特点
- 高度隐蔽:利用DoH协议隐藏在合法DNS流量中,难以被常规监测手段发现。
- 跨平台:支持Python和C#,适应各种环境。
- 灵活配置:可自由选择不同的DoH提供商和服务端口。
- 易于集成:与Cobalt Strike紧密配合,无需复杂的设置。
使用流程概览
- 启动Cobalt Strike团队服务器。
- 创建一个HTTP或HTTPS监听器。
- 加载ExternalC2脚本并开启端口2222。
- 安装Python服务器依赖项。
- 打开UDP端口53以连接到DoH服务。
- 配置DNS记录以指向团队服务器IP。
- 创建输入和输出频道的NS记录。
- 修改DoHC2.py中的相关配置。
- 编译并配置ExternalC2库。
尽管DoHC2已经停止更新,但其创新理念和实践仍具有参考价值,特别适合对网络安全有深度研究和技术探索的开发者和安全专家。
结语
在信息安全领域,创新的隐蔽通信方法始终是关键的一环。DoHC2项目展示了如何利用现有技术和协议来创建更隐蔽的C2通道,虽然目前不维护,但它所代表的技术方向值得关注和学习。
如果你热衷于网络安全,对红队操作和C2通信有兴趣,那么DoHC2无疑是你值得研究的一个开源项目。让我们一起探索这个项目的潜力,也许你能从中找到新的灵感和思路。
去发现同类优质开源项目:https://gitcode.com/