跳转至

压缩文件

CTF 伪加密

RAR 5.0 以前的版本的压缩文件头部和文件头部有用于表示文件是否加密的位, 因此可以通过修改该位来实现伪加密. RAR 5.0 及以后的版本则使用加密头, 其中 Encryption flags 用于表示是否存在密码校验值.

John the Ripper 可以用于提取压缩包的密码 hash 值.
支持提取 hash 值的文件格式非常之多, 这里仅列举几个:

zip2john [file] > hashes.txt
rar2john [file] > hashes.txt
perl 7z2john [file] > hashes.txt

Warning

部分格式文件的提取器是脚本语言编写的, 因此需要使用对应的解释器去执行.

john hashes.txt        # 进行破解, 会包含破解结果和其他内容
john hashes.txt --show # 显示破解结果

hashcat 可以充分利用硬件性能对 hash 值进行破解.

hashcat -m [hash_type_id] -a [attach_mode_id] [file|hash] [dict]

其中 hash_type_idattach_mode_id 可以通过 hashcat --help 来查看.

Warning

使用 John the Ripper 提取 hash 值的结果并不只包含 hash 值, 若要传递给 hashcat 使用, 则需先剔除非 hash 的内容.

Kraken 是一款 Windows 下破解压缩文件的工具.

  • 支持 zip, rar, 7z 格式的压缩文件.
  • 通过字典或规则(长度区间, 前缀后缀, 字符集).
  • 破解进度自动保存/可恢复.

参见

评论