文件取证 Skill
何时使用
- 分析可疑二进制、Webshell、恶意样本
- 读取
.gz压缩日志(auth.log、nginx access.log 等) - 目标系统无
file、strings、zcat、gunzip命令
工具选用
| 场景 | 工具 | 示例 |
|---|---|---|
| 文件是什么类型 | file_ident |
{"tool_name":"file_ident","tool_args":{"path":"/tmp/suspicious"}} |
| 提取硬编码字符串/IP/URL | file_strings |
{"tool_name":"file_strings","tool_args":{"path":"/var/www/x.php","pattern":"eval|base64"}} |
| 读 gzip 日志 | read_gzip |
{"tool_name":"read_gzip","tool_args":{"path":"/var/log/auth.log.1.gz","lines":"100"}} |
| 不确定是否 gzip | read_log |
{"tool_name":"read_log","tool_args":{"path":"/var/log/syslog","pattern":"Failed"}} |
| 文件哈希 | file_hash |
{"tool_name":"file_hash","tool_args":{"path":"/bin/busybox"}} |
推荐流程
file_ident— 确认文件类型(ELF/PHP/GZIP/文本)- 若为 gzip 日志 →
read_log或read_gzip+ pattern 过滤 - 若为二进制/可疑脚本 →
file_strings+ pattern file_hash— 留存 IOC
限制
- 单文件读取上限 5MB(压缩),解压上限 20MB
- strings 扫描上限 2MB
- 禁止读取 config.yaml / reports/ 等受保护路径