簡體   English   中英

Linux內核模塊:重新劫持虛擬文件系統的迭代功能

[英]Linux kernel module: re-hijacking the iterate function of the virtual filesystem

從用戶隱藏進程的一種流行方法是劫持/ proc目錄的iterate函數。 這可以按如下方式完成:

struct file *filep = filp_open("/proc", O_RDONLY, 0));
filep->f_op->iterate = p // We swap the pointer with our hacked iterate

我正在研究一種檢測方法,我希望恢復原始的迭代功能(假設它已經被劫持)。 有沒有辦法找到用於/ proc目錄的原始迭代函數?

您可以嘗試啟發式方法。 原始函數的地址將與其他proc函數位於同一區域,而劫持函數的地址將明顯不同。 然后解析劫持器功能的機器代碼。 劫持程序函數必須在返回之前轉移到原始函數,因此您查看所有分支指令並檢查哪一個適合其他原始地址。

我假設你知道你正在使用哪個版本的內核?

只需將該版本的函數復制到您的模塊中,並使用您的副本地址覆蓋迭代指針。

這在功能上應該是等效的,盡管沒有人知道胭脂模塊可能釋放出來的其他邪惡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM