逆向分析
文章平均质量分 83
信安成长计划@Stars
微信公众号:信安成长计划
展开
-
CobaltStrike逆向学习系列(15):CS功能分析-BOF
这是[信安成长计划]的第 15 篇文章0x00 目录0x01 BOF功能分析0x02 BOF功能执行0x03 写在最后其实在看过 RDI 与 DotNet 功能执行之后,BOF 的执行基本就不用再说了,唯一需要提及的可能就是它所包含的技术,而且相关的文章和代码也都很丰富了0x01 BOF功能分析在 CS 中,有相当一部分功能都是 BOF 形式的,我们随意选择一个它继承了 PostExInlineObject 类,需要自己实现的并不多,但实际上,一些函数还是自己实现的好在实际调用的时候,原创 2022-02-22 15:26:12 · 676 阅读 · 0 评论 -
CobaltStrike逆向学习系列(14):CS功能分析-DotNet
这是[信安成长计划]的第 14 篇文章0x00 目录0x01 DotNet功能分析0x02 DotNet功能执行0x03 写在最后在上两篇文章中,讲述了 CS 中的一种功能执行方式 RDI,这一次来分析一下另外一个非常重要的功能执行方式——DotNet0x01 DotNet功能分析CobaltStrike 提供了一种可以执行任意 DotNet 程序的方案,使用了名叫 invokeassembly 的 DLL,来加载和执行所传递的 DotNet 功能,提供这个方法的 Job 是 ExecuteA原创 2022-02-20 13:34:18 · 1763 阅读 · 0 评论 -
CobaltStrike逆向学习系列(13):RDI 任务执行流程分析
这是[信安成长计划]的第 13 篇文章0x00 目录0x01 任务号0x02 功能执行0x03 结果接收在上一篇文章中已经讲明了 RDI 类型的任务在发布时候的流程,接下来就是执行了,文中不提任务接收与结果回传,这部分内容在之前也已经分析过了,继续使用 HashDump 来进行分析0x01 任务号按照上一次流程的分析,RDI 在构建的时候实际发布了两个任务,一个是 HashDump 的任务号,还有一个是通过 getJobType 获取到的根据上一篇文章的流程 HashDump 所调用的任务原创 2022-02-20 13:33:07 · 1929 阅读 · 0 评论 -
CobaltStrike逆向学习系列(12):RDI 任务发布流程分析
这是[信安成长计划]的第 12 篇文章0x00 目录0x01 任务构建0x02 结果处理0x03 功能 DLL 分析之前的分析都是针对整个 CS 的框架来进行的,但是功能也是整个 C2 中相当重要的部分,接下来几篇文章会对基本的功能类型的流程进行分析0x01 任务构建CS 自带的 RDI 类型的功能也有好多,但所有的构建等也都是大同小异了,这里以 HashDump 来进行分析,HashDump 有两种触发方式,一种是在界面上直接点击,一种是通过命令这两种方式在执行前都会去判断当前用户的权限原创 2022-02-20 13:30:53 · 283 阅读 · 0 评论 -
CobaltStrike逆向学习系列(11):自实现 Beacon 检测工具
这是[信安成长计划]的第 11 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 检测原理0x02 检测方案0x03 存在的问题0x04 解决方案0x05 示例代码0x06 写在最后年也过了,继续开始卷卷卷…目前使用比较多的检测工具就是 BeaconEye,在之前的文章中也已经提到过它的检测原理与 Bypass 的方法《Bypass BeaconEye》《Bypass BeaconEye - Beacon 堆混淆》,BeaconEye 所依赖的就是 C2Profile 解析后原创 2022-02-03 18:19:33 · 727 阅读 · 0 评论 -
CobaltStrike逆向学习系列(10):TeamServer 启动流程分析
这是[信安成长计划]的第 10 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 基本校验与解析0x02 初始化0x03 启动 Listeners在之前的分析中,都是针对 CobaltStrike 整体通信流程的,也就忽略了中间的一些细节,其中一些细节对理解整个 CobaltStrike 也是非常重要的0x01 基本校验与解析先取了默认端口接着对 Java 环境及一些参数进行了验证,并校验了 license这里重点看一下对于参数的检测,可以看到有校验两个参数是否存在,当你原创 2022-01-28 10:32:30 · 784 阅读 · 0 评论 -
CobaltStrike逆向学习系列(9):Bypass BeaconEye - Beacon 堆混淆
这是[信安成长计划]的第 9 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 CS4.5 Sleep_Mask0x02 HeapEncrypt0x03 效果0x04 参考文章在之前的文章《Bypass BeaconEye》中提过了两个 Bypass BeaconEye 的方法,都是通过打乱 C2Profile 结构来做的,还有另外一种方式就是在 Sleep 的时候加密堆内存,在 CS4.5 中也对 Sleep_Mask 进行了更新0x01 CS4.5 Sleep_Mask根据原创 2022-01-21 11:14:34 · 608 阅读 · 0 评论 -
CobaltStrike逆向学习系列(8):Beacon 结果回传流程分析
这是[信安成长计划]的第 8 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 Beacon 接收与处理0x02 结果回传Beacon 在接受完命令并执行后,会将数据加密回传给 TeamServer,TeamServer 进行解析后,并根据类型对结果的格式进行处理后,再回传给 Controller0x01 Beacon 接收与处理直接在通信相关函数上下断,HttpSendRequest 发送任务,InternetReadFile 接收任务跟出函数以后再根据其上下文分析,也就能推原创 2022-01-19 11:31:34 · 3095 阅读 · 0 评论 -
CobaltStrike逆向学习系列(7):Controller 任务发布流程分析
这是[信安成长计划]的第 7 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 Controller->TeamServer0x02 TeamServer->Beacon0x03 流程图所有的任务在 Controller 处理以后,都会直接发送到 TeamServer,接着等待 Beacon 回连的时候将任务取走,文章以 shell whoami 为例0x01 Controller->TeamServer当在 Console 中输入命令回车后,会进入 Beaco原创 2022-01-14 13:24:15 · 189 阅读 · 0 评论 -
CobaltStrike逆向学习系列(6):Beacon sleep_mask 分析
这是[信安成长计划]的第 6 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 C2Profile 分析0x02 set userwx “true”0x03 set userwx “false”CobaltStrike 提供了一个内存混淆功能,它会在 Sleep 的时候将自身混淆从而避免一定的检测0x01 C2Profile 分析因为 sleep_mask 是从 C2Profile 中设置的,所以就需要先搞清楚 TeamServer 是如何解析的很明显它还跟其他的设置项有关,原创 2022-01-11 11:35:09 · 389 阅读 · 0 评论 -
CobaltStrike逆向学习系列(5):Bypass BeaconEye
这是[信安成长计划]的第 5 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 BeaconEye 检测原理0x02 Bypass 10x03 Bypass 20x04 效果图在之前的三篇文章《Stageless Beacon 生成流程分析》《Beacon C2Profile 解析》《Beacon 上线协议分析》中,已经穿插着将 C2Profile 的全部内容介绍完了,也把 Bypass 所需要的一些内容也都穿插着提到过了,接下来就该说如何对其进行 Bypass0x01 Beac原创 2022-01-10 22:25:15 · 475 阅读 · 0 评论 -
CobaltStrike逆向学习系列(4):Beacon 上线协议分析
这是[信安成长计划]的第 4 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 Beacon 发送0x02 TeamServer 处理0x03 流程图0x04 参考文章在上一篇讲解 C2Profile 解析的时候,已经提到过如何断入到真正的 beacon.dll 当中,并且也清楚了它执行时的调用顺序,Beacon 上线的所有流程也都是在第二次主动调用 DLLMain 时执行的。因为主要说明的是上线流程,功能性的暂且不提,但是中间会穿插 C2Profile 的读取操作。0x01原创 2022-01-10 22:22:46 · 313 阅读 · 0 评论 -
CobaltStrike逆向学习系列(3):Beacon C2Profile 解析
这是[信安成长计划]的第 3 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 Controller 端分析0x02 Beacon 端分析0x03 展示图在上一篇文章中完成了 Stageless Beacon 生成的分析,接下来就是对 Beacon 的分析了,在分析上线之前先将 C2Profile 的解析理清楚,因为 Beacon 中大量的内容都是由 C2Profile 决定的。而且,目前 C2Profile 也是被作为检测 CobaltStrike 的一种手段,只有在理解了它的实原创 2022-01-10 21:27:55 · 603 阅读 · 0 评论 -
CobaltStrike逆向学习系列(2):Stageless Beacon 生成流程分析
这是[信安成长计划]的第 2 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 Patch Beacon0x02 Patch Loader0x03 文件对比0x04 流程图CobaltStrike 的 Beacon 生成分为两种,Stage Beacon 和 Stageless Beacon,这次主要来说明的是无阶段的 Stageless Beacon,最终文件比较大,不用从网络中来拉取。本文的分析流程使用的 payload 是 windows/beacon_http/rever原创 2022-01-10 21:18:48 · 604 阅读 · 0 评论 -
CobaltStrike逆向学习系列(1):CS 登陆通信流程分析
这是[信安成长计划]的第 1 篇文章关注微信公众号[信安成长计划]0x00 目录0x01 密码校验0x02 aggressor.authenticate0x03 aggressor.metadata0x04 数据同步0x05 流程图0x06 参考文章先统一一下后续文章所提到的一些名词,以确保大家都在聊同一个东西,文中将 CobaltStrike分为 Controller、TeamServer、Beacon 三端,本文所描述的是 TeamServer 启动之后,从 Controller 登原创 2022-01-10 20:19:31 · 390 阅读 · 0 评论