C2 仓库旨在提供 Red Team Infrastructure Wiki(https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki)中概念的实用实现。具体来说,该仓库提供了两个 Go 包,一个用于 beaconers,另一个用于 downloaders。此外,该仓库还提供了使用这些 beaconers 和 downloaders 的示例植入程序。最后,该仓库包含用于 C2 的后端 DNS 和 HTTP 服务器,以及用于构建前端重定向服务器的配置信息。
implants 文件夹包含两个植入程序,展示了如何使用 beaconer 和 downloader 包。这些植入程序可作为构建你自己的植入程序的参考。总体思路是选择一个 beaconer 和一个 downloader,并将它们封装在一个循环中,配合某种定时机制来控制植入程序向外发送信标的频率。
要创建新的 beaconer 和 downloader,你必须构建一个满足相应接口的结构体。beaconer 和 downloader 目录包含 HTTP 和 DNS 示例。
servers 目录包含一个 DNS 服务器和一个 HTTP 服务器,可用作各种信标和下载程序的后端服务器。这些服务器并非为生产环境设计,但必要时也可用于生产环境。此外,servers 文件夹包含一个 payload 文件,可使用 go build -o payload.bin payload.go 构建。服务器期望在当前目录中找到 payload.bin 文件,该文件将提供给下载程序并在客户端执行。
docs 文件夹包含构建 C2 系统前端重定向器所需的配置信息。该配置允许根据特定条件将 C2 流量重定向到 C2 服务器,并将所有其他流量发送到一个良性服务器。
我不是 C2 专家。我一直在阅读 Red Team Infrastructure Wiki,并决定构建一个实用实现。话虽如此,我非常欢迎为新的 beaconer 和 downloader 提交拉取请求。如果你不习惯自己编写代码,可以通过提交 issue 告诉我你希望实现哪些信标或下载程序技术。