温馨提示×

debian怎么查找隐藏进程

小樊
42
2026-09-25 20:35:04
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,“隐藏进程”通常指:

  • 用户态隐藏:进程名以 . 开头、或在 ps/top 中不明显
  • 内核态隐藏:rootkit 通过 hook 系统调用隐藏进程(如 ps 看不到,但内核里存在)

下面按从简单到专业的方式说明如何查找。


一、常规查看(先看明显隐藏)

1. 查看所有进程(含隐藏用户态)

ps -ef
ps aux

隐藏用户态进程一般只是名字像 .xxx,还是能看到。

2. 查看 /proc 中的进程

ls /proc | grep '^[0-9]'

每个数字目录是一个 PID。

对比:

ps -eo pid | sort -n > ps.txt
ls /proc | grep '^[0-9]' | sort -n > proc.txt
diff ps.txt proc.txt

✅ 如果 /proc 有但 ps 没有 → 很可能是被隐藏的进程


二、使用专业工具检测隐藏进程

3. 使用 unhide(最强推荐)

sudo apt install unhide
sudo unhide proc
sudo unhide sys
  • unhide proc:对比 /proc 和内核调度
  • unhide sys:使用系统调用检测

输出示例:

Found HIDDEN PID: 1234

三、使用 rootkit 检测工具

4. chkrootkit

sudo apt install chkrootkit
sudo chkrootkit

5. rkhunter

sudo apt install rkhunter
sudo rkhunter --check

四、内核级验证(进阶)

6. 查看内核任务列表

sudo cat /proc/self/mountinfo

或使用:

sudo ls /sys/kernel/debug/tracing/events/sched/

7. 使用 bpftrace(高级)

sudo bpftrace -e 'tracepoint:sched:sched_process_exec { printf("%d %s\n", pid, comm); }'

可发现 ps 看不到的新进程。


五、判断是否被入侵

如果:

  • unhide 发现隐藏 PID
  • chkrootkit / rkhunter 报警
  • /proc 和 ps 不一致

✅ 高度疑似 rootkit 或恶意程序


六、安全建议

  1. 不要在这台机器上继续操作敏感业务
  2. 使用 Live CD / 救援系统检查
  3. 备份重要数据
  4. 重装系统(最安全)

如果你愿意,可以告诉我:

  • 是 VPS / 物理机 / 容器
  • 是否已经发现异常行为
  • unhide 的输出结果

我可以进一步帮你分析。

0 踩