首页
搜索 搜索
当前位置:聚焦 > 正文

环球观速讯丨杂项·入门

2023-05-21 20:32:52 博客园

Misc杂项

MISC,中文即杂项,包括隐写,数据还原,脑洞、社会工程、压缩包解密、流量分析取证、与信息安全相关的大数据等。此处我详细描述图片隐写,文件修复,音频隐写和压缩包破解。


(资料图片)

图片隐写

图片隐写又分为附加式的图片隐写、基于文件结构的图片隐写,基于LSB原理的图片隐写、基于DCT域的JPG图片隐写、数字水印的隐写和图片容差的隐写。

主要工具:010 editor 或 winhex

  • 附加式隐写

附加式隐写文件是一种采用特殊方式将图片文件于其他字符或文件结合产生的文件,例如使用附加式隐写在一张PNG图片中的末尾附加ZIP压缩包文件,当用户拿到文件时,正常可以打开并浏览PNG图片信息,但如果修改文件后缀 png 为 zip 后,再次打开就会以 ZIP压缩包的格式来打开。这是因为操作系统识别的过程中是,从文件头标志,到文件的结束标志位,当系统识别到图片的结束标志位后,默认不再继续识别。

典型例题:BUUCTF2020-认真你就输了

  • LSB隐写

附加式隐写文件是一种采用特殊方式将图片文件于其他字符或文件结合产生的文件,例如使用附加式隐写在一张PNG图片中的末尾附加ZIP压缩包文件,当用户拿到文件时,正常可以打开并浏览PNG图片信息,但如果修改文件后缀 png 为 zip 后,再次打开就会以 ZIP压缩包的格式来打开。这是因为操作系统识别的过程中是,从文件头标志,到文件的结束标志位,当系统识别到图片的结束标志位后,默认不再继续识别。

RGB分别代表着(red,green,bule)三种原色由这三种原色可以组成其他各种颜色,例如在PNG图片的存储中,每个颜色会有8bit,LSB隐写就是修改了像素中的最低的1bit,在平常看来是无法区分的,也就成功的把信息隐藏起来了。

常见的LSB隐写是在Png图片中完成的,而Png图片是一种无损压缩的位图片形格式,也只有在无损压缩或者无压缩的图片(BMP)上才可以 实现 LSB隐写。如果图像是jpg图片的话,就没法使用lsb隐写了,原因是jpg图片对像数进行了有损压缩,我们修改的信息就可能会在压缩的过程中被破坏。而png图片虽然也有压缩,但却是无损压缩,这样我们修改的信息也就能得到正确的表达,不至于丢失。BMP的图片也是一样的,是没有经过压缩的。BMP图片一般是特别的大的,因为BMP把所有的像数都按原样储存,没有进行压缩。png图片中的图像像数一般是由RGB三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为0x00~0xFF,即有256种颜色,一共包含了256的3次方的颜色,即16777216种颜色。而人类的眼睛可以区分约1000万种不同的颜色,这就意味着人类的眼睛无法区分余下的颜色大约有6777216种。

典型例题:BUUCTF-FLAG

文件修复

  • 高度修复

图片中可以通过修改数据块中的数据来减小文件的高度达到隐藏数据的目的.

修复高度就可以看到隐藏信息

典型例题:BUUCTF-大白(PNG高度修复)

  • 文件结构

每一个类型的文件都有自己的结构和特性,通过附加式隐写中的原理我们可以得知 操作系统识别的过程中是,从文件头标志,到文件的结束标志位,当系统识别到图片的结束标志位后,则默认不再继续识别。所以,对于计算机来说文件的结构影响着对文件的属性判断,在CTF中也有针对文件结构的一些题目,例如PNG文件修改宽高,文件头缺失修复等。

数据块分为两种: 关键数据块与辅助数据块,每个数据块都由4个域组成

一个4字节的CRC(循环冗余校验)计算,在所述块的前面的字节,包括该块类型的代码和数据块的数据字段,但是不包括长度字段。 CRC始终存在,即使不包含数据块。 CRC的值为 Chunk Type Code域和Chunk Data域中的数据进行计算,有时会通过检验CRC来验证文件是否被修改过。

IHDR:文件头数据块IHDR(header chunk):它包含有PNG文件中存储的图像数据的基本信息,并要作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块。PLTE:调色板数据块PLTE(palette chunk)包含有与索引彩色图像(indexed-color image)相关的彩色变换数据,它仅与索引彩色图像有关,而且要放在图像数据块(image data chunk)之前。PLTE数据块是定义图像的调色板信息,PLTE可以包含1~256个调色板信息,每一个调色板信息由3个字节组成。IDAT:图像数据块IDAT(image data chunk):它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,我们就可以很方便的生成PNG图像。IEND:图像结束数据IEND(image trailer chunk):它用来标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。如果我们仔细观察PNG文件,我们会发现,文件的结尾12个字符看起来总应该是这样的:0000000049454E44AE426082,不难明白,由于数据块结构的定义,IEND数据块的长度总是0(00 00 00 00,除非人为加入信息),数据标识总是IEND(49 45 4E 44),因此,CRC码也总是AE 42 60 82。

  • 标识修复

当题目中出现文件损坏或打不开时,我们可以通过十六进制查看工具打开文件,查看文件头是否被修改或删除,使用工具手动更新缺失的数据修复文件头

典型例题:BUUCTF-鸡你太美(文件头修复)

主要工具:010editor

音频隐写

  • MP3隐写

MP3隐写主要是通过工具 Mp3Stego 工具来完成的,通过该工具加密的文件我们只需要获取到加密的密码即可解密加密的文件

  • 波形隐写

当听到存在波段式的音频时,可以通过工具将高低起伏的波段转换为对应的 01编码或摩斯电码,获取到其中想要传递的信息。

主要工具:Audacity

典型例题:BUUCTF-假如给我三天光明

  • 频谱隐写

音频中的频谱隐写是将字符串隐藏在频谱中,当音频中包含一段杂音或刺耳的声音时,就有可能通过频谱隐写来进行信息的隐藏。对于这类题目,通过各类工具就可以获取到需要的信息。

典型例题:攻防世界-Hear with your Eyes

压缩包破解

  • 密码破解

ZIP,RAR,7Z等后缀为压缩包格式后缀,用户可以通过压缩的方法将多个目录和文件压缩至一个 ZIP或RAR 文件中,并附加密码来保证信息的安全,但弱口令将会导致压缩包密码被爆破的问题。

目前已经有了完善的工具进行常见几类的压缩包密码破解,当密码只存在数字或弱口令时,通过一定的时间可以破解出压缩包的密码获取内容。

主要工具:Ziperello,RAR Password Unlocke,ARCHPR

  • 伪加密

ZIP伪加密就是通过修改zip压缩包特定的字节,进而在打开文件时压缩包被识别为使用了密码加密,从而达到伪装加密效果,实际上并没有对压缩包进行密码加密。我们需要通过使用工具修改特定位置的字节来破解伪加密。

ZIP压缩文件中有三个关键数据段: 压缩源文件数据区,压缩源文件目录区,压缩文件源文件目录结束区

压缩源文件数据区50 4B 03 04:头文件标记(0x04034b50)14 00:解压文件所需 pkware 版本00 00:全局方式位标记(有无加密)头文件标记后2bytes08 00:压缩方式压缩源文件目录区50 4B 01 02:目录中文件文件头标记(0x02014b50)3F 00:压缩使用的 pkware 版本14 00:解压文件所需 pkware 版本00 00:全局方式位标记(有无加密,伪加密判断点)目录文件标记后4bytes压缩文件源文件目录结束区50 4B 05 06:目录结束标记00 00:当前磁盘编号00 00:目录区开始磁盘编号01 00:本磁盘上纪录总数01 00:目录区中纪录总数59 00 00 00:目录区尺寸大小无加密: 压缩源文件数据区全局加密为 00 00 , 压缩源文件目录区全局加密为 00 00有加密: 压缩源文件数据区全局加密为 09 00 , 压缩源文件目录区全局加密为 09 00伪加密: 压缩源文件数据区全局加密为 00 00 , 压缩源文件目录区全局加密为 09 00

典型例题:BUUCTF-ZIP伪加密

  • 明文攻击

明文攻击是一种存在特定场景下爆破手段,大致原理是当你不知道一个zip的密码,但是你有zip中的一个已知文件(文件大小要大于12Byte)或者已经通过其他手段知道zip加密文件中的某些内容时,因为同一个zip压缩包里的所有文件都是使用同一个加密密钥来加密的,所以可以用已知文件来找加密密钥,利用密钥来解锁其他加密文件。

典型例题:ACTF2020-明文攻击

如有侵权,请联系作者删除 2023-05-21