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

关注微信公众号[信安成长计划]

0x00 目录

0x01 Beacon 接收与处理

0x02 结果回传

Beacon 在接受完命令并执行后,会将数据加密回传给 TeamServer,TeamServer 进行解析后,并根据类型对结果的格式进行处理后,再回传给 Controller

0x01 Beacon 接收与处理

直接在通信相关函数上下断,HttpSendRequest 发送任务,InternetReadFile 接收任务

跟出函数以后再根据其上下文分析,也就能推断出大致范围

同理在回结果的时候也是一样,这样也就大致确定了整个处理逻辑的代码范围,在这之间进行任务接收、解密、执行、结果回传等

0x02 结果回传

在 Beacon 回结果的时候依然是从 WebServer 接收,继续走了 MalleableHook 来调用到真正的处理函数

最终会走到 POST 的处理流程当中

接着会先读取前四个字节作为大小,然后申请内存,并将后续所有内容读入数组当中

接下来就是解密操作

与之前分析加密一样,先取出相应的 Key,然后再进行相应的操作

计算 Hmac 值,并进行校验

校验通过后进行解密

接着就是读取并返回,后面对 conunter 的计数,看描述可能是防止 replay attack,具体情况并未分析清楚

接着会通过读取返回值所指定的类型来决定以怎样的格式来返回

具体类型的含义在 Job 中也可见一二

然后按照指定格式处理完成后,会回传给 Controller

在 output 中调用了 broadcast,也就意味着他是从 BroadcastWriter 中回传的

接着 Controller 在 TeamQueue 中接收到了信息

继续走处理流程

接着在 DataManager 中进行相应处理

接着 TeamServer 这边实际还有流程没有完成

接着会将下面这些类型全部执行一遍

随便一个跟进去,根据名字分析,应该是对结果值进行相应的提取的,可能是用于对票据等一些内容的展示

CobaltStrike逆向学习系列(8):Beacon 结果回传流程分析的更多相关文章

  1. CobaltStrike逆向学习系列(10):TeamServer 启动流程分析

    这是[信安成长计划]的第 10 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 基本校验与解析 0x02 初始化 0x03 启动 Listeners 在之前的分析中,都是针对 Cob ...

  2. CobaltStrike逆向学习系列(1):CS 登陆通信流程分析

    这是[信安成长计划]的第 1 篇文章 关注微信公众号[信安成长计划][SecSource] 0x00 目录 0x01 密码校验 0x02 aggressor.authenticate 0x03 agg ...

  3. CobaltStrike逆向学习系列(5):Bypass BeaconEye

    这是[信安成长计划]的第 5 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 BeaconEye 检测原理 0x02 Bypass 1 0x03 Bypass 2 0x04 效果图 ...

  4. CobaltStrike逆向学习系列(11):自实现 Beacon 检测工具

    这是[信安成长计划]的第 11 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 检测原理 0x02 检测方案 0x03 存在的问题 0x04 解决方案 0x05 示例代码 0x06 ...

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

    这是[信安成长计划]的第 3 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Controller 端分析 0x02 Beacon 端分析 0x03 展示图 在上一篇文章中完成了 S ...

  6. CobaltStrike逆向学习系列(2):Stageless Beacon 生成流程分析

    这是[信安成长计划]的第 2 篇文章 关注微信公众号 [信安成长计划] 0x00 目录 0x01 Patch Beacon 0x02 Patch Loader 0x03 文件对比 0x04 流程图 C ...

  7. CobaltStrike逆向学习系列(6):Beacon sleep_mask 分析

    这是[信安成长计划]的第 6 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 C2Profile 分析 0x02 set userwx "true" 0x03 s ...

  8. CobaltStrike逆向学习系列(4):Beacon 上线协议分析

    这是[信安成长计划]的第 4 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Beacon 发送 0x02 TeamServer 处理 0x03 流程图 0x04 参考文章 在上一篇 ...

  9. CobaltStrike逆向学习系列(15):CS功能分析-BOF

    这是[信安成长计划]的第 15 篇文章 0x00 目录 0x01 BOF功能分析 0x02 BOF功能执行 0x03 写在最后 其实在看过 RDI 与 DotNet 功能执行之后,BOF 的执行基本就 ...

随机推荐

  1. 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)

    开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...

  2. 微信小程序云开发框架

    概述 一直做后端服务器开发,最近看了一篇文章介绍小程序的云开发模式,觉得挺有意思,就尝试了一下,由本文做个记录. 因为不是专业的小程序开发人员,也没有做过网页开发,所以论述中出现错误难以避免,请多谅解 ...

  3. 【解决了一个小问题】golang samara的kafka客户端中使用错误版本号导致初始化失败

    发现在如下代码中存储kafka生产者初始化失败: config.Version = sarama.V0_10_2_1 //V2_2_0_0 producer, err := sarama.NewSyn ...

  4. Cesium中级教程8 - Introduction to Particle Systems 粒子系统入门

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ What is a particle system? 什么是粒子 ...

  5. C# Reflection反射机制

    一.反射 什么是反射 .Net的应用程序由几个部分:'程序集(Assembly)'.'模块(Module)'.'类型(class)'组成: 反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组 ...

  6. Python webargs 模块

    一.安装 python3 -m pip install webargs 文档 二.基础特性 # encoding=utf-8 from flask import Flask from webargs ...

  7. STC8H开发(七): I2C驱动MPU6050三轴加速度+三轴角速度检测模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  8. gin框架中全局跨域请求处理设置

    跨域访问的问题 OPTIONS请求 全局跨域访问中间件 // 跨域访问:cross origin resource share func Cors() gin.HandlerFunc { return ...

  9. golang中的标准库反射

    反射 反射是指程序在运行期对程序本身访问和修改的能力 变量的内在机制 变量包含类型信息和值信息 var arr [10]int arr[0] = 10 类型信息:是静态的元信息,是预先定义好的 值信息 ...

  10. gin框架中多种数据格式返回请求结果

    返回四种格式的数据:1. []byte.string  2. json格式  3. html模板渲染  4. 静态资源设置 package main import ( "github.com ...