freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录