图说adore-ng之进程隐藏

进程隐藏,使用户无法通过ps,top之类的命令,得到我们需要隐藏的进程信息。ps,top也是通过读/proc下的文件来完成的。Strace可以看出:ps,top的主要操作有:open/read 文件/proc/XXX/stat和/proc/XXX/status,其中XXX是进程号;sys_getdents64。

如下图:

图说adore-ng之进程隐藏_第1张图片

问题是我们在劫持readdir的时候,是不知道哪些进程是需要隐藏的,需要额外的信息。下面我们在仔细的看下sys_open的流程,看看对我们有什么启发。

image

也就是说在sys_open时候会调用lookup函数。但是这对我们有什么用呢?

下图揭晓谜底,看看adore的进程隐藏工作流程。

图说adore-ng之进程隐藏_第2张图片

也就是说,hacker在需要隐藏某进程时:

1、 先建立一个/proc/hiden-XXX文件,建立的过程中会调用我们的lookup函数

2、 Lookup检测到有人建立hiden-XXX文件,就把XXX(进程号)记录在内核驱动中。

3、 Hacker马上把那个/proc/hiden-XXX文件删除掉,就当什么都没有发生过。

4、 用户ps时,调用sys_open/sys_read,被我们的Lookup拦截;调用sys_getdents64时,被我们的readdir函数拦截。

你可能感兴趣的:(工作)