freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CTF-MISC(隐写篇)
2020-04-07 13:42:03

隐写

在CTF隐写中,隐写方面大致分为四个方面,图片、视频、音频、文档。

图片

1.png

图片分为JPG PNG GIF三类

JPG

特征

——文件头标识(2 bytes):FF D8

——文件结束标识(2 bytes):FF D9

LSB隐写

LSB就是最低有效位,一般图片是由三种颜色组成,LSB隐写修改图片中的最低的1bit,可将信息隐藏在图片之中,通过人眼无法察觉。

对于LSB隐写,可使用Stegsolve工具辅助分析

1. 打开加密图片后,选择Analyse-DataExtract

2. Bit Planes 选中Reg、Green、Blue的第0位

3. Bit Order选中LSBFirst

4. Bit Plane Order选中RGB GRB BGR等

例题 网鼎杯 第二场 套娃 在最后一个图片中

2.png

得到flag flag{03a253f5-8e93-4533-bcfc-af98830095a}

IDAT隐写

1.使用pngcheck分析

2.判断异常IDAT串,使用winhex等工具创建新文件

3.根据创建后的新文件继续分析

例题 实验吧

3.png

pngcheck.exe -v flie.png

4.png

使用winhex打开图片文件,找到最后一个IDAT 对应49 44 41 54 IEND 对应 D9 CF A5 A8

5.png

使用pyhon将IDAT中的内容进行解压

6.png

得到30 31的数据 30→0 31→1

将30 31字符串转换后得到0 1的字符串

7.png

得到一个全是01的txt文件,将文件内容导入代码中,构成图片文件。

8.png

可以得到一个二维码图片

9.png

扫码后,得到flag SCTF{(121.518549,25.040854)} 

10.png

脚本生成图片

PIL图片处理

1.简单异或 or 加密(关键是异或 / 加密的密码)

2.根据像素进行填充补全(关键是提取像素点和位置)

3.留意像素的色差(可能构成其他图片)

4.留意像素中值相同的通道(通常都去掉)

5.降噪等高级应用

例题 合天CTF MISC100

得到一个misc100.txt文件,使用notepad++打开,发现行数为61366

11.png

可以将61366拆分为三个整数解

2*30683、61*1006、122*503

经过测试我们选择122*503,将长-宽代入代码中

12.png

运行代码后,得到flag flag{youc@n'tseeme}。

13.png


PNG

特征

——文件头标识(8 bytes):89 50 4E 47 0D 0A 1A 0A

考点

PNG文件无损压缩

用16进制编辑工具更改图片的高度

文件修复

例题 第六届山东省大学生网络安全大赛 漂亮的小姐姐

此题给了一张Gakki的图片,发现此图片是png格式,png文件属于无损压缩,可以使用hexframe、winhex等工具打开该文件。

14.png

使用工具打开后,找到控制长-高的对应标识,修改高度。

15.png

03 1e 修改为 06 1e 保存

可以看到图片的高度增加了,得到flag flag{H1gh_4nD_Wid7h}。

16.png

PS填充图片模块

当二维码标识受到破坏时,可利用PS等工具进行修复。

17.png

修复完成后,即可进行二维码扫描。

18.png

XOR

1.binwalk分析出两张图片

2.用stegslove打开选择image combiner 选择XOR

3.根据XOR后的结果继续分析

例题

分离出两个图片

19.png

根据图片名xor提示,将分离出来的两个文件进行异或处理,得到flag。

20.png

GIF

特征

——文件头标识(6 bytes):47 49 46 38 39(37) 61

考点

文件头修复

在动态图的某几帧中存储数据

BASE64矩阵图

文件头修复

例题 2017年山东省省赛 misc

使用notepad++打开发现文件头是9a开头,判断为gif文件

填充至GIF89a

21.png

填充后,可以得到一个可看的gif文件。

利用代码将得到gif文件分离成一帧一帧的bmp图片,即可得到flag。

22.png

视频

TOOLS

ffmpeg

考点

主要是在metadata,或者在帧里面,帧转化成图片隐写

视频隐写与动态图隐写类似,都是将它转化为每一帧。

逐帧分割

例题 2019 RoarCTF 黄金六年

首先下载视频,打开后未发现flag及提示。

23.png

使用ffmpeg工具进行逐帧分解,得到632张图片。

24.png

从分离出来的632张图中找到四个二维码

(1)c++ : key1:i

第149张

25.png

(2)白帽子讲Web安全:key2:want

第295张

26.png

(3)逆向工程:key3:play

第492张

27.png

(4)活着:key4:ctf

第606张

28.png

使用hexeditor打开视频文件,发现文末存在一段base64字符串

29.png

使用base64解密发现rar标识头,判断为压缩包,将以下内容保存为rar文件。

30.png

31.png

打开压缩包中的flag.txt文件,密码即是上面四张图扫描后的组合 iwantplayctf

得到flag roarctf{CTF-from-RuMen-to-RuYuan}。

32.png

音频

TOOLS

Audacity

silienteye

MP3StegoDecode

考点

隐藏在声音里(顺序、逆序)

在声波和频谱里

隐藏在数据里

例题 使用audacity工具打开文件。

33.png

得到flag flag:e5353bb7b57578bd4da1c898a8e2d767

34.png

也有存在摩斯电码的,保存后讲摩斯电码进行解密。

35.png

2015 广东省强网杯 - Little Apple

使用sileneye工具打开,即可得到flag。

36.png

由于找不到例题文件,借用互联网上截图进行总结。


例题 葫芦娃

得到多个xa*文件 (xaa-xag) xaa可以打开,可以看到如下所示的提示。

37.png

我们将xxa-xxg文件进行合并,并查看新文件中是否存在其他内容,发现存在一个压缩包文件。

38.png

使用mp3stego进行解密,密码之前已有提示 葫芦小金刚的英文名称。

decode.exe -X -P GourdSmallDiamond 1.mp3

39.png

解密后,得到密码,将密码填入压缩包后,得到flag文件。

40.png

得到flag MSTSEC{MSTSEC_DINGANN_KEY_IS_GSD}。

41.png

文档

WORD隐写

42.png

在设置中,取消隐藏按钮即可。

43.png

得到flag。

44.png


总结

本篇主要介绍内容为CTF-MISC 隐写的相关内容,借此机会梳理和汇总几年比赛遇到的题型和知识点,欢迎各位表哥提出建议,欢迎各位师傅交流指正。

关注我们

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.com 或长按二维码关注公众号:

ewm.png

# CTF
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者