一份未完成的cobalt strike beacon代码

一份未完成的cobalt strike beacon代码

这几天因为一些原因跑去还原了一下Beacon的代码,整体上还原了大部分,功能实现没有

image-20210727162517551.png

差不多一百多个功能

整体的框架已经还原完的跟原版beacon.dll一样可以使用cs的配置文件不是写死的

使用方式生成一个raw格式

image-20210727163444330.png

然后用16进制编辑器打开生成的bin 搜索2E 2F 2E 2F 2E

image-20210727163641710.png

然后从这个位置开始选择往后4096个字节把它复制下来替换到项目里

image-20210727163909344.png

image-20210727163951511.png

运行后效果如下没有任何功能

image-20210727170409472.png

基本通信流程就是首先解密配置然后对c2配置进行解析格式化

image-20210727173410342.png

然后解析一些需要用的配置

image-20210727173739335.png

构造元数据 设置http请求 发送元数据 接受返回信息 解密并格式化然后交由Parse_Task处理去执行任务

image-20210727173957816.png

任务执行完发送结果,主要依靠sub_10012CF这个函数
这个还会调用其他函数,其他函数进一步包装返回数据

image-20210727180511591.png

与之对应的服务端在接收数据解密后会根据返回id进行处理

image-20210727180851612.png

image-20210727180955945.png

其中id 31表示此任务执行错误,然后首先读取一个int然后根据这个int判断要显示的错误信息

image-20210727181148667.png

image-20210727181601501.png

项目地址:https://github.com/WBGlIl/Beacon_re
项目依赖libtommath-0.42.0和libtomcrypt-1.17,整个项目的代码非常糟糕慎重考虑是否要看
懒的搞了写的也很随意