这是[信安成长计划]的第 14 篇文章 0x00 目录 0x01 DotNet功能分析 0x02 DotNet功能执行 0x03 写在最后 在上两篇文章中,讲述了 CS 中的一种功能执行方式 RDI,这一次来分析一下另外一个非常重要的功能执行方式--DotNet 0x01 DotNet功能分析 CobaltStrike 提供了一种可以执行任意 DotNet 程序的方案,使用了名叫 invokeassembly 的 DLL,来加载和执行所传递的 DotNet 功能,提供这个方法的 Job 是 Ex…
这是[信安成长计划]的第 15 篇文章 0x00 目录 0x01 BOF功能分析 0x02 BOF功能执行 0x03 写在最后 其实在看过 RDI 与 DotNet 功能执行之后,BOF 的执行基本就不用再说了,唯一需要提及的可能就是它所包含的技术,而且相关的文章和代码也都很丰富了 0x01 BOF功能分析 在 CS 中,有相当一部分功能都是 BOF 形式的,我们随意选择一个 它继承了 PostExInlineObject 类,需要自己实现的并不多,但实际上,一些函数还是自己实现的好 在实际调用…
这是[信安成长计划]的第 1 篇文章 关注微信公众号[信安成长计划][SecSource] 0x00 目录 0x01 密码校验 0x02 aggressor.authenticate 0x03 aggressor.metadata 0x04 数据同步 0x05 流程图 0x06 参考文章 先统一一下后续文章所提到的一些名词,以确保大家都在聊同一个东西,文中将 CobaltStrike 分为 Controller.TeamServer.Beacon 三端,本文所描述的是 TeamServer 启动…
这是[信安成长计划]的第 11 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 检测原理 0x02 检测方案 0x03 存在的问题 0x04 解决方案 0x05 示例代码 0x06 写在最后 年也过了,继续开始卷卷卷... 目前使用比较多的检测工具就是 BeaconEye,在之前的文章中也已经提到过它的检测原理与 Bypass 的方法<Bypass BeaconEye><Bypass BeaconEye - Beacon 堆混淆>,BeaconEye 所依赖的就是…
这是[信安成长计划]的第 10 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 基本校验与解析 0x02 初始化 0x03 启动 Listeners 在之前的分析中,都是针对 CobaltStrike 整体通信流程的,也就忽略了中间的一些细节,其中一些细节对理解整个 CobaltStrike 也是非常重要的 0x01 基本校验与解析 先取了默认端口 接着对 Java 环境及一些参数进行了验证,并校验了 license 这里重点看一下对于参数的检测,可以看到有校验两个参数是否存在…
这是[信安成长计划]的第 2 篇文章 关注微信公众号 [信安成长计划] 0x00 目录 0x01 Patch Beacon 0x02 Patch Loader 0x03 文件对比 0x04 流程图 CobaltStrike 的 Beacon 生成分为两种,Stage Beacon 和 Stageless Beacon,这次主要来说明的是无阶段的 Stageless Beacon,最终文件比较大,不用从网络中来拉取. 本文的分析流程使用的 payload 是 windows/beacon_http…
这是[信安成长计划]的第 12 篇文章 0x00 目录 0x01 任务构建 0x02 结果处理 0x03 功能 DLL 分析 之前的分析都是针对整个 CS 的框架来进行的,但是功能也是整个 C2 中相当重要的部分,接下来几篇文章会对基本的功能类型的流程进行分析 0x01 任务构建 CS 自带的 RDI 类型的功能也有好多,但所有的构建等也都是大同小异了,这里以 HashDump 来进行分析,HashDump 有两种触发方式,一种是在界面上直接点击,一种是通过命令 这两种方式在执行前都会去判断当前…
这是[信安成长计划]的第 7 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Controller->TeamServer 0x02 TeamServer->Beacon 0x03 流程图 所有的任务在 Controller 处理以后,都会直接发送到 TeamServer,接着等待 Beacon 回连的时候将任务取走,文章以 shell whoami 为例 0x01 Controller->TeamServer 当在 Console 中输入命令回车后,会进入 Beaco…
这是[信安成长计划]的第 6 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 C2Profile 分析 0x02 set userwx "true" 0x03 set userwx "false" CobaltStrike 提供了一个内存混淆功能,它会在 Sleep 的时候将自身混淆从而避免一定的检测 0x01 C2Profile 分析 因为 sleep_mask 是从 C2Profile 中设置的,所以就需要先搞清楚 TeamServer 是如何…
这是[信安成长计划]的第 3 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Controller 端分析 0x02 Beacon 端分析 0x03 展示图 在上一篇文章中完成了 Stageless Beacon 生成的分析,接下来就是对 Beacon 的分析了,在分析上线之前先将 C2Profile 的解析理清楚,因为 Beacon 中大量的内容都是由 C2Profile 决定的. 而且,目前 C2Profile 也是被作为检测 CobaltStrike 的一种手段,只有在理…