-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug report/support request] c2 profile 使用 rebind 时 beacon_id 对应 post 字段必须配置为 base64 #65
Comments
这里传入的信息如beaconID及reqData等都是base64编码后的数据。 具体API介绍见: https://gloxec.github.io/CrossC2/zh_cn/protocol/ API中数据的大致传递过程:
所以这里如果c2profile中id没有添加base64,那么在对应的rebind中需要将传入的beaconID先进行base64解码后再进行使用。 |
非常感谢。 |
此处的 base64 -> base64_encode , need_base64 -> base64_decode() ? |
都为base64_encode,但更为精准的描述应该是它们的数据类型都是base64,即CrossC2内部的数据传入传出都使用base64类型进行编码。 这样做的方式是可以省略需要处理数据的长度,同时准确包含原始二进制数据。再一个原因就是大量的c2profile内部都对元数据采用了base64编码,如果这里采用原始数据的传递设计,那么意味着大多数人员在写rebind时,还需要实现base64的编码算法。 |
当然如果有对接口实现的其他想法的话,欢迎提出建议 目前编写rebind时,针对c2profile中对元数据的编码情况: 至于这几种编码算法详见CobaltStrike官方手册中的c2profile章节具体介绍 |
的确是有 Base64 来进行保留完整二进制这么一个考虑存在的,也是合理的。 我刚刚去翻了一下手册,发现没有具体的关于 Session ID 的说明。主要目前是想隐藏在正常的流量中,类似 那么对应的,我是否有什么办法确定位于 POST 请求报文中 URL QueryString 中 id 参数对应的 Session ID 所在的位置呢? 例如: POST /testEndpoint?id=<SESSION ID>&data=<ANOTHER CUSTOM DATA> HTTP/1.1 或者: POST /testEndpoint?id=<SESSION ID> HTTP/1.1 这种场景,我该如何定位到 对应的 beacon session id 所在位置? |
没太理解你的意思,但根据你的POST请求报文来看,你说的SESSION ID应该就是c2profile中对应的 CrossC2/protocol_demo/https.profile Line 50 in ca0ada8
与之rebindAPI中对应的就是beaconID,那么对应的rebind代码大致为
c2profile为
|
我是想把 beacon id 在 post 的时候用 url 参数明文传参,但是 recv 的时候必然要定位到已经 base64 编码的部分进行解码,所以问题就是我该如何在这样的响应报文中定位到 Beacon id? (对应 cc2_rebind_http_post_Recv ) 我找了一下文档,没找到beacon id 的格式 |
_recv 系列是beaconID无关的,所以无需考虑_send时对数据进行的操作, _send 与 _recv中的数据无关联性
|
感谢您的回复。 |
我尝试给公开的 wusa.profile 编写 crossc2 的重绑定,但是发现服务端发送命令给 client 时 teamserver 报错:
尝试修改为 profile 文件此处 L170 处增加
base64;
后报错消失:相关源码和 profile 文件:
protocol_demo.zip
请问这是不是 crossC2 的固定行为,即 beacon ID 必须 Base64 编码?还是我的 rebind 哪里写错了?
The text was updated successfully, but these errors were encountered: