【蓝队技能】【C2流量分析】MSF&CS&Sliver

蓝队技能



总结

在这里插入图片描述


前言

不同C2工具的流量特征都有细微差别,学会分析方法后就可以进行分析


一、MSF

1.1 流量分析

MSF流量特征过于明显,看如下这篇文章即可
MSF流量分析

1.2 特征提取

  1. 结果以明文方式显示在流量中(TCP明文)
  2. 响应流量中存在MZ,DOS等特殊字段(TCP密文)
    在这里插入图片描述
  3. 固定的请求头和响应头(HTTP)
  4. 固定的JA3和JA3S的特征值(HTTPS)

二、CS

1.1 流量分析

首先上线CS,然后进行抓包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 特征提取

HTTP:

  1. 固定的数据包头
GET /cx HTTP/1.1
Accept: */*
Cookie: bdzPTdzddRyt8AtQGdzr+KRL8ELTYDxGwRBe1bbadiMeqzoQv8RzS+WrkPvInIXiUun/YnVPlpkrKLYgeGSrI8Dth0UMYPqZopauQTHqvQ5tRxOTQGiA2i8RIsArr5L1UEnFQEcLRXBmZ+QbR+Qizq+rIfUxxoxJMoeIckJNSdw=
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; Avant Browser)
Host: 192.168.189.128:1111
Connection: Keep-Alive
Cache-Control: no-cache

HTTP/1.1 200 OK
Date: Wed, 16 Oct 2024 12:42:39 GMT
Content-Type: application/octet-stream
Content-Length: 0
  1. 路径的checksum8算法(路径算出来是92或者93)
    在这里插入图片描述
public class EchoTest {
    public static long checksum8(String text) {
        if (text.length() < 4) {
            return 0L;
        }
        text = text.replace("/", "");
        long sum = 0L;
        for (int x = 0; x < text.length(); x++) {
            sum += text.charAt(x);
        }

        return sum % 256L;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(checksum8("Yle2"));
    }
}

在这里插入图片描述

  1. 心跳包解析
    在这里插入图片描述
    在这里插入图片描述

获取文件后使用工具进行分析(https://github.com/DidierStevens/DidierStevensSuite)

HTTPS
4. 证书特征(.store)
在这里插入图片描述
5. 源码特征(ja3,ja3s)
client hello 4d5efa96609dc906f796e63cff009c2a db36bad574044a5104a59b0c676991ef
server hello 15af977ce25de452b96affa2addb1036 2253c82f03b621c5144709b393fde2c9
CS详细流量分析

二、Sliver

1. 特征分析

HTTP:

  1. 路径特征:server\configs\http-c2.go
  2. 固定url路径
  3. 参数名称的构造规律
  4. 参数值的长度及规律
  5. sessionID/Cookie的交换
  6. Cookie的名称生成、cookie值的长度及规律

根据路径文件名,后缀,cookie这些信息到源码里面的数组随机组合配合分析排查

HTTPS:

  1. ja3/ja3s(19e29534fd49dd27d09234e639c4057e,f4febc55ea12b31ae17cfb7e614afda8)

### 使用 Wireshark 捕获并分析 Metasploit 生成的恶意流量 #### 工具准备 为了捕获和分析由 Metasploit 生成的恶意网络流量,特别是 C2(命令与控制)通信中的域名、IP 地址以及 Payload 数据包,可以按照以下方法操作。 --- #### 流量捕获配置 在 Kali Linux 中启动 Meterpreter 的 `packetrecorder` 插件来记录目标主机上的网络流量。通过指定接口编号 `-i` 和日志路径 `-l` 参数完成设置[^2]: ```bash meterpreter > run packetrecorder -i 2 -l /root/ ``` 上述命令会将抓取的数据存储至 `/root/logs/packetrecorder/` 文件夹下的 `.cap` 文件中。此文件可被导入到 Wireshark 进行进一步分析。 --- #### 导入数据到 Wireshark 1. **打开 .cap 文件** 启动 Wireshark 软件后,在菜单栏选择 “File -> Open”,加载之前保存的 `.cap` 抓包文件。 2. **过滤特定协议** 配置显示过滤器以聚焦于 HTTP 或 HTTPS 协议,因为大多数 C2 通信依赖这些常见协议传输数据。输入如下过滤条件: ```plaintext http || tcp.port == 80 || tcp.port == 443 ``` --- #### 分析 C2 通信 利用 Wireshark 提供的功能解析 C2 请求的具体细节。 ##### (1) 定位恶意域/IP 地址 观察 HTTP 请求头字段中的 Host 条目或者 DNS 查询部分,识别出可疑的目标服务器地址。例如,如果发现频繁访问某个固定 URL,则该站点可能作为 C2 控制中心存在[^1]。 ##### (2) 解码有效载荷(Payload) 对于加密后的 payload 数据流,尝试解密过程取决于所使用的算法类型。假设采用的是简单的 XOR 加密方式,则可以通过编写脚本实现自动化还原工作;而对于更复杂的 SSL/TLS 层面保护机制,则需借助中间人攻击技术(MITM)获取明文内容后再做深入研究。 以下是 Python 实现基础 XOR 解密的一个例子: ```python def xor_decrypt(ciphertext, key): plaintext = ''.join([chr(ord(byte) ^ ord(key[i % len(key)])) for i, byte in enumerate(ciphertext)]) return plaintext ciphertext = b'\x1f\xbe\xa7...' # 替换为实际截获的内容 key = 'secret' # 设定对应的秘钥字符串 print(xor_decrypt(ciphertext.decode(), key)) ``` 注意:以上仅为演示目的提供代码片段,请勿非法使用此类工具和技术! --- #### 结果验证 最终确认提取出来的信息是否匹配预期结果——即是否存在已知威胁情报数据库中标记过的不良行为模式关联项。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三年之约-第二年

你的鼓励是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值