在 Linux 里,strings 是一个基础但很有用的排查工具,本身不能“杀木马”,但可以用来发现可疑线索。下面按实战思路讲。
strings 用来提取文件中的可打印字符串,木马/后门常会在里面留下:
/bin/sh, bash, wget, curl)UPX, AES, rc4)/tmp/.x, /root/.ssh)strings 文件名
只看前 200 行:
strings 文件名 | head -n 200
查看 ASCII 字符串(排除乱码):
strings -n 6 文件名
strings /tmp/xxx
strings /var/tmp/*
strings /dev/shm/*
常见可疑位置:
/tmp
/var/tmp
/dev/shm
/usr/local/bin
/root/.ssh
strings 文件 | grep -Ei "wget|curl|/bin/sh|bash|nc|socket|/tmp/|/dev/shm"
找 C2:
strings 文件 | grep -E "http://|https://|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
找挖矿木马常见词:
strings 文件 | grep -Ei "miner|xmr|pool|stratum"
先找 PID:
ps aux | grep 可疑名
再 dump 进程内存(高级):
cat /proc/PID/maps
strings /proc/PID/mem | grep -i "http"
strings /bin/ls > ls.txt
strings 可疑ls > bad.txt
diff ls.txt bad.txt
file 文件
ldd 文件
stat 文件
chkrootkit
rkhunter
⚠️ strings 只能看明文
upx -d、反汇编、行为分析⚠️ 不要直接运行可疑文件
⚠️ 最好在 隔离环境 / 虚拟机 中分析
ps aux 看异常进程netstat -antp 看异常连接strings 分析可疑文件如果你愿意,可以:
strings 输出我可以直接帮你判断是不是木马。