【杂项入门-zip明文攻击】

  • A+
所属分类:CTF专场 逆向工程

zip明文攻击

所谓明文攻击就是已经通过其他手段知道zip加密文件中的某些内容,比如在某些网站上发现它的readme.txt文件,或者其他文件,这时就可以尝试破解了,例如我今天刚做了一个明文攻击的小题目:

 

源文件是:明文攻击.zip,但是一看发现zip文件里面有一个之前看到过的hash.exe,和一些其他加密文件,所以就将已经拥有的hash.exe压缩成zip,注意打包完成后,需要确认二者采用的压缩算法相同。一个简单的判断方法是用winRAR打开文件,同一个文件压缩后的体积是否相同。如果基本相同,并且crc32也必须相同,可以说明你用的压缩算法是正确的。如果不同,就尝试另一种压缩算法。

 

接下来就用神器archpr进行明文破解,注意选择的明文是hash.zip(特别注意archpr5.3版本找到密钥之后有提示而5.4版本没有提示)


杂项第一题: 神秘的文件

【杂项入门-zip明文攻击】

https://ctf.bugku.com/files/d017f513e8f414cae61bfa3498ea34a8/5ee325f5-44c6-4a0b-b496-a0b11ef6dca1.rar

下载压缩包后解压

【杂项入门-zip明文攻击】

里面是一个压缩包和图片

【杂项入门-zip明文攻击】

【杂项入门-zip明文攻击】

再次解压flag,需要输入密码

【杂项入门-zip明文攻击】

双击压缩包,发现压缩包中含有logo.png

【杂项入门-zip明文攻击】

后者含有前者,想到明文攻击

将logo.png压缩做明文。将logo文件压缩为 zip

【杂项入门-zip明文攻击】

【杂项入门-zip明文攻击】

q1w2e3r4

将压缩包里的文件解压出来,打开doc文件,没有什么有用的信息,但它是肯定有问题的,

【杂项入门-zip明文攻击】

于是用binwalk检查一下,果然有问题,用foremost分离

【杂项入门-zip明文攻击】

【杂项入门-zip明文攻击】

找到flag.txt,打开得到一串base64,解码,ok,得到flag

【杂项入门-zip明文攻击】

ZmxhZ3tkMGNYXzFzX3ppUF9maWxlfQ==  base64解码得flag:flag{d0cX_1s_ziP_file}

 

 

ARCHPR破解版是一个强大的压缩包密码破解工具,功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化,适用于ZIP和RAR档案的高度优化的口令恢复工具。ARCHPR破解版可以恢复保护口令或将用所有流行的档案版本创建的加密 ZIP 和 RAR 档案解除锁定

 

软件介绍

 

ARCHPR是一款压缩文件破解软件,它可以帮助你轻松破解压缩包加压的简单密码,稍微困难的密码经过一些特殊的方法也是可以破解的。

相必很多小伙伴经常也会碰到下载来的压缩包解压的时候需要密码。ARCHPR可以帮助你破解密码,它可以恢复保护口令或将用所有流行的档案版本创建的加密 ZIP 和 RAR 档案解除锁定。

 

 

杂项第二题: zip明文攻击

2015广强杯看到了一个zip爆破的题目,一个压缩包一个readme.txt,百度找到了大神的解答,zip明文攻击,用到ARCHPR

 

题目链接:http://pan.baidu.com/s/1o8gCCm2 密码:n87s

下载后解压

【杂项入门-zip明文攻击】

要把readme.txt先压缩成zip

Desktop.zip是要解压缩的文件

所谓明文攻击就是已经通过其他手段知道zip加密文件中的某些内容,这里有百度解说

【杂项入门-zip明文攻击】



杂项第三题: 论剑

【杂项入门-zip明文攻击】

https://ctf.bugku.com/files/934db0621d88bd8b16049c1b795c6a1a/lunjian.jpg

打开图片并保存在本地。

看下属性没什么发现

【杂项入门-zip明文攻击】

【杂项入门-zip明文攻击】

UE查看发现了一串奇怪的字符

以前知道如何修改PNG格式的图片的宽高,换到JPEG就一脸懵逼,经过百度知道是先寻找FFC2,3字节后即图片的高与宽信息。

【杂项入门-zip明文攻击】

【杂项入门-zip明文攻击】

修改文件高度,与宽度一致:

得到如下图片,发现部分flag被遮住:

【杂项入门-zip明文攻击】

再使用winhex查看发现一堆二进制:

【杂项入门-zip明文攻击】

8个一组转成ASCII码值,得到mynameiskey!!!hhh

查看常用文件头表,发现这是7z文件的文件头,修复一下文件头。继续使用binwalk分析,dd命令分离出压缩包。

【杂项入门-zip明文攻击】

压缩包里面发现一张图片,是加密了的,输入之前解密的ascii码,密码正确。又是一张图片,继续修改图片高度,发现这个信息。

【杂项入门-zip明文攻击】

结合之前的图片,base16解密一下,就得到flag了。

flag{666C61677B6D795F6E616D655F482121487D},使用16进制解密得到最终

flag{my_name_H!!H}



杂项第四题: 图穷匕见

【杂项入门-zip明文攻击】

https://ctf.bugku.com/files/f6697e1f904a0c30b56f72fcf0023434/paintpaintpaint.jpg

打开图片保存到本地

查看属性,有些提示看不懂先保存下来

【杂项入门-zip明文攻击】

图片的标题图穷flag见以及题目图穷匕见都暗示该图片在文件末尾隐藏了信息。

用16进制编辑器打开图片,找到jpg的文件尾FF D9,发现其后还有大量的数据

【杂项入门-zip明文攻击】

将之后的数据保存到txt中

【杂项入门-zip明文攻击】

其实用notepad++或者vim打开就可以看到后面大量的数据。

【杂项入门-zip明文攻击】

乍一看无从下手,其实只要尝试将数据按16进制->ASCII方式解码,思路就很明显了,下图中使用的是notepad++中的插件Converter进行解码

【杂项入门-zip明文攻击】

解码结果如下,很明显是坐标的形式

【杂项入门-zip明文攻击】

这时候再结合会画图吗的提示,将这些坐标做成一张图即可,用gnuplot这个工具比较方便,因此将坐标转为gnuplot能识别的格式 坐标1 坐标2

【杂项入门-zip明文攻击】

在Linux中使用

   gunplot

   plot "文件名"(注意“)

如下图

【杂项入门-zip明文攻击】

得到一个二维码

【杂项入门-zip明文攻击】

对该二维码在做灰度等的处理后,扫描可得flag

【杂项入门-zip明文攻击】

flag为flag{40fc0a979f759c8892f4dc045e28b820}

 

上面手工梳理的话工作量 很大,可以代码解决

import matplotlib.pyplot  as plt

i=0

fig=plt.figure()

with open("text.txt") as f:

       fordata in f.readlines():

              data=data.strip()

              data=eval(data)

              plt.scatter(data[0],data[1],c="255",marker=".")

              i=i+1

              print("rn[+]Has dealed",i,"lines")

 

plt.show()      

 

 

 

 


本文始发于微信公众号(LemonSec):【杂项入门-zip明文攻击】

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: