如何檢測Linux核心的Rootkit

2021-10-23 06:37:34 字數 1476 閱讀 6982

最近一段時間搞了些rootkit攻略,每個方法都比較徹底,無論是隱藏程序,還是隱藏cpu利用率,隱藏tcp連線,隱藏檔案,甚至隱藏cpu風扇的狂轉,均採用了相對底層的方案,一般的rootkit檢測很難檢測到。

所謂的一般的rootkit就是那些通常的hook,比方說hook系統呼叫,hook proc/sys介面,hook library等等,但是這些均是掩耳盜鈴的鴕鳥策略,均不徹底。針對這些rootkit,業內已經有很多的方法來檢測:

然而我一一試了,檢測不到我這些rootkit。

最近很多朋友同事提醒我,為了不讓這些方法訴諸惡意,我必須提供破解方案。

以下的**可以檢測我自己的rootkit:

#include

#include

#define text_size 0xff0000

static

int __init checker_init

(void)}

}}return-1

;}module_init

(checker_init)

;module_license

("gpl"

);

我載入了之前的那個隱藏程序和tcp連線(僅僅hook tcp的seq show函式的版本)的rootkit,然後載入我這個新模組,看看效果:

[ 2234.422336]

## 8948551f0650ebe8 ffffffff810b4f10 1f0650eb ffffffffa011a000

[ 2234.422340]

## 8948551f06504be8 ffffffff810b4fb0 1f06504b ffffffffa011a000

[ 2234.430383]

## 8948551eb9d16be8 ffffffff81585e90 1eb9d16b ffffffffa0123000

我們看看這些位址意味著什麼。

crash> dis ffffffff810b4f10 1

0xffffffff810b4f10 : callq 0xffffffffa011a000

crash> dis ffffffff810b4fb0 1

0xffffffff810b4fb0 : callq 0xffffffffa011a000

crash> dis ffffffff81585e90 1

0xffffffff81585e90 : callq 0xffffffffa0123000

是不是一下子就查出來了呢!

總結下來就是:

至於說如何掃瞄call/jmp指令,那就是另乙個話題了。

背後的意思是,一般而言,核心函式不會呼叫模組裡的函式的。

再次提示,不要拿這些手藝去做不好的事情,不然經理會不高興。

浙江溫州皮鞋溼,下雨進水不會胖!

檢視ubuntu的核心版本 獲取roo

1 檢視核心版本命令 root ay130616190837708391z cd 管理員許可權 root ay130616190837708391z cd proc root ay130616190837708391z proc uname a linux ay130616190837708391z...

Linux核心死鎖檢測

其核心思想為建立乙個核心監測程序迴圈監測處於d狀態的每乙個程序 任務 核心配置 config detect hung task kernel hacking detect hung tasks 120 default timeout for hung task detection in second...

如何編譯核心Linux

我裝的是 linux 2.4.20 這個連線進行 c 配置核心前的準備工作 配置核心前的準備工作 cd usr include rm rf asm linux scsi asm generic 或改名儲存 ln s usr src linux include asm i386 asm ln s us...