一个用 Go 编写的跨平台 C2/团队服务器,支持多种传输协议。
注意:该项目仍在开发中,因此_并非完全稳定_。文档也尚不完善,但会随着时间逐步改进。
Meteor 系统分为以下几个部分:
克隆仓库并构建所需的 compose 镜像:
$ git clone https://github.com/degenerat3/meteor
$ cd meteor
$ docker-compose build
<wait patiently as Golang and docker stuff happens>
$ docker-compose up
Meteor 现在已启动!请注意,如果你不会用到某些容器,可以将它们从 compose 文件中移除;例如,如果只想使用 Web 传输方式,就不必构建和运行 Petrie/Cera。容器运行后,执行 curl localhost:8888 以确保 Core 正在运行。
此时应该已经构建了 Daddy Tops 客户端,请按照 meteor/docs/daddy_tops.md 中的说明下载客户端并开始构建 agents!
Meteor 系统中_几乎所有_通信都使用 protocol buffers。Meteor 通信标准(MCS)定义了如何格式化数据以供 Core 处理。监听器和 agent 也使用 MCS 来传输操作和结果,Daddy Tops 则从认证到 bot/group 注册都使用 MCS。MCS 的 proto 文件位于 meteor/pbuf/mcs.proto。
目前已实现以下 agent/监听器配对,未来计划加入更多:
如果你愿意,开发额外的监听器应该相当简单,因为 Meteor 的大部分实际功能已被抽象到 Agent 和 Listener 工具中。在大多数情况下,创建新监听器唯一需要的就是一种可靠的发送和接收字节字符串的方法。之后,listener 工具可以将数据路由到合适的 Core API 端点,agent 工具可以执行操作并构建正确的 MCS 负载。这方面仍有很多改进空间,因为目前仍有一些逻辑和 protobuf 解析是在 main 函数中而不是在工具中完成的。
Nest 用于构建和编译 Meteor 代码(目前仅支持 agents),因此你无需自己构建。你可以使用 Daddy Tops(或自定义工具)发送所需参数。与项目其他部分不同,Nest API 由 JSON 端点组成,而不是 protobuf。这样做是为了让二进制文件可以通过几条简单的 curl 命令构建和下载,而无需使用 protobuf 和更复杂的代码。
目前文档比较有限,但会随时间改善。Core 和 Nest API 的一些文档以及 Daddy Tops 的使用说明可以在 meteor/docs 中找到。
免责声明:本工具仅用于教育目的。不要乱动不属于你的机器。作者不对任何非法使用该代码库的行为负责。