这是[信安成长计划]的第 3 篇文章
关注微信公众号[信安成长计划]

0x00 目录
0x01 Controller 端分析
0x02 Beacon 端分析
0x03 展示图
在上一篇文章中完成了 Stageless Beacon 生成的分析,接下来就是对 Beacon 的分析了,在分析上线之前先将 C2Profile 的解析理清楚,因为 Beacon 中大量的内容都是由 C2Profile 决定的。
而且,目前 C2Profile 也是被作为检测 CobaltStrike 的一种手段,只有在理解了它的实现原理,才能真正明白检测原理和绕过方法。
0x01 Controller 端分析
直接跟到 beacon/BeaconPayload.java,看 exportBeaconStage 方法
对于前面值的获取暂时不管,直接看重点,是如何添加的,因为最后是直接把 settings 转 byte 数组,然后混淆后 Patch 的,所以就重点看一下 settings 都干了什么事

看一眼 settings 的设置,可以很明显的发现四个方法 addShort、addInt、addString、addData

但是可以发现 addString 根本上调用的就是 addData,所以重点就是 addSh

本文是CobaltStrike逆向学习系列的第三篇,主要探讨Beacon的C2Profile解析。从Controller端分析BeaconPayload.java的exportBeaconStage方法,探讨C2Profile的数据结构。在Beacon端,分析DLLMain中的C2Profile解析过程,包括内存分配、异或操作和结构体设置。解析过程中,index作为偏移定位,type决定数据处理方式。文章还展示了Controller与Beacon中C2Profile的不同形态。
最低0.47元/天 解锁文章
937

被折叠的 条评论
为什么被折叠?



