CobaltStrike逆向学习系列(8):Beacon 结果回传流程分析

这是[信安成长计划]的第 8 篇文章
关注微信公众号[信安成长计划]
在这里插入图片描述

0x00 目录

0x01 Beacon 接收与处理

0x02 结果回传

Beacon 在接受完命令并执行后,会将数据加密回传给 TeamServer,TeamServer 进行解析后,并根据类型对结果的格式进行处理后,再回传给 Controller

0x01 Beacon 接收与处理

直接在通信相关函数上下断,HttpSendRequest 发送任务,InternetReadFile 接收任务

图片

跟出函数以后再根据其上下文分析,也就能推断出大致范围

图片

同理在回结果的时候也是一样,这样也就大致确定了整个处理逻辑的代码范围,在这之间进行任务接收、解密、执行、结果回传等

图片

0x02 结果回传

在 Beacon 回结果的时候依然是从 WebServer 接收,继续走了 MalleableHook 来调用到真正的处理函数

图片

最终会走到 POST 的处理流程当中

图片

接着会先读取前四个字节作为大小,然后申请内存,并将后续所有内容读入数组当中

图片

接下来就是解密操作

图片

与之前分析加密一样,先取出相应的 Key,然后再进行相应的操作

图片

计算 Hmac 值,并进行校验

图片

校验通过后进行解密

图片

接着就是读取并返回,后面对 conunter 的计数,看描述可能是防止 replay attack,具体情况并未分析清楚

图片

接着会通过读取返回值所指定的类型来决定以怎样的格式来返回

图片

具体类型的含义在 Job 中也可见一二

图片

然后按照指定格式处理完成后,会回传给 Controller

图片

在 output 中调用了 broadcast,也就意味着他是从 BroadcastWriter 中回传的

图片

接着 Controller 在 TeamQueue 中接收到了信息

图片

继续走处理流程

图片

接着在 DataManager 中进行相应处理

图片

接着 TeamServer 这边实际还有流程没有完成

图片

接着会将下面这些类型全部执行一遍

图片

随便一个跟进去,根据名字分析,应该是对结果值进行相应的提取的,可能是用于对票据等一些内容的展示

图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值