上一部分我们模拟了如何通过wireshark获取有用信息(securityoverridehackingchallenge 解题思路汇总——Forensics)。今天的题目是steganography,所谓steganography,基本上就是要你在文件中寻找隐藏的信息。所谓隐藏的信息,又和数字水印不同,通常情况下是通过各种文件格式,压缩方法,或者不可见位置来使得目标信息不能直观的被找到,属于CTF属性比较强的题。现实场景中更多的应当是加密和水印,而对于加密和水印的破解,在不知道算法的前提下是很难进行的。不过,完成这类题目,有利于提高攻击者对各类文件格式进行了解,同时也是一个发挥想象力的部分。
5 steganography
5.1 Hiddeninformation discovery
要你从一张jpeg图片中找到隐藏的密码。将图片下载下来,直接右键查看属性,在详情中发现有注释内容,不过windows上为乱码。因此使用Linux下载图片,使用exif查看文件属性,即可获得注释内容,包含密码。
5.2 Hiddeninformation discovery
下载图片下来,发现包含Adobe Photoshop的一些信息。本来以为可以按照ps直接打开,结果不行。后来逛了下论坛,发现是要在对图片进行亮度,对比度之类的调整。于是用ps载入图片,然后尝试各种调整效果。最后发现把曝光度调到最大就可以看见了(按老美的话说:bring the lightinto the darkness)。
PS:发现了一个提供在线PS的网站:https://pixlr.com/editor/
5.3 Hiddeninformation discovery
使用strings命令获取其中的可编码字符串,发现文件末尾有Rar!,passwd.txt,dgtNf3d。基本可以断定是将图片和一个压缩包合在一起了。重命名jpg为rar,使用压缩工具打开,果然是这样。关于这个技巧,在之前研究PHP相关注入的博文也提到了。
5.4 Hiddeninformation discovery
只能说这种题目没点提示还真是难。必须要发现在左下角有一道1px宽的线。放大就可以看出色值不一,肯定是有编码内容的。于是一个像素一个像素的取出来,其蓝色的色值分别为:6468 65 20 70 61 73 73 77 6F 72 64 20 69 73 20 35 33 44 34 67 64 34。放在UltraEdit里面编辑一下,就可以知道密码是什么了。
5.5 Hiddeninformation discovery
这一题我基本算是卡住了,也没能找到什么有用的提示。此题是要求从下图中找到隐藏的信息。基本可以确定的一点是需要从车的颜色中找到编码。不过显然不是简单的ASCII了,因为色值是8个bit,而ASCII只有7个bit,范围已经超出了。根据图中的文字提示,“Sometimes we add or subtract things inour life just to make things better”,我猜测是要把颜色信息去除掉,通过灰度值来取数据,这也是为什么上方的logo全部置灰的原因。不过这段话后面又接了But,就有点让人摸不清头脑了。”Sometimes,we kick the odd one out, but only later do we realize that it might just be thekey to our success”,猜测是需要去除掉色值或灰度值中的一个bit位,因为这样正好能够构成一个ASCII字符集。同时,一行有7辆车,每辆车去掉的一个bit位合起来也刚好构成ASCII字符集,可以组成一个key。已经在灰度上进行了类似尝试,总是会出现一些生僻符号,基本可以判定为失败了。
已经在这个问题上浪费了太久时间了,所以我决定跳过这个部分。如果有人想要挑战,欢迎和我交流,共同努力。