陇剑杯2021 - 流量分析 Writeup题目解析

2025博客之星年度评选已开启 10w+人浏览 852人参与

陇剑杯2021 - 流量分析 Writeup

1. 静态分析 (IDA)

首先,对提供的相关可执行文件进行静态分析。

  • 在 IDA Pro 中加载程序,使用 “Strings” 视图 (Shift+F12) 查找可疑字符串。

  • 发现 Login Successful! 字符串,暗示程序可能包含认证或登录逻辑。
    在这里插入图片描述

  • 双击 Login Successful! 跳转到其在代码中的引用位置。分析上下文,注意到附近存在 P05= 字符串。这看起来像一个自定义协议的标识符或魔术字 (Magic Number)。
    在这里插入图片描述

2. Pcap 包初步分析

接下来,分析提供的 .pcap 流量包。

  • 使用 Wireshark 打开 pcap 文件。

  • 观察到多个数据包(特别是 UDP 包)的 Data 段(Payload)以 P05= 开头。
    在这里插入图片描述

  • 结合 IDA 中发现的 Login Successful!P05=,可以推断这是一种自定义的应用层协议,P05= 是其标识,并且可能涉及认证过程。数据部分看起来杂乱,有加密的可能性。

3. 协议细节分析与解密准备

  • 加密猜测: 数据部分看起来像密文。根据经验,推测可能使用了对称加密算法,如 AES。

  • 数据格式转换: 为了更方便地进行脚本化分析,可以将 pcap 文件转换为更易于处理的格式,例如 JSON。可以使用 tshark 命令:

    tshark -r your_capture.pcap -T json > capture.json
    

    在这里插入图片描述

  • 协议字段分析: 在 JSON 文件中搜索 UDP 载荷 (udp.payload) 或直接在 Wireshark 中分析 P05= 之后的数据。

    • 发现 P05= 之后的第一个字节(即整个 UDP 载荷的第 5 个字节,索引为 4)的值变化非常有规律。
    • 这个字节很可能代表数据包类型功能码
    • 通过观察不同类型值的数据包内容和交互流程,可以确定:当该字节值为 01 时,数据包似乎用于交换密钥。其他值可能对应登录、数据传输等操作。
      在这里插入图片描述

4. 编写脚本进行解密与分析

  • 目标: 编写 Python 脚本,自动化处理流量数据,提取密钥并解密通信内容。
  • 脚本逻辑:
    1. 解析 pcap 文件或转换后的 JSON 文件。
    2. 识别通信双方(根据源/目的 IP 地址对)。
    3. 查找每个通信会话中类型为 01 的数据包,根据协议逻辑提取交换的密钥信息。
    4. 使用提取到的密钥,对该会话中其他类型的数据包载荷(除去 P05= 和类型字节)进行解密。
    5. 分析解密后的明文数据。
  • 结果: 运行脚本批量处理所有通信流。在解密后的数据中查找异常或关键信息,最终找到 Flag。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值