HackThisSite - Steganography Mission 17

Challenge

Steganography(/missions/stego/lvl/stego17.jpg,作者 Andrew9)

Solution

状态:未通关(partially verified),链条已经推进到最后一层,卡在最后一层归档的密码。

1
2
3
$ curl -sL -b "$HTS_COOKIE" -o stego17.jpg \
'https://www.hackthissite.org/missions/stego/lvl/stego17.jpg'
$ binwalk stego17.jpg

JPG 偏移 22730x8e1)处就是 RAR 头 52 61 72 21 1a 07 00,切出来即可解开, 里面是一个 16 页的 PDFstego17.pdf)。

1
$ pdftotext -layout stego17.pdf - | head -c 200
  • 16 页里只有第 8 页有文字层,而且是白色字体(肉眼看不见);
  • 抽出来的文字层是一段 base64
  • base64 解出来得到的是一段空格分隔的十六进制文本(形如 35 32 20 36 31 ...), 也就是说要再解一层:把这些十六进制对还原成字节,才得到真正的文件。它以 Rar! 开头, 是一个 148 字节、文件头加密的 RAR。
1
2
$ rar2john real.rar > h17.txt
$ john --format=rar-opencl --wordlist=rockyou.txt h17.txt # 未命中

下一步:检查 PDF 其它页是否以图像形式藏了更多白字(渲染成图逐页看),并用 GPU 规则集/掩码继续破密码。

Vulnerabilities

这关是多层套娃 + 视觉隐身的组合:白色字体利用的是渲染与提取之间的语义差 (人看不见,但文字层在),而 base64/十六进制两层包装则纯粹是提高人工成本。 两者都不是密码学保护:最后一层归档确实是加密的,安全性全落在口令上。

未通关:已到末层,JPG→RAR→16 页 PDF 第 8 页白字 base64→再解十六进制→148B 加密 RAR;密码未破