本文共 543 字,大约阅读时间需要 1 分钟。
进程隐藏,使用户无法通过ps,top之类的命令,得到我们需要隐藏的进程信息。ps,top也是通过读/proc下的文件来完成的。Strace可以看出:ps,top的主要操作有:open/read 文件/proc/XXX/stat和/proc/XXX/status,其中XXX是进程号;sys_getdents64。
如下图:
问题是我们在劫持readdir的时候,是不知道哪些进程是需要隐藏的,需要额外的信息。下面我们在仔细的看下sys_open的流程,看看对我们有什么启发。
也就是说在sys_open时候会调用lookup函数。但是这对我们有什么用呢?
下图揭晓谜底,看看adore的进程隐藏工作流程。
也就是说,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函数拦截。
转载地址:http://kihvi.baihongyu.com/