#小白一枚,写的有点繁琐,仅做学习记录
题目
艾斯的信仰,flag最后以md5提交
附件是一个zip压缩包,内容如图,一个.png和一个.txt文件
分析
-
打开baopo.txt
显示做不到爆破,可能是与爆破有一定的联系,与密码有关。
-
使用wirehex打开图片
(也可以使用别的,例如vsCode,但是需要hexdump插件)观察右侧的ASCII栏,也可以使用CTRL+F快速查找关键字,例如常见的flag和key,我们直接搜flag
查找到的内容如下
双击跳转到这个位置,观察到有aisi.png,baopo.txt和flag.txt,可以大概分析出这是一个图隐。
过程
- 分离文件
既然分析出有隐藏文件,就着手分离,把aisi2.png拖入kali,使用binwalk命令查看文件详细信息
binwalk aisi2.p
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 890 x 498, 8-bit/color RGBA, non-interlaced
91 0x5B Zlib compressed data, default compression
321789 0x4E8FD Zip archive data, encrypted at least v2.0 to extract, compressed size: 321828, uncompressed size: 321789, name: aisi.png
643671 0x9D257 Zip archive data, encrypted at least v2.0 to extract, compressed size: 56, uncompressed size: 39, name: baopo.txt
643782 0x9D2C6 Zip archive data, encrypted at least v2.0 to extract, compressed size: 74, uncompressed size: 140, name: flag.txt
644181 0x9D455 End of Zip archive, footer length: 22
可以看出aisi2.png文件中隐藏着zip文件包,然后使用foremost命令进行文件分离,最简单的文件分离命令
foremost aisi2.png
这行命令会自动生成/output目录存放分离文件
2. 破解zip压缩包
在output目录中找到分离出来的文件,发现了flag.txt,但是解压需要密码,想到了之前的baopo.txt中的话语:要爆破吗,我觉得你做不到!说明要爆破,仔细观察发现这zip包里还有另外两个本来就给了的文件,为什么还要压缩进去加密?已经知道了zip中某文件的未加密形式,显而易见应该采用已知明文攻击。
将这个zip包提到本机上,使用archpr进行明文攻击
明文攻击完成后,会有一个以_decrypted结尾的已经破解的压缩包,就可以打开直接解压了,打开flag.txt,发现是一串中文字符:羊井,羊夫,由口大,由口工,由由夫,由中中,由口大,由中中,由由夫,由口大,由由人,由口大,羊夫,由由口,由口人
3. 解码
上述中文字符经过查询后是当铺密码,该加密算法是根据当前汉字有多少笔画出头,对应的明文就是数字几。破解后,可以得到一串数字
98 97 105 104 117 122 105 122 117 105 113 105 97 110 103
然后根据ASCII对照表转字符,得到
baihuzizuiqiang
呼应了前面的aisi2图片,说明这个解码方向是正确的。
再根据题目使用在线转换工具转md5,得到flag
503a69f4350d3e071301be061dbbfaca
总结
要学会观察,分析给出的图片等文件,再进行上手操作,找出正确的方法去进行爆破,我还用了暴力破解来着,两小时也没出来。不要学我。