CobaltStrike逆向学习系列(3):Beacon C2Profile 解析

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

这是[信安成长计划]的第 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值