Skip to content

Latest commit

 

History

History
179 lines (126 loc) · 6.17 KB

File metadata and controls

179 lines (126 loc) · 6.17 KB

#隐写术学习(1)

##介绍 隐写术是指将信息隐藏于一些无关紧要的文件中,是misc中的一类常见题型。

根据隐藏的介质不同,隐写术可分为图片隐写、音频隐写、压缩包隐写等。

##图片隐写 ###图片格式介绍 常见的图片格式有png、bmp、jpg,其中png由于格式规整、扩展性强,是最常见的隐写介质。

分析图片的隐藏信息,首先要了解图片的数据格式。

#####PNG文件头 |:--:|:--:| |89 50 4E 47 0D 0A 1A 0A | 文件头标识| |00 00 00 0D | IHDR 数据块大小| |49 48 44 52 | IHDR 数据块标识 |00 00 0B B9 | Width 图像宽度 |00 00 08 35 | Height 图像高度 |08 02 00 00 00 | 其余数据 |82 73 14 8B | CRC校验

常见的隐藏信息会位于高度之后,同时也要注意CRC校验是否正确,长宽是否被修改。

#####JPG文件头 |:--:|:--:| |SOF(Start Of Frame) | 帧图像开始,标识:FF C0 |00 11 | 数据块大小| |08 | 精度| |04 38 | 图像高度| |07 80 | 图像宽度| SOF数据区储存了所有的图像信息,包括高度、宽度等

###常见隐写方式

  • 图块隐藏信息
  • 文件/图片合成
  • 冗余字节隐藏
  • 缺少文件头
  • 更改图片的长和宽
  • 复合图片
  • 双图对比分析
  • 二维码

###常用工具 #####隐藏文件分离

  • Binwalk
  • Foremost #####文件二进制信息查看
  • 010Editor
  • HexEditXP #####LSB/MSB隐写查看
  • Zsteg
  • Stegsolve

之后的文章将详细介绍几种常见的图片隐写方式以及例题

##音频隐写 太累了,就偷个懒,讲讲最简单的音频隐写吧 ###介绍 音频隐写也是隐写中比较常见的一种,在各类低端娱乐赛事中常常出现。技术含量较低。 ###常见形式 按音频格式分类,可以分为MP3隐写、WAV隐写。 ###MP3隐写 这类比较常规,原理是将数据压缩隐藏于MP3文件的比特流中,通常都是用MP3Stego出的题,用MP3Stego解就行。 ###WAV隐写 WAV中常见的有频谱图隐写(较为直观) 图片不可见,请联系作者:) 、双声道隐写(一个声道隐藏信息,一个声道播放正常音频)、摩斯电码(编码转换成一维图像)、拨号音(频率分析)

###常用工具 MP3Stego Audacity(频谱图转换、声道分离等无所不能)

##图片隐写常见形式(1) 这篇续隐写术(1),接着讲常见的图片隐写 ###LSB隐写

####简介 LSB隐写是指将信息隐藏于图像各颜色通道的最低比特位中,由于对最低比特位的修改通常肉眼不可见,所以LSB隐写具有较高的隐蔽性。

但LSB隐写方式所能隐藏的信息量与图像大小成正比,通常的图片(一般只有几百k)仅能够隐藏少量信息。 ####常用工具

  • Stegsolve
  • Zsteg ####解决方法
  • Stegsolve调整到单颜色通道模式,查看是否有异常数据流,再对异常数据流进行提取。 例如,R0,G1,B0三个通道有噪声,则选中这三个通道,使用LSB模式进行提取。
  • Zsteg可以自动化地检测和提取。

###图片合成

####简介 合成是指两个文件被拼接到了一起,不仅仅限于图片,压缩包、音频等文件都可以拼接。

较为简单的,仅仅是将文件拼接,运用各种分离软件分离即可。

复杂一些的,可能去除了附加文件的文件头,需要根据各种信息识别附加文件并修复。

####常用工具

  • Foremost
  • Binwalk

###单颜色通道修改

有些图片的某个颜色通道会被替换成其余的图像,常见的是一张二维码。用Stegsolve逐颜色通道查看即可。

###文件类型识别

有时遇到的只是一段比特流,如流量包中交换的数据,需要根据一些特征(通常为文件头)识别文件类型。

#####常见的特征:

  • PNG: 文件头 89 50 4E 47 (即%PNG)、以及IHDR、IEND(标识PNG文件尾)
  • BMP: Bitmap
  • ZIP: 文件头 50 4B 03 04
  • ......

剩余的图片隐写方式下次写,包括最近常见的二维码等。

##图片隐写常见形式(2) 今天听Crypto大佬讲课,惊讶地听到了不少Misc中的内容,尤其是最近很火的区块链题目,可惜听了一下午还是不会。

###二维码

####介绍

二维码也是隐写中常见的内容,但与其它的图片隐写不同,二维码并不是自成一派的一种隐写方法,而是与其余隐写方式组合的一种手段。可以认为二维码是直接在图片上写flag这种方式的进阶版,并且由于二维码自身的特征(由黑白像素点组成、通常为正方形等)拥有种种优越性。

####二维码的识别

通常拥有以下特征的数据可以向二维码的方向考虑:

  • 数据由01(或者类似的二元组)组成
  • 数据长度为平方数
  • 拥有三个规整的数据段(即定位符)

有以上某条特征的可以考虑写脚本提取

####二维码的修复

有时获得的二维码会:

  • 缺失定位符,根据图像方位补上即可
  • 缺失一部分二维码,由于二维码具有极高的容错性,缺失一部分仍然可能完整地获取信息,也可以针对有限区域进行爆破
  • 被污损,需要使用PhotoShop等图像处理软件进行降噪、反相等操作

也有可能获得一堆二维码碎片,需要通过拼图的方式修复(自然是程序自动拼喽:))

####常用工具

  • QR Research
  • Photoshop

####附QR Code基础知识:

参考:https://www.qrcode.com/

  • QR Code简介

      QR Code(Quick Response Code)是二维码的一种编码方式,通过与背景颜色存在对比的色块表示二进制数据0和1,通过色块组成的二维矩阵表示信息。
    
  • QR Code的种类

      目前共有5种类型的QR Code,分别是:使用最广泛的QR Code、只有一个定位图案的Micro QR Code、信息容量更大的iQR Code,可以存储隐私信息的SQRC和可以灵活嵌入图案的Frame QR。
    

###图片隐写与逆向的结合

有些题目提供一张加密后的图片,以及一个加密程序。

出题人大概是想引导我们逆向加密程序。这么做固然可以,但实际上这类加密程序基本与LSB等常见隐写方式所去不远,试着用常规LSB检测工具进行提取也可以成功。