从CTF比赛真题中学习压缩包伪加密与图片隐写术

先讲个笑话,刚刚打完MAR DASCTF明御攻防赛,一如往常,很轻松便拿到了两个flag(签到与问卷),哈哈,一个脑细胞都不用消耗
在这里插入图片描述
好了下面通过其中的一道misc题,一起学习一下伪加密与图片隐写的破解

本文知识点:

  • 遇到加密压缩文件怎么办?需要哪些工具
  • 遇到图片隐写怎么办?需要哪些工具
  • 十六进制数据还原文件

大佬就不用看了,全是小白操作

在这里插入图片描述

压缩包类的解题思路

如遇加密压缩包,在没有密码提示的情况下,先判断是不是伪加密
最简单的方法就是看十六进制数据,第一行如果有09多半就是了

在这里插入图片描述
点击查找十六进制数值搜索504B,最后如果有09那基本就是了,改为00完活
在这里插入图片描述
在这里插入图片描述

伪加密破解

比如这道misc题,结合了压缩包伪加密与图片隐写技术,我们就以它为例学习一下这两种常见技术的解决方法
在这里插入图片描述
就是这个压缩文件,后面带*说明需要密码,但是题中没有任何密码提示,ctf中不可能让你无脑爆破,因为时间是有限的,但也有可能是弱口令,反正无从下手先爆破一下试试呗
在这里插入图片描述
当时我也想到了伪加密,用WinHex打开压缩包,将全局方位标记中的09改为00保存即可解除密码限制,这里有两个文件所以要改两处,但提示我试用版超过200kb不能保存,怎么回事,我记得是破解的啊
在这里插入图片描述
比赛结束后我才找到破解伪加密的工具——ZipCenOp
命令java -jar ZipCenOp伪加密破解.jar r 简单的png隐写的附件.zip
在这里插入图片描述
在这里插入图片描述

图片隐写破解

图片隐写的方式很多样,用到的工具也多,文件名已经提示的很明显了,是png隐写,所以朝着这方面想就行了
在这里插入图片描述
binwalkStegsolve都没能找到什么有用的东西
在这里插入图片描述
所以百度一下,当当当,学到两个新工具pngcheckTweakPNG
在这里插入图片描述
它们的功能是差不多的,只不过一个是命令行模式一个是图形化界面,但pngcheck可以识别多个图像类型,而另一个只能是png格式
在这里插入图片描述
复制一张hint.png然后用TweakPNG打开,可以看到两个IDAT块,正常的图片应该只有一条IDAT数据不同,而这里有两条不一样的,可以判断是两张图片
在这里插入图片描述
右键将上面四条Delete,然后Ctrl+s保存
在这里插入图片描述
这样隐藏的图片就出来了,这句意思是你可以用89504E猜出旗子在哪里
在这里插入图片描述
89504E应该是个密码,而需要密码解图片隐写的工具有很多,如:steghidestegpy,然而都没用,看了大佬的wp才知道用的是outguess,又学了一个工具
在这里插入图片描述

这个kali里是没有的,输入apt install outguess安装即可
在这里插入图片描述

用命令outguess -k 89504E -r flag.jpg -t output.txt导出加密内容

在这里插入图片描述
里面有一行编码字符,看着像Base64
在这里插入图片描述

在这里插入图片描述

十六进制数据还原文件

解密得到一串好像十六进制的东西
在这里插入图片描述
十六进制再转字符串发现有个flag.txt字样,有经验的已经想到了,这可能是个压缩文件,那怎样将十六进制数据变成文件呢?大神用的Python导出成文件,那咱这种菜鸡不会,只能用笨办法喽
在这里插入图片描述
打开WinHex点击左上角新建
在这里插入图片描述
输入4个字符,OK
在这里插入图片描述将十六进制字符粘贴进去,选择第三个
在这里插入图片描述

然后保存到桌面即可,其实现在这个文件可以用压缩软件直接打开
在这里插入图片描述

或者将后缀改为gz、zip都可以,假如你不知道这是什么文件,那就将它拖到Linux系统中用file命令验证一下
在这里插入图片描述
打开后flag就在txt文件中
在这里插入图片描述
看完你会发现其实这道题没有多难,只是很多工具我们不知道,没见过罢了,总之还是要多学多看,不要做井底之蛙

文章提到的工具都已打包,公众号回复“CTF”获取下载链接

参考文章:

欢迎关注公众号,原创不易,转载请注明来源【爱国小白帽】😘

https://img-blog.csdnimg.cn/2020092912185793.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTcyODk3Ng==,size_16,color_FFFFFF,t_70#pic_center

</article>
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CTF(Capture The Flag,夺旗赛)是一种网络安全竞赛,其涉及到图片的应用。图片是一种将信息藏在图像的技,使得除了原本的图像外,其他人很难察觉到存在着藏的信息。 在CTF,常见的图片括: 1. LSB:最常见的图片之一,通过修改图像像素的最低有效位来藏信息。这种方法对于人眼来说几乎不可察觉,而且可以应用于不同的图片格式。 2. 色彩平面:将藏信息分散在各个色彩平面上,通过修改色彩通道的最低有效位来藏信息。相比于LSB,这种方法在保持图像视觉质量的同时使得藏的信息更难被发现。 3. 频域:利用图像的频域信息,如傅立叶变换等,将藏信息嵌入图像。通过对频域进行操作,藏的信息可以更加难以被探测到。 4. 容器:将藏信息嵌入到图片文件的非图像数据部分,如EXIF信息、文件尾端等。这种方法可以绕过对图像本身的修改检测。 5. 混合:结合多种的方法,将藏信息嵌入图像。例如,可以先通过LSB将信息嵌入到图像,然后再通过频域对图像进行处理。 在CTF比赛,参赛选手可能需要进行图片的解密任务,以获取藏的信息。他们可以使用各种工具和技来查看和修改图像,以寻找藏的信息。常用的图片相关工具括Steghide、Stegsolve等。另外,了解常用的原理,对于解决任务也是非常有帮助的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值