进程隐藏
進程隱藏,使用戶無法通過ps,top之類的命令,得到我們需要隱藏的進程信息。ps,top也是通過讀/proc下的文件來完成的。Strace可以看出:ps,top的主要操作有:open/read 文件/proc/XXX/stat和/proc/XXX/status,其中XXX是進程號;sys_getdents64。
如下圖:
問題是我們在劫持readdir的時候,是不知道哪些進程是需要隱藏的,需要額外的信息。下面我們在仔細的看下sys_open的流程,看看對我們有什么啟發(fā)。
也就是說在sys_open時候會調(diào)用lookup函數(shù)。但是這對我們有什么用呢?
下圖揭曉謎底,看看adore的進程隱藏工作流程。
也就是說,hacker在需要隱藏某進程時:
1、 先建立一個/proc/hiden-XXX文件,建立的過程中會調(diào)用我們的lookup函數(shù)
2、 Lookup檢測到有人建立hiden-XXX文件,就把XXX(進程號)記錄在內(nèi)核驅(qū)動中。
3、 Hacker馬上把那個/proc/hiden-XXX文件刪除掉,就當什么都沒有發(fā)生過。
4、 用戶ps時,調(diào)用sys_open/sys_read,被我們的Lookup攔截;調(diào)用sys_getdents64時,被我們的readdir函數(shù)攔截。
總結(jié)
- 上一篇: BC66F3652研发笔记
- 下一篇: JS炫彩动画效果的文字特效