在 CentOS(及其他 Linux 发行版)中,“隐藏进程”通常指:
ps / top / /proc 看不到下面按实用程度从常规到进阶说明。
ps 和 /procps -eo pid,comm | sort -n > /tmp/ps.txt
ls /proc | grep '^[0-9]' | sort -n > /tmp/proc.txt
diff /tmp/ps.txt /tmp/proc.txt
如果 /proc 有 PID 但 ps 没有,说明可能被隐藏。
top / htoptop
htop
ss -antp
netstat -antp
看是否有未知 PID 占用端口。
lsof(查看打开文件/端口的进程)lsof -i
lsof -n -P
有时能发现 ps 看不到的进程。
fuserfuser -v /var/run/*
查看谁在使用文件。
unhideyum install unhide
unhide checkbrute
unhide sys
专门检测隐藏进程。
rkhunter / chkrootkityum install rkhunter chkrootkit
rkhunter --check
chkrootkit
strace -p <pid>
或直接检查:
/proc/kallsymslsmod/proc/etc/rc.localcrontabauditctl -a always,exit -F arch=b64 -S execve
LD_PRELOAD 劫持ps / top[kworker] 等ps vs /procss / lsofunhiderkhunter如果你愿意,可以告诉我:
我可以给你更精准的一条龙排查命令。