【笔记】CTF图片、文件的简单取证

本文介绍了CTF中进行图像和文件取证的基本方法,包括GIF取证、文件取证、ZIP压缩密码爆破、MINIX文件挂载、查看十六进制内容、Magic Header识别及PCAP文件中的图片和USB键位信息提取。通过Linux命令和工具,如convert、binwalk、Wireshark等,解析隐藏在各种格式中的信息。

原课程链接:CTF取证实战课程(入门级)- 51CTO

https://edu.51cto.com/course/15228.html

 

文件、图片取证的简单思路:

1、gif图片:提取、拼合

2、可挂载系统文件:挂载系统文件

3、未知格式文件:查看十六进制编码,可能是Magic Header的修改

4、隐藏文件:binwalk提取文件中的隐藏信息;ls -a

5、PCAP:查找敏感信息,分离文件;USB信息

6、压缩包:爆破密码

7、文本:解码,解密

 

 

GIF取证

 

情况1:Flag隐藏在GIF的某一帧中

方法:将每一帧拆分成一个单独的png

linux下,使用:

convert gif文件名 %02d.png

 这句话的意思是将gif的每一帧拆分,并按数字顺序(%02d的作用)命名。

 

情况2:Flag需要将GIF各帧上的图形拼在一起才显现出来

方法:分离再组合

第一步分离:

convert gif文件名 %02d.png

第二步去掉背景白色:

ls *.png | while read filename; do convert $filename -transparent white $filename; done

 第三步,将透明背景的图片组合在一起

ls *.png | while read filename; do convert $filename 00.png -gravity center -composite 00.png; done;

 

 

文件取证

在Linux下,文件没有拓展名,可以用file命令来查询文件格式。

 

unzip:解压zip文件

gunzip:解压gz文件

 

ZIP文件压缩密码爆破

字典:https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt

爆破:

fcrackzip -b -D -v -u -p 字典txt zip文件

 

修复ZIP文件

解压出现这样的报错: bad zipfile offset (错误的ZIP文件偏移量)

 

MINIX 文件

MINIX文件是一个linux下的可挂载文件。

挂载方法:

mkdir mountpoint

mount 文件名 mountpoint/

 

查看十六进制内容

hexeditor 文件名

 

Magic Header

Magic header/Magic number,是具有无法解释含义的唯一值,用于识别文件格式或协议。

例如下图中的89 50 4E 47 0D 0A 1A 0A,就是PNG文件的Magic Header。

此类题目通常是需要我们用16进制读取文件数据,然后将被修改过的Magic Header改回正确的数据

对照:https://en.wikipedia.org/wiki/List_of_file_signatures

 

Binwalk提取隐藏信息

binwalk -e 文件名

-e 即extract

例子:

 

 

PCAP中的图片、文件取证

PCAP中的敏感信息:如名字带flag的文件,图片格式的文件,POST请求,带账号密码的文件等

 

查看所有关联文件

binwalk PCAP包

分离并保存关联文件

foremost PCAP包

查找指定字符串,-i是不区分大小写

string PCAP包 | grep -i "字符串"

例子:

 

解码

echo "字符串" | 编码 -d

如:

echo "dEo2NFpxYmRMdw==" | base64 -d

 

Wireshark中的HTTP方法筛选

http.request.method == GET

 

 

PCAP提取USB键位信息

这里的USB键位信息指的是:键位信息,鼠标信息,存储设备信息。

URB_INTERRUPT in :表示键盘USB信息。

 

筛选出Leftover Capture Data

tshark -r 文件名 -T fields -e usb.capdata

 

 -r: -r <infile> 设置读取本地文件

-T: -T pdml|ps|text|fields|psml,设置解码结果输出的格式,包括text,ps,psml和pdml,默认为text

-e: 如果-T fields选项指定,-e用来指定输出哪些字段;

 

还未弄清楚USB信息部分,待续

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值