Bugku CTF 神秘的文件

Bugku CTF 神秘的文件

本题主要考察 ZIP 明文攻击、Office 文档结构分析以及 Base64 解码。

Flag:flag{d0cX_1s_ziP_file}

1. 初步分析与获取文件

下载题目附件并解压,通常会得到两个文件:

  • logo.png:一张普通的图片。
  • flag.zip:一个加密的压缩包。

尝试直接解压flag.zip会提示需要密码。

2. ZIP 明文攻击 (Known Plaintext Attack)

观察发现,加密的flag.zip内部包含一个名为logo.png的文件,而外部正好有一个未加密的logo.png。这符合 ‌ZIP 明文攻击‌ 的条件(即已知加密压缩包中部分文件的明文内容)。

操作步骤:

  1. 制作明文压缩包‌:
    • 使用 ‌WinRAR‌(注意:必须使用 WinRAR,7-Zip 或其他工具压缩可能导致算法头不同从而攻击失败)将外部的logo.png压缩成logo.zip
    • 确保压缩格式为 ZIP,且压缩方式与目标一致(通常默认即可)。
  2. 验证 CRC32‌:
    • 分别查看flag.zip内的logo.png和你生成的logo.zip内的logo.png的 CRC32 值。如果两者一致,说明文件内容完全相同,可以进行明文攻击。
  3. 执行攻击‌:
    • 使用工具 ‌ARCHPR‌ (Advanced Zip Password Recovery)。
    • 选择“明文攻击”模式。
    • 导入加密文件flag.zip
    • 导入明文文件logo.zip
    • 点击开始,工具会自动计算出加密密钥并破解出密码(或者直接使用恢复出的密钥解密)。
    • 注:部分版本题目可能通过暴力破解也能得到简单密码如q1w2e3r4,但标准解法是明文攻击。

3. 解压与分析 Office 文档

使用破解出的密码解压flag.zip,得到两个文件:

  • logo.png
  • 2018山东省大学生网络安全技能大赛决赛writeup.docx(文件名可能略有不同,但后缀为.docx.doc

打开这个 Word 文档,表面上看可能是一些无关的内容或提示,甚至可能是损坏无法直接打开。

这时需要意识到 ‌Office Open XML 格式(.docx, .xlsx, .pptx)本质上就是 ZIP 压缩包‌。

操作步骤:

  1. 修改后缀‌:将.docx文件的后缀名改为.zip
  2. 解压文档‌:解压这个 ZIP 包。
  3. 寻找 Flag‌:
    • 进入解压后的文件夹,通常 Flag 不会直接在根目录。
    • 根据 Office 文档结构,重点检查docProps文件夹。
    • docProps目录下找到flag.txt文件。

4. Base64 解码

打开flag.txt,里面的内容是一串 Base64 编码字符串:

ZmxhZ3tkMGNYXzFzX3ppUF9maWxlfQ==

使用 Base64 解码工具进行解码:

flag{d0cX_1s_ziP_file}

总结关键点

  1. 明文攻击条件‌:加密包内有文件,且你有该文件的未加密原版。
  2. 工具选择‌:制作明文压缩包时务必使用 ‌WinRAR‌,否则 ARCHPR 可能报错。
  3. Docx 本质‌:.docx是 ZIP 格式,改后缀解压是 CTF 中常见的套路。
  4. Flag 位置‌:隐藏在docProps/flag.txt中,而非文档正文。