首页 > 其他分享 >杂项·入门

杂项·入门

时间:2023-05-21 20:13:13浏览次数:31  
标签:文件 00 加密 入门 隐写 杂项 压缩包 图片

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:全局方式位标记(有无加密)头文件标记后2bytes
08 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

标签:文件,00,加密,入门,隐写,杂项,压缩包,图片
From: https://www.cnblogs.com/baitaoweixun/p/17416640.html

相关文章

  • CV攻城狮入门VIT(vision transformer)之旅——VIT代码实战篇
    ......
  • C++ 测试框架 GoogleTest 初学者入门篇 甲
    *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/BS_u9A4EY50y4vDDuxkCAQ开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发者自测通过的,所以经常会听到开发者提起单元测试的话题。那么今天我就带大伙......
  • 计算机图形学入门——GAMES101第一课笔记
    一、光栅化将三维空间的几何形体显示在屏幕上,就是光栅化(Rasterization)。 虎书中有这么一段话: Theprocessoffindingallthepixelsinanimagethatareoccupiedbyageometricprimitiveiscalledrasterization;即光栅化就是找到所有被几何原型所占据的所有像素点......
  • ★教程3:Simulink学习教程入门50例目录2.MATLAB/Simulink安装
    1.订阅本教程用户可以免费获得本博任意1个(包括所有免费专栏和付费专栏)博文对应代码;2.本Simulink课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;3.本课程除了介绍常见的Simulink模块介绍之外,我们更侧......
  • golang命令行cobra 快速入门教程
    cobra也许是go语言现有最好的命令行框架了,在各大项目中皆有使用,比如最出名的kubernetes,所以要写一个稍微复杂的命令行工具,使用cobra还是不错的,cobra内置了非常多有用的功能,包括但不限于,自动生成帮助文档,生成命令行代码的脚手架工具,智能提示等等。命令行相关知识在学习cobr......
  • 数论——组合数学入门
    排列组合排列就是指从给定个数的元素中取出指定个数的元素进行排序;组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。--------OIWiki乘法原理和加法原理加法原理,就好比一个工作,有\(n\)个解决的方案,第\(i\)项方案有\(a_{i}\)种不同的实现方式,所以这个工......
  • Java开发 Shiro框架详解(轻松入门)
    ShiroShiro简介什么是Shiro?ApacheShiro是一个Java的安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等.官网:shiro.apache.org/官方文档十分钟快速入门:shiro.a......
  • Spring Boot入门案例
    一、实验目的和要求1、掌握使用IDEA通过Maven和SpringInitializr的方式创建SpringBoot应用程序;2、掌握Maven的工作原理;3、了解spring-boot-starter-parent的配置内容;4、掌握配置场景依赖启动器starter的方式,了解starter的原理;5、掌握利用starter扩展Sp......
  • UE4命令行编译工程入门
    0背景笔者是个UE4的小白,本文主要记录了一个小白是如何从零UE4的基础,一步步在命令行打出iOS的ipa包的尝试过程,本文比较浅,适合小白做为UE4工程的入门资料(UE大神可自动忽略本文);1构建流程UE4工程的构建会涉及以以下几个步骤:编译所有的源代码;将所需的内容转化(cook)为目标平台......
  • docker从入门到实践学习笔记【环境ubuntu16.04】【一】
    镜像加速国内从DockerHub拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker官方和国内很多云服务商都提供了国内加速器服务,例如: Docker官方提供的中国registrymirrorhttps://registry.docker-cn.com七牛云加速器https://reg-mirror.qiniu.com/ 我们以Docker官......