最近在浏览国外安全论坛时,无意中发现了一种新型的 Linux 进程隐藏方法,技术虽然并不复杂,但实用性极高,对于红队行动或者对抗检测非常有价值。
1. 查看进程号
先找出目标进程的 PID,比如这里我们假设是 1248188。
ps -aux | grep 04e6dcb6kcp
2、利用 mount 和 bind 实现“隐身术”
# 以下命令需 root 权限执行
# mkdir -p spoof/fd; # mount -o bind spoof /proc/1248188;
执行完这些命令后,再查看 /proc/1248188/fd,你会发现
如果没有隐藏进程,会显示下面内容
这是怎么回事?别急,我们一一来解析
原理解析
mkdir -p spoof/fd
创建一个空目录结构 spoof/fd,用于后续绑定。
mount -o bind spoof /proc/6580
将 spoof 目录绑定挂载到 /proc/6580。这样,当系统或工具(比如 ps、top)访问 /proc/6580 时,其实看到的是 spoof 目录的内容,而非真实的进程信息。
如何检测这种伎俩?
其实也并非完全无迹可寻。通过检查 /proc/mounts,我们仍可以发现有文件系统被挂载到了进程目录下。
cat /proc/mounts | grep 6580
输出的最后一行可能就是提示:
/dev/... /proc/6580 ...
💣 6. 清理 & 恢复
一旦需要恢复,可以通过如下命令卸载挂载点:
umount /proc/6580
ps -aux | grep 6580
🧩 总结
这种方式虽然并不是完全“无懈可击”,但搭配其他手段(比如隐藏网络连接、反调试、rootkit等),确实可以大大增加检测的难度。对于红队来说,是一个非常值得掌握的小技巧。✨