Misc专项

gsupl.落浅~ / 2024-07-18 / 原文

文件操作与隐写

1、文件类型的识别

1、文件头部未被破坏的情况下
(1)file命令
识别出file.doc为jpg类型
image
打开图片之后没有发现flag,用notepad++打开,发现末尾有unicode编码的数据,解码发现了flag
image
(2)winhex
通过winhex程序查看文件头类型,根据文件头部内容去判断文件的类型
image
image
(3)notepad++ HEXeditor插件
image
(4)0101editor
flag可能藏在文件内容当中(根据一定的编码方式隐藏在里面)
2、文件头部被破坏
使用file命令无法显示文件类型,只显示data,说明文件头部被破坏,需要修复
image

2、文件分离操作

1、binwalk命令

分析文件 binwalk filename
分离文件 binwalk -e filename

eg:
image
但是分离之后并没有找到flag,可能是图片宽度和高度方面的问题
image
2、foremost命令
如果binwalk无法正确的分离出文件、可以使用foremost进行分离文件

foremost  filename -o 分离后的保存位置

3、dd命令

 dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数

eg 1.txt 内容为1234567890
dd if=1.txt of=2.txt bs=5 count=1
则2.txt当中的内容为12345
dd if=1.txt of=3.txt bs=5 count=1 skip=1
则3.txt内容为67890,skip就是跳过第一块

借助binwalk和dd进行分离文件

eg:
image
想要分离出AC3zlib,需要输入

dd if=2.png of=3 bs=1 count=2755 skip=85

image
分离成功
image
4、winhex工具分离
直接将想要的数据复制出来(很简单,和上述dd原理一样)
5、16进制txt文档处理方法
导入0101editor,然后分析文件头部,识别文件的头部,根据文件的类型导出进行下一步的分析

3、文件合并

1、Linux下的文件合并

cat 1.txt 2.txt 3.txt 4.txt >1.jpg
将1.txt,2.txt,3.txt.4.txt合并为1jpg
校验md5:md5sum1.jpg

2、windows下的文件合并

copy /B 1.txt+2.txt+3.txt 1.jpg
校验md5:certutil -hashfile 1.jpg

图片隐写术

1、图片文件隐写LSB
(1)wbstego4工具:解密通过LSB加密的照片(最低有效位)
主要针对.bmp/.pdf文件,原理和zsteg一样
image
(2)zsteg命令解决LSB隐写(需要提前安装)
image
(3)python脚本解决LSB
2、图片文件隐写
(1)TweakPNG(文件头部正常但是无法打开文件,利用TweakPNG修改CRC)
eg:png文件头部显示正常,但是无法打开,可能是CRC校验出现错误(高度错误导致CRC错误,或者直接就是CRC错误)
image

红色表示宽度,绿色表示高度,紫色表示CRC

image
(2)python脚本进行处理
(3)Bftools加解密:在windows的cmd下,对加密的图文文件进行解密

Bftools.exe decode braincopter 解密文件名 -output 输出文件名

(4)SilentEye加解密
(5)Stegdetect工具探测加密方式,然后根据探测出来的加密方式,使用对用的工具进行解密即可
常见的加密方式jsteg\jphide\outguess\invisible\f5\appendx
对应的解密工具
image
(6)二维码处理
1、补全
2、颜色取反

压缩文件处理

流量取证技术