当前位置:   article > 正文

网安学习Day15-MISC(上)_binwalk分离文件

binwalk分离文件

目录

文件类型识别

File命令

winhex

文件头残缺/错误

文件分离操作

Binwalk工具

foremost 

dd

 winhex

010Editor

文件内容隐写

Winhex/010Editor

Notepad++

图片隐写方法

 Firework

 Exif

 Stegsolve

LSB(最低有效位 Least Significant Bit)

zsteg工具

wbstego4工具

python脚本来处理

图片文件隐写

TweakPNG

 Bftools

SilentEye

JPG图像加密

Stegdetect工具探测加密方式

二维码处理


今天学习到了关于CTF比赛中的杂项(MISC)的一些解题的思路。现在做以下的整理

文件类型识别

File命令

        当文件没有后缀名或者有后缀名而无法正常打开的时候,根据识别出的文件类型来修改后缀名即可正常打开文件

使用场景:不知道后缀名,无法打开文件

winhex

通过winhex程序中可以查看文件头类型,根据文件头类型判断出文件类型。

使用场景:windows下通过文件头信息来判断文件类型。

常见的文件头信息如下图所示:

文件头残缺/错误

通常文件无法正常打开有两种情况,一种是文件头部残缺,一种是文件头部字段错误i。针对文件头部残缺的情况,使用winhex程序添加相应的文件头,针对文件字段错误,可以找一个相同类型的文件进行替换。

使用场景:文件头部残缺或者文件头部字段错误无法打开正常文件。

格式:file 文件名

文件分离操作

Binwalk工具

Binwalk是Linux下用来分析和分离文件的工具,可以快速分分辨文件是否有多个文件合并而成,并将文件进行分离,如果分离成功会在目标文件的目录。同目录下生成一个形如_extracted的文件目录,目录中有分离后的文件。

用法:

  1. 分析文件:binwalk filename
  2. 分离文件:binwalk -e filename

foremost 

如果binwalk无法正确的分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。

用法:foremost 文件名 -o 输出目录名

如果不加上-o,那么默认会生成一个output文件在目标文件的目录下。

dd

当文件自动分离出错或者因为其他的原因无法自动分离的时候,可以使用dd实现文件手动分离。

  1. 格式:
  2. dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
  3. 参数说明:
  4. if=file #输入文件名,缺省为标准输入
  5. of=file #输出文件名,缺省为标准输出
  6. bs=bytes #同时设置读写块的大小为bytes,可代替ibs和obs
  7. skip=blocks #从输出文件开头跳过blocks个块后再开始复制

 winhex

除了使用dd外,还可以使用winhex实现文件手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可。

使用场景:windows下利用winhex程序对文件进行手动分离。

010Editor

将某个区域文件保存的方式如下:

文件内容隐写

文件内容隐写就是直接将KEY、flag以十六进制的形式写在文件中,通常在文件的开头或者结尾部分,分析时通常观察文件开头和结尾部分。如果在文件中间部分,通常直接搜索关键字KEY、或者FLAG来查找隐藏内容。

使用场景:windows下,搜索隐写的文件内容

Winhex/010Editor

通常将要识别的文件拖入winhex中,查找具有关键字或明显与文件内容不和谐的部分,通常有限观察文件首部和尾部,搜索key或者flag等关键字,最后拖动滚轮寻找。

Notepad++

使用Notepad++打开文件,查看文件头尾是否有含有关键字的字符串,搜索key或者flag等关键字,最后拖动滚轮寻找。另外通过安装插件HEX-Editor可以实现winhex的功能。

图片隐写方法

 Firework

使用winhex打开文件时会看到文件头部包含firework的标识,通过firework可以找到隐藏图片。

使用场景:查看隐写的图片文件

 Exif

Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图像,可以通过与JPEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exif格式的图像文件、就跟浏览器JPEG图像文件一样。

图片右击属性,查看Exif或者查看详细信息,在相关选项卡中查找flag信息。

 Stegsolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息,StegSolve可以方便的进行这些操作。

使用场景:两张图片信息基本相同

LSB(最低有效位 Least Significant Bit)

LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原来的7个高位平面与替代秘密信息的最低位平面组合成隐藏信息的新图形。

        1. 像素三原色(RGB)

        2. 通过修改像素中最低位的1bit来达到隐藏的效果

        3. 工具:stegsolve、zsteg、wbstego4、python脚本

zsteg工具

安装:gem install zsteg

检测LSB隐写:zsteg xxx.png

wbstego4工具

解密通过lsb加密的图片

python脚本来处理

可以将脚本放在kali中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可。

图片文件隐写

TweakPNG

TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。

使用场景:文件头正常却无法打开文件,利用TweakPNG来修改CRC

例如:当PNG文件头无法打开文件,可能是CRC校验出错,可以尝试通过TweakPNG打开PNG,会弹出校验错误的提示,例如显示CRC是fe1a5ab6,正确的是b0a7a9f1。然后我们就可以打开winhex搜索fe1a5ab6,将其改为b0a7a9f1。

有的时候CRC没有错误,但是图片的高度或者宽度发生了错误,需要通过CRC计算出正确的高度或者宽度。

 Bftools

Bftools用于解密图片的信息。

使用场景:在windows下的cmd下,对加密过的图片文件进行解密

  1. 格式
  2. Bftools.exe decode braincopter 要解密的图片名称 -output 输出文件名
  3. Bftools.exe run 上一步输出的文件

SilentEye

SilentEye是一款可以将文字或者文件隐藏到图片的解密工具。

使用场景:windows下打开SilentEye工具,对加密的图片进行解密。如果需要密码,勾选encrypted data,输入密码和确认密码,点击decode再解密。

JPG图像加密

Stegdetect工具探测加密方式

Stegdetect程序主要用于分析JPEG文件,因此用Stegdetect可以检测到通过JSteg、JPHide、OutGuess、Invisible Secrets、F5、oppendX和Camouflage等这些隐写工具来隐藏信息。

  1. stegdetect xxxx.jpg
  2. stegdetect -s 敏感度 xx.jpg

JPHide是基于最低有效位的LSB的JPEG格式图像隐写算法。

 OutGuess一般是用于解密文件信息。

使用场景:Stegdetect识别出来或者题目提示是outguess加密的图片

工具需要编译使用:./configure && make && make install

outguess -r 要解密的文件名 输出结果文件名

F5一般用于解密文件信息

使用场景:Stegdetect识别出来是F5加密的图片或者图片提示是F5加密的图片。

格式:Java Extract 要解密的文件名 -p 密码

二维码处理

使用二维码扫描工具CQR.exe打开图片,找到内容字段,如果二维码的某个定位角被覆盖了,该工具有时候可以自动识别,如果识别失败,需要使用ps或者画图工具将另外几个角的定位符移动到相应的位置,补全二维码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/472137
推荐阅读
相关标签
  

闽ICP备14008679号