Controller 任务发布流程分析

admin 2022年1月14日10:30:50安全闲碎评论17 views1066字阅读3分33秒阅读模式

这是[信安成长计划]的第 篇文章


0x00 目录

0x01 Controller->TeamServer

0x02 TeamServer->Beacon

0x03 流程图


所有的任务在 Controller 处理以后,都会直接发送到 TeamServer,接着等待 Beacon 回连的时候将任务取走,文章以 shell whoami 为例


0x01 Controller->TeamServer

当在 Console 中输入命令回车后,会进入 BeaconConsole 进行处理


Controller 任务发布流程分析


专门来处理 shell 命令,命令解析 popString 所返回的就是要执行的命令 whoami


Controller 任务发布流程分析


接着会在 TaskBeacon 中处理执行逻辑,因为只有一个 Beacon 就直接跟入了


Controller 任务发布流程分析


然后就是构造任务了,将信息处理后用于 Beacon 去解析执行


Controller 任务发布流程分析


之后会先打印执行日志,然后才是真正的传递了


Controller 任务发布流程分析


日志记录也是一样通过 TeamQueue 传给 TeamServer


Controller 任务发布流程分析


TeamServer 在 ManageUser 中接到日志


Controller 任务发布流程分析


在处理以后直接添加广播将信息发送出去


Controller 任务发布流程分析


然后通过 BroadcastWriter 写回给 Controller


Controller 任务发布流程分析


接着 Controller 将任务发送给 TeamServer


Controller 任务发布流程分析


TeamServer 在接到以后同样走对应的处理逻辑


Controller 任务发布流程分析


从两个参数中取出 BeaconId 和任务,然后进入 BeaconData 处理逻辑


Controller 任务发布流程分析


这里的有用代码也就是 else 中的 add 了,上面的判断是 CS 的一个暗桩,运行三十分钟后再执行命令就会直接发布退出任务


Controller 任务发布流程分析


在将任务添加到 List 以后,也会将 BeaconId 记录下来


Controller 任务发布流程分析


到这里任务的发布就完成了



0x02 TeamServer->Beacon

在 Beacon 回心跳包的时候,会来请求任务


Controller 任务发布流程分析


直接从任务队列中取出数据


Controller 任务发布流程分析


然后循环添加,并将添加过的移除,如果任务大于指定大小的话就会跳出循环


Controller 任务发布流程分析


最后将任务队列返回


Controller 任务发布流程分析


之后再相应的将其他的内容取出


Controller 任务发布流程分析


最后构造并返回,这里会进行打印日志的操作,输出发送了的命令的长度


Controller 任务发布流程分析


在返回之后会对数据进行加密


Controller 任务发布流程分析


首先会根据 BeaconId 取出对应的 AESKey 和 HmacSHA256Key


Controller 任务发布流程分析


之后写入系统时间/1000,任务长度,任务数据,并对其进行补齐,添加 A,补够 16 的整数倍


Controller 任务发布流程分析


然后进行 AES 加密


Controller 任务发布流程分析


接着对数据进行 Hmac


Controller 任务发布流程分析


之后将 AES 加密后的任务写入,并将 Hmac 的前 16 位拼接到后面


Controller 任务发布流程分析


之后便返回给 Beacon 了


Controller 任务发布流程分析



0x03 流程图

Controller 任务发布流程分析



往 期 文 章


1. Beacon sleep_mask 分析

2. Bypass BeaconEye

3. Beacon 上线协议分析

更多文章 戳此查看




原文始发于微信公众号(信安成长计划):Controller 任务发布流程分析

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月14日10:30:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Controller 任务发布流程分析 https://cn-sec.com/archives/736779.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: