【CTF学习】PWN基础工具的使用(binwalk、foremost、Wireshark、WinHex)

发布于:2025-07-15 ⋅ 阅读:(16) ⋅ 点赞:(0)

binwalk、foremost、Wireshark、WinHex

环境

操作系统环境:
windows 11

虚拟机:kali-linux-2025.2-vmware-amd64.7z
官网下载地址:
https://www.kali.org/get-kali/

kali虚拟机默认账户密码均为:kali

时间:2025.7.14

PWN工具

binwalk (可分析pcapng格式文件)

binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具。 具体来说,Binwalk是一个固件的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。
在这里插入图片描述
从提供的 binwalk 分析结果中,可以得出以下关键信息:

  1. 文件类型与隐藏数据
    • 6666.pcapng 是一个网络抓包文件(通常由 Wireshark/tcpdump 生成),但内部隐藏了多个压缩数据段。
    • 检测到 7 个 xz 压缩数据块(偏移量 0xA1E2D0xA21ED 等),表明文件可能被分段压缩或包含多层嵌套的压缩数据。
    • 末尾存在 1 个加密的 ZIP 文件(偏移量 0x15B561),其中包含一个名为 flag.txt 的文件。

  1. 加密 ZIP 文件细节
    • 文件路径: flag.txt(名称暗示可能是目标数据)。
    • 加密强度:
      • 使用 至少 v2.0 的加密算法encrypted at least v2.0),安全性较高。
      • 压缩大小:52 字节,原始大小:40 字节(内容较短,可能是文本或密钥)。

  1. 分析线索
  • 嵌套结构可能性
    • 前面的 xz 压缩数据可能是解压 ZIP 所需的密码或密钥(例如:密码藏在 xz 解压后的文本中)。
    • 也可能是分阶段隐藏数据(如:逐层解压 xz 后获得 ZIP 的密码)。
  • 攻击方向
    1. 提取并解压 xz
      binwalk -e 6666.pcapng        # 自动提取所有数据段
      xz -d extracted/*.xz          # 解压所有 xz 文件
      
      检查解压内容(如文本/密钥/配置文件)。
    2. 破解加密 ZIP
      • 用提取到的潜在密码尝试解压:
        unzip -P '潜在密码' extracted/flag.zip
        
      • 若密码未知,使用 zip2john + john 暴力破解:
        zip2john flag.zip > hash.txt
        john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
        

  1. 潜在场景推测
    • CTF 挑战常见模式
      • 网络流量(pcapng)中隐藏压缩数据,需提取并逐层解压。
      • flag.txt 是最终目标,其密码可能通过解压前面的 xz 文件获得。
    • 恶意软件行为
      • 攻击者可能通过流量传输加密的载荷(如ZIP中的 flag.txt 实为恶意指令)。

下一步行动建议

  1. 提取所有数据段
    binwalk -e 6666.pcapng
    
  2. 优先检查解压后的 xz 内容
    • 是否有文本文件包含密码或提示?
    • 是否有嵌套的压缩文件?
  3. 集中破解 ZIP
    • 若从 xz 文件中获得密码,直接解压 flag.txt
    • 若无,启动字典爆破(工具:johnfcrackzip)。

关键点:ZIP 加密是核心障碍,而 xz 数据可能是突破口。务必检查解压后的 xz 内容是否包含密码线索!

foremost (提取pcapng格式里的内容)

可以依据文件内的文件头和文件尾对一个文件进行分离,或者识别当前的文件是什么文件。比如拓展名被删除、被附加也仍然可以对其分离。
在这里插入图片描述
此处我们使用foremost 6666.pcapng命令提取其中的压缩包文件,在zip里面,打开提示需要密码。
在这里插入图片描述

如果使用时遇到下述报错:
┌──(kali㉿kali)-[~/Desktop]
└─$ foremost 6666.pcapng
Command ‘foremost’ not found, but can be installed with:
sudo apt install foremost
Do you want to install it? (N/y)y
sudo apt install foremost
[sudo] password for kali:
Error: Unable to locate package foremost
则表明,需要更新软件包列表,用sudo apt update,之后,再次执行foremost 命令进行安装,或执行sudo apt install foremost命令安装后再次执行foremost 命令

Wireshark(提取数据包里面的文件数据)

用Wireshark打开6666.pcapng文件,界面如下
在这里插入图片描述
通过分组详情,找到6666.jpg有关的数据连接,能找到很多个,我们随便使用其中一个即可
在这里插入图片描述
通过追踪流,追踪TCP流,找到所有有关此TCP 连接的所有数据包

在这里插入图片描述

数据包内文件如下
在这里插入图片描述

对于jpg格式的文件,FFD8是文件的开头,FFD9是文件的结尾
在这里插入图片描述

在这里插入图片描述
所以我们从开头到结尾的这一段,就是这个jpg文件的编码,全部复制出来。

文件编码:FFD8FFE000104A464946…F81BFF002F5FE96BFFD9

WinHex(将文件编码转换为图片)

创建一个1MB的空白文件
在这里插入图片描述
把完整的文件编码粘贴进来(文件编码:FFD8FFE000104A464946…F81BFF002F5FE96BFFD9),并选择ASCII Hex格式
请添加图片描述

粘贴进来的样子

请添加图片描述
另存为jpg文件格式

请添加图片描述

打开文件,如图所示,密码就在图片上

请添加图片描述

OVER

在这里插入图片描述
Th1s_1s_p4sswd_!!!
在这里插入图片描述
flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}


网站公告

今日签到

点亮在社区的每一天
去签到