在 Linux 下进行strings 取证,通常是指从二进制文件、内存镜像、磁盘镜像或日志中提取可读字符串,以发现痕迹、口令、路径、URL、命令、恶意特征等。下面按“思路 + 用法 + 实战技巧”来说明。
strings 用于从文件中提取可打印字符序列(默认长度 ≥ 4)。
基本语法:
strings [选项] 文件
strings suspicious.bin
关注:
/bin/shwget / curl/home/xxx/)strings -n 6 file
减少噪声,适合大文件。
strings -t x file # 十六进制偏移
strings -t d file # 十进制偏移
可用于:
xxd / hexdump 定位strings -n 8 memory.img > strings.txt
grep -i "password\|token\|http" strings.txt
常用组合:
strings -n 6 -t x disk.img | grep -i "ssh"
strings file | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
strings file | grep -E "https?://"
strings file | grep -E "/home/|/etc/|/var/"
如果看到乱码:
strings -e l file # 16-bit little endian
strings -e b file # 16-bit big endian
strings -e s file # 7-bit
strings -n 6 bin | grep -i "pass"
strings -t x bin
xxd -s 0x1234 bin
binwalk firmware.bin
strings firmware.bin | less
vol.py strings -f mem.vmem
strings malware | grep -i "rm -rf"
strings malware | grep -E "https?://[a-z0-9.]+"
strings malware | grep "/home/"
✅ 保留原始文件哈希
sha256sum file
✅ 只读挂载磁盘镜像
✅ strings 只是初步线索,不是结论
✅ 报告中写清:文件、偏移、字符串内容
strings -n 6 -t x suspect.bin > out.txt
grep -iE "pass|token|http|/home|wget|curl" out.txt
如果你愿意,可以告诉我:
我可以直接给你针对性命令或分析思路。