萌新第一次尝试misc题目,在看了wp之后做出来了,不过还是觉得自己写一下wp作为学习记录比较好,于是就写了。
下面是misc几道题:
题目给的是一个压缩包,打开之后看到的是一个二维码png图片,用手机扫了一下,出现了一行secret is here,好像也不能发现什么。看了别人的wp,说要用binwalk检测。
这里插一下binwalk的介绍(百度之后),binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具。binwalk使用libmagic库,因此它与Unix文件实用程序创建的魔数签名兼容。binwalk还包括一个自定义魔数签名文件,其中包含常见的诸如压缩/存档文件,固件头,Linux内核,引导加载程序,文件系统等的固件映像中常见文件的改进魔数签名。
因为kali自带binwalk,把QR_code.png从主机拖进kali里面的文档文件夹里,具体功能可以在kali终端输入binwalk查询,如下图:
然后切换到QR_code.png所在目录下,我这里命令是cd 文档,然后用binwalk检测一下,输入binwalk QR_code.png,发现里面有个zip,binwalk QR_code.png -e把zip解压出来(emmm我感觉有点多余),发现压缩包加密了,里面有个4number.txt,也就是提示密码是4位,打开4number.txt是空的。
用fcrackzip来爆破密码,fcrackzip可以暴力破解zip密码,对弱密码非常有效;如果遇到强密码,这个工具恐怕无能为力。kali里面也自带了,2333。使用fcrackzip -h就可以查看它的所有命令参数,具体其他功能见此网页
学习用法之后,大概知道了怎么用,输入fcrackzip -b -c1 -u -l4 1D7.zip,
(-b代表brute-force;-l限制密码长度;-c指定使用的字符集),即可得到密码7639
用密码打开压缩包即可得到flag,注意修改提交格式哦!
文件是一个gif动图,还能看到有东西闪过,
法一:用图片隐写查看器stegsolve打开,用Frame Browser查看动态图的每一帧。
发现其第21、51和79帧有猫腻,将它们结合起来就是flag了。
stegsolve安装配置:配置好Java环境变量(就是需要安装Java,然后配环境变量,具体的配置过程上网一搜一堆,这里就不赘述),配置好环境之后直接打开就可以使用。
stegsolve下载:http://www.caesum.com/handbook/Stegsolve.jar
stegsolve功能简介:
上面是软件打开的截图,主要功能是Analyse,下面对一些功能进行介绍:
File Format:图片格式,主要查看图片具体信息;
Data Extract:数据抽取,图片中隐藏数据的抽取;
Frame Browser:帧浏览器,主要是对GIF之类的动图进行分解,动图变成一张张图片,便于查看;
Image Combiner:拼图,图片拼接。
法二:kali终端输入命令:convert aaa.gif aaa.png将aaa.gif按帧分解得到多张图片,即可发现三张包含flag的图片!!!
convert命令的一些用法:
gif动画由一系列图片按照一定的时间间隔来播放的,每张单独的图片作为gif动画的一帧。使用ImageMagicK的convert命令很容易获取gif动画中的每桢图片,例如命令 convert exam.gif p.png 就会把生产 p-0.png,p-1.png 等一系列图片。gif动画的原理就是把一些列动画合成在一起。所以通过convert很容易做到。例如命令 *convert .jpg dest.gif 是把当前目录下的所有 jpg格式的图片生成一个名为dest.gif的文件,有两个参数比较重要,分别是-delay和-loop,其中-delay是控制每桢的切换时间,-loop是控制gif动画的播放次数,默认是0,0表示无尽的循环播放。如果想控制每桢的间隔时间不一致,可以使用类似 convert -delay 50 0.jpg 1.jpg -delay 100 2.jpg 3.jpg 4.jpg dest.gif。
打开压缩包里面是KEY.exe,却不能运行。在kali里面用strings命令查看一下,(strings指令作用是把文件中的可打印字符串打印出来显示在控制台上,使用strings --help可以查看帮助文档。)
strings KEY.exe
data:image/jpg;base64,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
可以看出是jpg转成了base64,还原回去就好了,可以把上面第二行丢到浏览器地址栏里,得到二维码,扫一扫得到flag,
KEY{dca57f966e4e4e31fd5b15417da63269}
当然提交的是flag{dca57f966e4e4e31fd5b15417da63269}。
也可以在图片转换base64网址上转换,得到二维码。
题目提示是不是屏幕太小了,很可疑。用winHex打开图片,把图片的长和宽都修改为02 A7,保存图片再打开就可以看到flag了。(图片从第二行开始,前四位是长,后四位是宽。图片长和宽不匹配,在linux里面打不开,在windows下可以打开)
用winHex打开图片,搜索flag,果然在末尾找到了。
rar压缩包里面的txt文件打开需要4位密码,用rarcrack爆破。该软件用于暴力破解压缩文件的密码,但仅支持RAR, ZIP, 7Z这三种类型的压缩包,其特点是可以使用多线程,而且可以随时暂停与继续(暂停时会在当前目录生成一个xml文件,里面显示了正在尝试的一个密码)。这是真正的暴力破解,因为连字典都没用。
先在kali里面安装rarcrack,命令是apt-get install rarcrack,之后输入rarcrack 1.rar --threads 4 --type rar,会生成一个1.rar.xml文件,修改一下
<rarcrack>
<abc>0123456789abc>
<current>0000current>
<good_password>good_password>
rarcrack>
再次用上面的命令运行一下,过了很久得到密码2563,打开flag.txt,得到base64码ZmxhZ3s3MDM1NDMwMGE1MTAwYmE3ODA2ODgwNTY2MWI5M2E1Y30=,转换一下,得到flag{70354300a5100ba78068805661b93a5c}
做题之前,要知道下面这些知识,对理解很有帮助:
LSB(Least Significant Bit),意为最低有效位;MSB(Most Significant Bit),意为最高有效位。通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧。若MSB=1,则表示数据为负值,若MSB=0,则表示数据为正。
LSB图片隐写:png图片是一种无损压缩的位图片形格式,也只有在无损压缩或者无压缩的图片(BMP)上实现lsb隐写。如果图像是jpg图片的话,就没法使用lsb隐写了,原因是jpg图片对像数进行了有损压缩,我们修改的信息就可能会在压缩的过程中被破坏。而png图片虽然也有压缩,但却是无损压缩,这样我们修改的信息也就能得到正确的表达,不至于丢失。BMP图片一般是特别的大的,因为BMP把所有的像数都按原样储存,没有进行压缩。
png图片中的图像像数一般是由RGB三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为0x00~0xFF(0-255),即有256种颜色,一共包含了256的3次方的颜色,即16777216种颜色。而人类的眼睛可以区分约1000万种不同的颜色,这就意味着人类的眼睛无法区分余下的颜色大约有6777216种。
LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。
一幅完整的图像,红色绿色蓝色三个通道缺一不可。一幅图像,如果关闭了红色通道,那么图像就偏青色。如果关闭了绿色通道,那么图像就偏洋红色。如果关闭了蓝色通道,那么图像就偏黄色。当然还有个Alpha通道,是一个8位的灰度通道,也可以理解为透明度(粗糙的理解)。
使用stegsolve打开图片,按右方向键查看各通道显示的图像。一般有些题目会在某一个图像通道中直接显示出flag。
这道题,题目已经很明显了,用stegsolve打开图片,按右方向键查看各通道显示的图像,
可以发现Red,Blue,Green的0通道的图片上方有东西,用Data Extract查看这三个通道结合起来的东西,
Save Bin将图片保存为png图片,发现是一个二维码,扫一扫即可得到flag。
题目给出一张图片,binwalk分析后得到一个压缩包,再根据题目提示的四位密码,爆破得到密码为:8368,解压后即可得到flag。方法同第一道题。