一个在研究C2通信协议时编写的项目,目前包含http/https、mTLS、WebSocket和DNS协议,后续会补充其他的协议。本项目主要是研究数据的的传输,不是完整的C2项目。
项目使用Go编写,代码很简陋,甚至可以说是丑陋,有问题我应该也不会更新(maybe?)
Server:Go 1.23.5,其他版本未测试。目前只在win11上运行,如果想在linux上运行,你需要删除一些代码,比如说utils/sysinfo.go,这是因为sysinfo.go使用到Kernel32.dll来调用windows api获取主机信息,当然你也可以改成纯go的方式。
Beacon:Go 1.23.5,其他版本未测试。目前已知在Win10上不能运行,更低版本未测试。
进入到相应协议的目录,然后go build server.go 和go build beacon.go
比如说
cd ./dns
go build server.go
go build beacon.go
./server.exe
./beacon.exe
请修改server.go和beacon.go的ip,port和callbackhost,不然可能会出错!。
如果你对C2通信的原理和实现细节感兴趣,请阅读我写的这篇文章:
我的博客:关于这个博客 | onedaybook
还有在这里提一嘴:新博客不弄了,感觉还是喜欢Gitbook的树状目录结构,能更好体现专题的知识体系,也方便我归类文章。
在这里预告下一个研究的主题是与二进制相关的,回归老本行!