学习b站视频:BV1eq4y1x71H
一、文件类型
1.识别
1.终端输入:file 文件名(Linux)
2.winhex/010 Editor工具(Windows)
2.文件头残缺、错误
通过010 Editor等工具补充文件头
二、文件分离
1.binwalk工具(Linux):
分析文件:binwalk filename
分离文件:binwalk -e filename
同目录下生成一个形如_文件名.extracted的文件目录,目录中有分离后的文件。
2.foremost工具(Linux):binwalk无法工作时
foremost 文件名 -o 输出文件夹名
3.dd工具:文件手动分离
dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
参数说明:
if=file #输入文件名,缺省为标准输入
of=file #输出文件名,缺省为标准输出
bs=bytes #同时设置读写块的大小为bytes,可替代ibs和obs
skip=blocks #从输入文件开头跳过blocks个块后再开始复制
例一:txt文件:1234567890abcdefg
壹、2.txt:12345
dd if=1.txt of=2.txt bs=5 count=1:将1.txt文件开头的字符长度为5、块数量为1("12345")的字段合并为2.txt
贰、3.txt:1234567890
dd if=1.txt of=3.txt bs=5 count=2
叁、4.txt:67890abcdefg
dd if=1.txt of=4.txt bs=5 count=3 skip=1:去掉前一个块
例二:
dd if=a.jpg of=b.zip bs=1 count=23046 skip=22895
4.winhex/010 Editor:
将数据复制出来
三、文件合并
要点:文件是否完整:完整性检测-md5
Linux:
1.文件合并
2.合并后md5校验:md5sum 1.gif
3.将校验出的值与所给值对比是否一样
Windows:
1.文件合并
2. 合并后md5校验
3.将校验出的值与所给值对比是否一样
操作完成后发现虽然校验值一样,但是合成的文件并不能打开
用010 Editor查看一下文件头,发现文件头对应不上
手动添加文件头并保存,文件得以打开
四、文件隐写
a.字符串隐写:
用notepad打开并查找
b.十六进制隐写:
winhex/010 Editor工具打开并查找
c.图片隐写:
1.gif图多帧隐藏
不同帧图信息隐藏:Fireworks工具
2.exif信息隐藏
Windows:右键->属性
Linux:$ exiftool exif.jpg
3.图片修复
(1)图片头修复
(2)图片尾修复
(3)CRC校验修复
a.文件头CRC被修改
PNG图片:文件头正常却无法打开文件时,用TweakPNG算出正确的CRC值,打开 winhex修改为正确值
b.图片长宽被修改
脚本计算出长宽,用010Editor修改
(4)长、宽、高修复
4.最低有效位LSB隐写
工具:
(1)Stegsolve(Data Extract)
(2)zsteg(PNG,BMP)
安装:gem install zsteg
使用:zsteg xxx.png
(3)wbstego4(bmp,pdf)
(4)python
5.两图异或、加、减等:
工具:Stegsolve(Image Combiner)
使用前提:两张图片信息基本相同
6.图片解密
工具:
(1)Stegdetect(JPG,JPEG)
使用:stegdetect xxx.jpg
stegdetect -s 敏感度 xxx.jpgexi
(2)outguess
该工具需编译使用:./configure && make && make install
outguess -r 要解密的文件 输出结果文件
(3)Jphide(JPEG)
(4)F5
(5)Bftools
(6)SilentEye
五、压缩文件处理
1.伪加密
ZIP:以十六进制打开文件,搜索504B0102
将0100改为0000
RAR:
第7列第二位:4表示加密,0未加密
2.暴力破解
ARCHPR工具(RAR)
ziperello工具(ZIP)
3.明文攻击
注:两个文件压缩算法需一样(2345好压软件可以选择压缩算法)
4.RAR文件格式
我们通过txt文件知道文件到21就结束了,后面EC为下一个文件,可见第三位为7A是不对的,改成74
六、流量取证
待补充