查看Linux系统隐藏进程的方法
Tags: busyboxLinuxOSunhide中毒挖矿进程隐藏
隐藏进程
利用mount —bind 将另外一个目录挂载覆盖至/proc/目录下指定进程ID的目录,我们知道ps、top等工具会读取/proc目录下获取进程信息,如果将进程ID的目录信息覆盖,则原来的进程信息将从ps的输出结果中隐匿。
比如当前有一个minio进程(pid:1945)
1 2 | ps -ef|grep minio root 1945 1924 0 08:06 ? 00:00:10 minio server /data --console-address 0.0.0.0:9999 |
现在我们将该进程隐藏:
1 2 3 4 5 | #首先,创建一个空目录(无任何挂载) mkdir -p /empty/dir #将空目录进行挂载 mount -o bind /empty/dir/ /proc/1945 |
然后,我们再来查询看看进程是否隐藏:
1 2 | [root@docker]-[~]-#ps -ef|grep minio root 46358 32804 0 10:54 pts/0 00:00:00 grep --color=auto minio |
发现,进程已经被我们隐藏掉了。
方法1:unhide
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -- 1、安装unhide -- 安装epel源: yum -y install epel-release -- 安装unhide: yum -y install unhide -- 2、查找隐藏进程 unhide proc -- 3、暴力扫描隐藏进程: unhide checkbrute |
方法2:BusyBox
BusyBox 是一个集成了一百多个最常用 linux 命令和工具的软件。BusyBox 包含了一些简单的工具,例如 ls、cat 和 echo 等等,还包含了一些更大、更复杂的工具,例 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说 BusyBox 就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的 shell。
安装方法1:从docker内部拷贝
1 2 3 | docker run --rm -itv /tmp/:/tmp busybox:uclibc cp /bin/busybox /tmp exit |
安装方法2:编译安装
1 2 3 4 5 6 7 8 | yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel wget http://busybox.net/downloads/busybox-1.35.0.tar.bz2 --no-check-certificate tar -jxvf busybox-1.35.0.tar.bz2 cd busybox-1.35.0 make defconfig && make -j 8 cp ./busybox /usr/local/bin/ busybox ls |
busybox make编译时的参数说明:
defconfig 启用默认的(通用)配置。
allnoconfig 禁用所有的应用程序(空配置)。
allyesconfig 启用所有的应用程序(完整配置)。
allbareconfig 启用所有的应用程序,但是不包括子特性。
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!