CTF-MISC练习

素材:

链接:https://pan.baidu.com/s/1dfNYV22Gd2_XCXQpF48xUw
提取码:o7de

目录

1、AsianCheetah

2、dandelion

3、flagtxt

4、haha

5、minified

6、welc0me

7、双色块

8、虚幻

9、隐写3


1、AsianCheetah

使用stegsolve打开图片,点击左右箭头后并没有什么发现,

这个图片其实LSB隐写

首先选一个颜色的最低为,然后选择LSB 进行preview后,没有什么发现

当选择蓝色blue最低位时找到flag

二、使用zsteg,,将所有的排列组合直接显示出来,只针对PNG和BMP图片

现在kali中安装zsteg,  

然后  zsteg + 图片文件

2、dandelion

使用stegsolve打开图片

点按左右两个箭头,会发现一个二维码

然后使用收集或者电脑扫码工具扫码

扫码后是一串bese32加密字符串

MZWGCZ27LBSHW2CTNBPWG5DGHJKTE4ZQL5RW63ZRPU======

然后base32解码工具解码

3、flagtxt

有90000个像素点,文件中只有0和255,然后把图片画出来

使用脚本画成后是一个二维码

扫码后以一个base32加密的字符串,解密后就是flag

ONYXE6LSIVXF6ZTUOZTXWRRRIRPWCZLWORIGCLJQG56Q====

4、haha

首先把haha文件拖到winhex中,会发现大量的0

因为这是一块完整的磁盘,就要把这块磁盘进行挂载

Winhex下用文件刻画技术,相当于把文件中的文件都修复出来

选择specialist->interpret image file as disk,意思就是把这个磁盘镜像当作磁盘进行挂载

点进去之后就是磁盘刻画的结果

还有一些X开头的文件,意思就是可能修复没有成功的,只要修复成功的都可以看到文件的大小。

接下来把恢复的字节进行提取

把数字开头的文件都选上,选择第一个按住shift选择最后一个,X开头的文件也没有影响

然后右键->选择第三个recover/copy,选择一个路径点OK,其他的不用修改就可以把所有的文件提取出来

导出的结果就是从0——253,每个文件都是一个字节,然后写一个简单的python脚本,都是可打印字符,把0-253的内容拼接起来,执行python,查看flag.

或者将恢复的文件夹复制到Kali,使用cat *命令查看所有文件

5、minified

首先使用notepad++或者010editor打开图片,没有发现什么字符串

然后放到setgsolve里面,然后查看分离图层,

然后看到alpha通道是有东西的,因为一般alpha是0白色的,这个图片alpha通道有数据,

然后再红色通道最底层看到全黑的没有数据,其他通道的内容正常

然后结合以上两点,把  G  B   A最低为都提取出来,

比如:首先点到alpha plane 0,然后选择file->save as   保存为alpha.bmp一个位图格式

然后依次把B0   G0提取出来,保存为.bmp文件,红色最低为都是黑色的,没有意义

现在有三种图片,alpha、B0、G0,然后最常见的做法是两两异或

比如打开alpha,然后和B0进行异或,打开alpha后,选择analyse->image combiner

然后选择B0.bmp,查看图层后没有什么发现

然后再选择G0进行合并,找到flag

6、welc0me

利用记事本、notepad++、strings或者010editor打开,将最后的base64字符串进行解码

1

2

3

7、双色块

先用010editor打开图片,然后再最后部分发现里面包含一种PNG的图片

把PNG图片提取出来,删除PNG前面的数据,另存为,提取出的png图片是这样的

然后对GIF进行分离,

可以使用gifsplit.py脚本

分离了576个png图片

或者使用工具,工具可能更好用,gifsplitter

分离出的图片和脚本分离的一样,只是扩展名不一样

一共又576张图片,每个图片位240x240,第一行跑完需要24张图片,所以每个小方块宽高都是10个像素点。

双色快分别由绿色和紫色两个颜色,可以把两种颜色当坐0和1

使用脚本判断像素块的值判断为0还是1

运行脚本后有一串密文

应该就是需要用之前提取的PNG图片中的key进行解密

关键就是判断密文是什么加密方式

前面的密文像base64,

密钥的长度是9个字节,可能是DES,以为DES是八个一组,这个密钥可能多了一位

不可能是AES,因为密钥最少是是个字节

先试一下DES,获取flag

8、虚幻

首先用file 命令查看图片确实是一个PNG的头部

然后用一下strings 1.png,strings打印出一些字符串

Png图片格式的头部和尾部分别是IHDR、IEND,有好几个IHDR  IEND,说明这个文件不止一张图片

然后可以用binwalk检测,有9张图片

然后使用foremost提取,会生成一个output文件夹

里面有一个png的文件夹,打开后就是包含的九张图片

如果使用stegsolve打开这几张图片,都是彩色的,没有其他信息

其实是三个文件拼成一行,一共平常三行,使用美图秀秀或者PS都可以

然后将拼好的三个图片拼成一个大图,

   

拼好的大图是彩色的,然后再用setgsovle打开,将RGB的每个最高位提取出来,图片是一样的,然后进行反色,很像一个二维码,其实是汉信码,将四个角补全后,使用在线扫码工具扫码。

9、隐写3

Binwalk和foremost是kali自带两个工具

Binwalk是用来固件分析的,判断文件里面有什么,是不是有其他文件

在0x29偏移位置有一个zlib 格式的压缩数据

如果把检测出的其他文件做提取  使用 binwalk -e,并生成新的文件夹

分别有两个文件,29.zlib就是压缩包

29的大小比29.zlib解压后的后的文件,如果29的大小为0,可能就是解压错误。

然后使用file命令查看29文件,显示为data, 也不知道里面是什么。

只要不认识的文件都可以用binkwalk进行解析,使用binwalk进行解析29

29里面又有一个zlib压缩包,再binwalk -e 29  进行提取,并生成新文件夹

然后使用file命令查看28D28D文件

是一个文本文件,使用cat 命令

504b0304是zip文件的文件头,内容是16进制字符串

使用解码工具解码并生成文件,或者使用winhex

然后对文件进行解压,解压后发现需要解压密码,

将压缩文件再次使用binwalk进行解析

最后是base64字符串,但是也不能解析,其实这就是解压密码

打开压缩文件后得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值