最近一段時間搞了些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...