2026软件系统安全赛traffic_hunt
字数 3891
更新时间 2026-03-19 12:08:19

2026软件系统安全赛 Traffic Hunt 题目深度解析与攻击链路复现教学

本文档基于一篇2026年软件系统安全赛的CTF挑战(traffic_hunt)writeup编写,旨在详细解析一次完整的、涉及多层攻击链的网络安全事件,并将其转化为教学材料,以帮助安全研究人员和学习者深入理解高级持续性攻击(APT)的常见手法、流量分析技巧与逆向分析方法。

一、 挑战背景与概述

本次分析的题目是一个典型的网络流量取证与溯源分析挑战。攻击者通过一系列精心设计的步骤,成功入侵了目标服务器,并最终获取了Flag。整个攻击链结合了Java Web漏洞利用、内存马注入、文件上传、木马回连和加密通信分析等多个安全领域的知识。

核心目标:从提供的网络流量包(PCAP)中,还原攻击者的完整攻击路径,并最终解密出攻击者窃取或生成的Flag。

二、 攻击链详细步骤解析

步骤1:初始漏洞利用 (Shiro RememberMe 反序列化)

攻击始于对目标 10.1.33.69:8080 端口的扫描与探测。

  1. 关键发现:在HTTP流量中,发现请求中包含 remember 关键字。这是Apache Shiro框架身份验证绕过的典型痕迹。
  2. 利用点:攻击者利用了 Shiro RememberMe 反序列化漏洞。通过在Cookie中构造恶意的rememberMe字段,攻击者能够将序列化的恶意代码发送至服务器,并在服务器反序列化时执行,从而获得初始立足点。
  3. 流量特征:在流量包中找到利用此漏洞的特定HTTP请求。

步骤2:内存马注入 (Behinder Filter 内存马)

成功利用Shiro漏洞后,攻击者并非上传一个持久的Webshell文件,而是注入了内存马,具有更强的隐蔽性。

  1. 注入路径:攻击者将内存马挂载在了一个看似无害的路径上:/favicondemo.ico。这伪装成了一个网站图标请求,旨在规避基础的安全监控。
  2. 通信特征:大量对 POST /favicondemo.ico 的请求,其请求体(Body)是长串的Base64编码文本。这种模式是“冰蝎(Behinder)”或类似加密Webshell客户端的典型通信特征。
  3. 密钥分析
    • 从Shiro利用成功的回包或后续流量中,可以分析出攻击者为这个内存马设置的连接密码参数 p,其值为:HWmc2TLDoihdlr0N
    • 冰蝎密钥生成算法p 参数是连接密码。冰蝎(JSP版本)的AES密钥生成方式为:MD5(密码).hexdigest()[:16](取MD5值的前16个字符)。
    • 计算过程
      • HWmc2TLDoihdlr0N 的 MD5 值为:1f2c8075acd3d118674e99f8e61b9596
      • 取前16个字符:1f2c8075acd3d118
    • 结论:后续所有发送到 /favicondemo.ico 的Base64请求体,都可以使用 UTF-8字符串 "1f2c8075acd3d118" 作为AES密钥进行解密。

步骤3:通过内存马进行内网操作

攻击者通过冰蝎客户端连接到内存马,开始在受控主机上执行操作。

  1. 命令执行:解密早期的 /favicondemo.ico 请求,可以看到攻击者执行了基础的信息收集,如:
    • whoami (查看当前用户)
    • w (查看当前登录用户)
    • ps -ef (查看进程)
    • ls -la (列出目录)
  2. 文件操作模块:攻击者使用了冰蝎的“文件管理”或“文件操作”功能模块。该模块的通信数据被加密传输。通过解密,可以获取到一个 FileOperation 类的Java字节码。
  3. 木马上传:分析 FileOperation 模块的通信内容,发现了关键的上传操作:
    • 目标路径/var/tmp/out
    • 文件重组:上传文件被分块(blockSize = 30720),每个块有索引(blockIndex = 0 ~ 351)和Base64编码的内容(content)。通过将所有块的contentblockIndex排序、Base64解码、然后拼接,即可重组出被上传的原始文件——一个ELF格式的木马程序。

步骤4:持久化木马执行与回连

攻击者上传并运行了更强大的、独立的后门木马。

  1. 木马执行:通过冰蝎内存马,攻击者执行了命令:
    • cd /var/tmp/ ;chmod +x out
    • cd /var/tmp/ ;./out --aes-key IhbJfHI98nuSvs5JweD5qsNvSQ/HHcE/SNLyEBU9Phs=
    • 关键信息:木马启动时带有一个AES密钥参数,这个密钥(IhbJfHI98nuSvs5JweD5qsNvSQ/HHcE/SNLyEBU9Phs=)用于后续的C2通信加密。
  2. 回连会话:木马启动后,主动向攻击者的C2服务器 10.1.243.155:7788 发起回连。这是一个新的TCP会话,独立于之前的HTTP/冰蝎流量。

步骤5:加密C2通信协议分析

分析木马(/var/tmp/out)与C2服务器(10.1.243.155:7788)之间的加密通信,是获取Flag的关键。

  1. 木马逆向分析:对重组出的ELF木马out进行分析(例如使用pyinstxtractor等工具,因为它是PyInstaller打包的Python程序)。逆向分析后得知:
    • 通信使用 AES-GCM 加密模式。
    • 用于加密的Key就是启动参数中的那个Base64编码的字符串。
  2. 协议结构:观察回连会话的TCP流,发现其结构规律为:[4字节长度][加密数据包]交替出现。结合逆向信息,可确定完整的加密数据包结构为:

    [4字节 数据包长度][12字节 Nonce/IV][Ciphertext (密文)][16字节 GCM认证标签(Tag)]

  3. 解密流程
    a. 从TCP流中分离出每个完整的加密数据包。
    b. 提取每个包的前12字节作为AES-GCM的IV(Nonce)。
    c. 提取最后16字节作为GCM Tag。
    d. 中间部分即为Ciphertext。
    e. 使用Base64解码后的Key(IhbJfHI98nuSvs5JweD5qsNvSQ/HHcE/SNLyEBU9Phs=)和提取的IV、Tag,对Ciphertext进行AES-GCM解密,得到原始明文。

步骤6:获取Flag

按照上述解密流程,分析木马与C2服务器之间的几次交互:

  1. 交互记录(解密后的明文):
    • 攻击者(C2) -> 木马: pwd
    • 木马 -> 攻击者(C2): /var/tmp
    • 攻击者(C2) -> 木马: ls
    • 木马 -> 攻击者(C2): out
    • 攻击者(C2) -> 木马: echo Congratulations
    • 木马 -> 攻击者(C2): Congratulations
    • 攻击者(C2) -> 木马: echo 3SoX7GyGU1KBVYS3DYFbfqQ2CHqH2aPGwpfeyvv5MPY5Dm1Wt9VYRumoUvzdmoLw6FUm4AMqR5zoi (关键)
    • 木马 -> 攻击者(C2): 3SoX7GyGU1KBVYS3DYFbfqQ2CHqH2aPGwpfeyvv5MPY5Dm1Wt9VYRumoUvzdmoLw6FUm4AMqR5zoi
    • ...后续 echo bye
  2. Flag解码:攻击者发送的第七条指令包含一个长随机字符串。这个字符串就是最终Flag的编码形式。
    • 根据writeup提示,此字符串经过 Base58Base64 两层编码。
    • 解码步骤
      • 首先对 3SoX7GyGU1KBVYS3DYFbfqQ2CHqH2aPGwpfeyvv5MPY5Dm1Wt9VYRumoUvzdmoLw6FUm4AMqR5zoi 进行 Base58解码
      • 将上一步解码得到的字节数据,再进行 Base64解码
      • 最终得到明文Flag:dart{d9850b27-85cb-4777-85e0-df0b78fdb722}

三、 知识要点与技能总结

  1. 漏洞识别:熟悉常见Web框架(如Apache Shiro)的历史高危漏洞特征和利用方式。
  2. Webshell流量分析:识别冰蝎(Behinder)、哥斯拉等加密Webshell的通信模式和密钥推导算法。
  3. 协议分析:能够从原始TCP流中识别和解析自定义的加密通信协议,理解长度字段、IV、认证标签等组成部分。
  4. 加密解密操作:熟练使用工具(如CyberChef)或编程进行AES(CBC/GCM等模式)的加解密操作。
  5. 逆向工程基础:能对打包的二进制程序(如PyInstaller打包的ELF)进行基础静态分析,提取关键算法和配置信息。
  6. 文件重组:从网络流量中识别分块传输的文件,并能够根据索引正确重组出原始文件。
  7. 编码识别与转换:熟练掌握Base64、Base58、Hex等常见编码,并能根据上下文判断编码层次并进行链式解码。
  8. 攻击链构建思维:将分散的、不同层次的攻击证据(漏洞利用、内存马、文件上传、持久化后门、C2通信)串联起来,形成完整的攻击故事线,这是高级威胁狩猎和溯源的核心能力。

通过本教学文档的学习,读者应能掌握从复杂网络流量中抽丝剥茧、还原高级攻击全貌的方法论和实用技能。

相似文章
相似文章
 全屏