本文已参与「新人创作礼」活动,一起开启掘金创作之路
前置知识
-
file 命令根据文件头,识别文件类型,如果文件头前边有数据就识别不出来了* strings 输出文件中的可打印字符可以发现一些提示信息或者特殊编码的信息可以配合-o参数获取所有的ASCII字符偏移(字符串的位置)* binwalk命令根据文件头识别文件-e提取文件* foremost命令提取文件,建议两个分离命令都试一遍* 各种文件头本地搜索:文件头压缩包
基本思路
1.尽量用winrar避免异常
2.看属性
3.伪加密
4.暴力破解
5.明文攻击
6.crc32碰撞
7.多个压缩文件合并 cat 文件名(按需) > 保存文件名
文件结构
[记录文件头 + 文件结构 + 数据描述符] {此处可重复多次} + 核心目录 + 目录结束标识
暴力破解密码
仅适用于密码长度小于等于6位的,大于6位时间会非常的长
直接用apchpr爆破
zip伪加密
原理:
记录文件头以及核心目录区存在一个通用位标记(General purpose bit flag)的两个字节,不同的比特位有着不同的涵义
无加密:
压缩源文件数据区(ushort frFlags)的全局加密应当为 00 00,
且压缩源文件目录区的全局方式标记(ushort deFlags)应当为00 00
伪加密
压缩源文件数据区的全局加密应当为 00 00
且压缩文件目录区的全局方式标记应当为 09 00
真加密
压缩源文件数据区的全局加密应当为 09 00
且压缩源文件目录区的全局方式应当为 09 00
修复工具:
-
winrar修复(也可以修复其他的修改内容) 工具->修复* binwalk foremost无视伪加密* ZipCenOp.jar(win)找到所在文件夹,在地址栏输入cmdjava -jar ZipCenOp.jar r 文件名 ### CRC32碰撞
原理:
压缩包的crc32的值是未加密状态计算来的
如果文件内容很少(4字节左右)加密的密码却很长,可以使用crc32爆破获取原文件的内容
脚本F:\CTF\CTF工具合集\脚本\CRC32碰撞\crc32-linux.py
明文攻击
基本条件
-
一个加密的压缩包文件
-
已知压缩文件的压缩工具,如winrar,7z
-
已知压缩工具的版本
-
已知压缩包文件中部分连续的内容,至少12字节,任意文件
方法
1.将明文文件压缩成压缩包
2.确认两者的压缩方式相同,即对比压缩之后的crc32值
3.使用apchpr进行明文攻击
tips:
在攻击过程中密钥框如果有字符了就可以停止攻击,点击右侧使用已知密钥解密按钮
docx
包含xml文件的zip压缩包
可能隐藏文件,信息在压缩包里,在word中看不到
可以将docx后缀改为zip
图片
图片内容、图片分析、图片拼接、图片修复、EXIF、LSB
基本思路
1.看属性详细信息可以使用exiftool(linux)或者 identify 查看2.010editor或winhex或notepad++打开看有无特殊信息,然后搜索ctf、CTF、flag、key等关键字<

最低0.47元/天 解锁文章
2382

被折叠的 条评论
为什么被折叠?



