在 Linux 里,strings 本身不能直接“查木马”,它只是把二进制文件里的可打印字符串提取出来,方便你人工分析可疑行为。真正的“查木马”通常是:
strings + 经验 + 其他工具配合
下面给你一套实用思路和命令。
适合查:
不适合:
strings 文件名
只看前 1000 行:
strings 文件名 | head -n 1000
只看长度 ≥ 8 的字符串(更干净):
strings -n 8 文件名
strings 文件 | grep -Ei "bash|/bin/sh|nc|reverse|connect|socket"
常见特征:
/bin/shbash -iexecsocketconnect(strings 文件 | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
strings 文件 | grep -Ei "\.com|\.cn|\.net|http"
⚠️ 注意:
strings 文件 | grep -Ei "setuid|setgid|root|/etc/passwd|/etc/shadow"
strings 文件 | grep -Ei "miner|pool|xmr|stratum|cpu"
常见:
stratum+tcp://xmr矿池地址strings 文件 | grep -Ei "crontab|systemd|rc.local|/etc/init"
file 可疑文件
strings -n 8 可疑文件 > str.txt
grep -Ei "http|ip|sh|bash|socket|miner" str.txt
配合:
ls -l 可疑文件
stat 可疑文件
strings 只是第一步,真正查木马建议配合:
file 看文件类型ldd 看依赖strace 看行为rkhunter / chkrootkitstrings 不是杀毒软件,是“放大镜”
用它在二进制里找人话痕迹,再判断是不是木马。
如果你愿意,可以把:
strings 输出片段
发出来,我可以帮你具体分析是不是木马。