歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux操作系統下的高級隱藏技術詳解(4)

Linux操作系統下的高級隱藏技術詳解(4)

日期:2017/2/25 10:36:46   编辑:Linux教程

Linux操作系統下的高級隱藏技術詳解(4)

 2.2 隱藏模塊

  上面分析了如何修改系統調用以隱藏特定名字的文件,在實際的處理中,經常會用模塊來達到修改系統調用的目的,但是當插入一個模塊時,若不采取任何隱藏措施,很容易被對方發現,一旦對方發現並卸載了所插入的模塊,那麼所有利用該模塊來隱藏的文件就暴露了,所以應繼續分析如何來隱藏特定名字的模塊。 Linux中用來查詢模塊信息的系統調用是sys_query_module,所以可以通過修改該系統調用達到隱藏特定模塊的目的。首先解釋一下原來的系統調用,原來系統調用的原型為:

  int sys_query_module(const char *name, int which, void *buf, size_t bufsize , size_t *ret)

  如果參數name不空,則訪問特定的模塊,否則訪問的是內核模塊,參數which說明查詢的類型,當which=QM_MODULES時,返回所有當前已插入的模塊名稱,存入buff, 並且在ret中存放模塊的個數,buffsize是buf緩沖區的大小。在模塊隱藏的過程中只需要對which=QM_MODULES的情況進行處理就可以達到目的。修改後的系統調用工作過程如下:

  1)調用原來的系統調用,出錯則返回錯誤代碼;

  2)如果which不等於QM_MODULES,則不需要處理,直接返回。

  3)從buf的開始位置進行處理,如果存在特定的名字,則將後面的模塊名稱向前覆蓋該名字。

  4)重復3),直到處理處理完所有的名字,正確返回。

Copyright © Linux教程網 All Rights Reserved