foremost 是一个基于文件头、尾和内部数据结构的数据恢复工具,常用于从磁盘镜像或文件中提取隐藏/嵌入的文件。
bash
foremost -i 输入文件 -o 输出目录 [选项]
| 参数 | 说明 |
|---|---|
-i 文件 |
指定输入文件 |
-o 目录 |
指定输出目录 |
-t 类型 |
指定要提取的文件类型 |
-c 配置文件 |
使用自定义配置文件 |
-v |
详细模式 |
-q |
快速模式 |
-Q |
安静模式 |
-a |
写入所有文件头 |
bash
# 从磁盘镜像中提取所有支持的文件类型
foremost -i disk.img -o output_dir
# 从单个文件中提取嵌入文件
foremost -i suspicious.jpg -o extracted_files
bash
# 只提取JPEG和PDF文件
foremost -t jpg,pdf -i 输入文件 -o 输出目录
# 提取所有图片类型
foremost -t jpg,gif,png -i 文件 -o 输出
bash
# 查看foremost支持提取的所有文件类型
foremost -h
支持的类型包括:jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, html, cpp 等。
bash
foremost -c /etc/foremost.conf -i 输入文件 -o 输出目录
bash
# 分析可疑图片文件
file suspicious_image.jpg
foremost -i suspicious_image.jpg -o extracted_content
# 查看提取结果
ls -la extracted_content/
cat extracted_contents/audit.txt # 查看处理日志
bash
# 从内存转储中提取可执行文件和文档
foremost -t exe,doc,pdf -i memory.dmp -o memory_extracted
bash
# 提取磁盘镜像中的所有可能文件
foremost -i suspect_disk.img -o forensic_output
# 只关注办公文档和图片
foremost -t doc,pdf,jpg,png -i suspect_disk.img -o docs_and_images
运行后,输出目录通常包含:
text
输出目录/
├── audit.txt # 处理日志和统计信息
├── jpg/ # 提取的JPEG文件
├── png/ # 提取的PNG文件
├── pdf/ # 提取的PDF文件
└── ... # 其他文件类型目录
编辑 /etc/foremost.conf 或创建自定义配置文件:
bash
# 自定义文件类型配置
myfile y 200000 \x47\x49\x46\x38 \x00\x3b
扩展名 最大大小 文件头签名 文件尾签名
bash
# 如果需要递归处理,可以结合find使用
find . -type f -exec foremost -i {} -o extracted_{} \;
bash
# 先用binwalk分析,再用foremost提取
binwalk -e 可疑文件
foremost -i 可疑文件 -o foremost_output
foremost 是数字取证和CTF比赛中非常实用的工具,特别擅长从各种容器文件中恢复已知格式的文件。