• Linux当中如何隐藏和查看进程


    前言

    进程是执行程序的过程,类似于按照图纸,真正去盖房子的过程。

    同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。操作系统的一个重要功能就是为进程提供方便,比如说为进程分配内存空间,管理进程的相关信息等等,就好像是为我们准备好了一个精美的地址。

    进程信息是proc目录下动态生成,每个动态创建的进程ID号下面详细的记录了关于该进程的fd,mem,io,cpuset等进程信息。

    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。

    **通过它可以访问系统内核数据。**用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。

    由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统动态的。在/proc下还有三个很重要的目录:net,scsi和sys。sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。

    除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口。

    读取/proc/self/maps可以得到当前进程的内存映射关系,通过读该文件的内容可以得到内存代码段基址。

    一、隐藏进程

    利用mount —bind 将另外一个目录挂载覆盖至/proc/目录下指定进程ID的目录,我们知道ps、top等工具会读取/proc目录下获取进程信息,如果将进程ID的目录信息覆盖,则原来的进程信息将从ps的输出结果中隐匿。

    比如当前有一个minio进程(pid:1945)

    1. [root@docker]-[~]-ps -ef|grep minio
    2. root 1945 1924 0 08:06 ? 00:00:10 minio server /data --console-address 0.0.0.0:9999

    现在我们将该进程隐藏:

    1. #首先,创建一个空目录(无任何挂载)
    2. mkdir -p /empty/dir
    3. #将空目录进行挂载
    4. mount -o bind /empty/dir/ /proc/1945

    然后,我们再来查询看看进程是否隐藏:

    1. [root@docker]-[~]-#ps -ef|grep minio
    2. root 46358 32804 0 10:54 pts/0 00:00:00 grep --color=auto minio

    发现,进程已经被我们隐藏掉了。

    二、隐藏进程侦查

    2.1 方式一(mounts)

    [root@docker]-[/proc]-#cat /proc/mounts 

     2.2 方式二(sysdig)

    下载安装:

    # curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
    [root@docker]-[~]-#sysdig -c topprocs_cpu

      2.2 方式三(unhide)

    下载安装:

    yum -y install unhide

    暴力扫描隐藏进程:

    unhide checkbrute

  • 相关阅读:
    云服务器ip使用细节(公网、私有)
    17.2 实现无管道正向CMD
    EMM Cause #40 No EPS bearer context activated介绍
    生成式AI,赋能数字劳动力的关键工具
    solid works草图绘制与设置零件特征的使用说明
    Linux 通过 sed 命令过滤指定日期的日志文件并输出到新文件
    vue水波纹指令
    【面试经典150 | 链表】两数相加
    【Redis实战】黑马点评项目
    Jenkins+Svn+Docker搭建持续集成环境 自动部署
  • 原文地址:https://blog.csdn.net/zfw_666666/article/details/126658093