国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動(dòng)安全 安全管理 應(yīng)用案例網(wǎng)絡(luò)威脅 系統(tǒng)安全 應(yīng)用安全 數(shù)據(jù)安全 云安全

Linux環(huán)境下Knark入侵工具的分析及防范

時(shí)間:2011-05-03 15:15來(lái)源: 點(diǎn)擊:
本文討論了Linux環(huán)境下攻擊者入侵成功以后常常使用的一些后門技術(shù),并且對(duì)最著名的rootkit工具之一?knark進(jìn)行了詳細(xì)的分析,并且指出了在發(fā)現(xiàn)系統(tǒng)被入侵以后如何發(fā)現(xiàn)是否是kark及如何恢復(fù)。
TagsKnark(7)入侵工具(7)  

  本文討論了Linux環(huán)境下攻擊者成功以后常常使用的一些后門技術(shù),并且對(duì)最著名的rootkit工具之一?knark進(jìn)行了詳細(xì)的分析,并且指出了在發(fā)現(xiàn)系統(tǒng)被入侵以后如何發(fā)現(xiàn)是否是kark及如何恢復(fù)。

  什么是"rootkit"?

  入侵者入侵后往往會(huì)進(jìn)行清理腳印和留后門等工作,最常使用的后門創(chuàng)建工具就是rootkit。不要被名字所迷惑,這個(gè)所謂的“rootkit”可不是給超級(jí)用戶root用的,它是入侵者在入侵了一太主機(jī)后,用來(lái)做創(chuàng)建后門并加以偽裝用的程序包。這個(gè)程序包里通常包括了日志清理器,后門等程序。同時(shí),程序包里通常還帶有一些偽造的ps、ls、who、w、netstat等原本屬于系統(tǒng)本身的程序,這樣的話,程序員在試圖通過(guò)這些命令查詢系統(tǒng)狀況的時(shí)候,就無(wú)法通過(guò)這些假的系統(tǒng)程序發(fā)覺(jué)入侵者的行蹤。

  在一些組織中,rootkit (或者backdoor) 是一個(gè)非常感興趣的話題。各種不同的rootkit被開(kāi)發(fā)并發(fā)布在internet上。在這些rootkit之中, LKM尤其被人關(guān)注, 因?yàn)樗抢矛F(xiàn)代的技術(shù)。作為內(nèi)核的一部分運(yùn)行,這種rootkit將會(huì)越來(lái)越比傳統(tǒng)技術(shù)更加強(qiáng)大更加不易被發(fā)覺(jué)。一旦被安裝運(yùn)行到目標(biāo)機(jī)器上, 系統(tǒng)就會(huì)完全被控制在hacker手中了。甚至系統(tǒng)管理員根本找不到安全隱患的痕跡, 因?yàn)樗麄儾荒茉傩湃嗡鼈兊牟僮飨到y(tǒng)了。后門程序的目的就是甚至系統(tǒng)管理員企圖彌補(bǔ)系統(tǒng)漏洞的時(shí)候也可以給hacker系統(tǒng)的訪問(wèn)權(quán)限。

  入侵者通過(guò):設(shè)置uid程序, 系統(tǒng)程序, cron后門等方法來(lái)實(shí)現(xiàn)入侵者以后從非特權(quán)用戶使用root權(quán)限。

  *設(shè)置uid程序。 黑客在一些文件系統(tǒng)理放一些設(shè)置uid腳本程序。無(wú)論何時(shí)它們只要執(zhí)行這個(gè)程序它們就會(huì)成為root。

  *系統(tǒng)木馬程序。黑客替換一些系統(tǒng)程序,如"login"程序。因此, 只要滿足一定的條件,那些程序就會(huì)給黑客最高權(quán)限。

  *Cron后門。黑客在cron增加或修改一些任務(wù),在某個(gè)特定的時(shí)間程序運(yùn)行,他們就可以獲得最高權(quán)限。

  具體可能通過(guò)以下方法給予遠(yuǎn)程用戶以最高訪問(wèn)權(quán)限: ".rhost" 文件,認(rèn)證密鑰, bind shell, 木馬服務(wù)程序。

  *".rhosts" 文件。一旦 "+ +"被加入某個(gè)用戶的.rhosts文件里, 任何人在任何地方都可以用這個(gè)賬號(hào)來(lái)登陸進(jìn)來(lái)而不需要密碼。

  *ssh認(rèn)證密鑰。黑客把他自己的公共密鑰放到目標(biāo)機(jī)器的ssh配置文件"authorized_keys"里, 他可以用該賬號(hào)來(lái)訪問(wèn)機(jī)器而不需要密碼。

  *Bind shell。黑客綁定一個(gè)shell到一個(gè)特定的tcp端口。任何人telnet這個(gè)端口都可以獲得交互的shell。更多精巧的這種方式的后門可以基于udp,或者未連接的tcp, 甚至icmp協(xié)議。

  *Trojaned服務(wù)程序。任何打開(kāi)的服務(wù)都可以成為木馬來(lái)為遠(yuǎn)程用戶提供訪問(wèn)權(quán)限。例如, 利用inetd服務(wù)在一個(gè)特定的端口來(lái)創(chuàng)建一個(gè)bind shell,或者通過(guò)ssh守護(hù)進(jìn)程提供訪問(wèn)途徑。

  在入侵者植入和運(yùn)行后門程序之后, 他會(huì)設(shè)法隱藏自己存在的證據(jù),這主要涉及到兩個(gè)方面問(wèn)題: 如何來(lái)隱藏他的文件且如何來(lái)隱藏他的進(jìn)程。

  為了隱藏文件, 入侵者需要做如下事情: 替換一些系統(tǒng)常用命令如"ls", "du", "fsck"。在底層方面, 他們通過(guò)把硬盤里的一些區(qū)域標(biāo)記為壞塊并把它的文件放在那里。或者如果他足夠瘋狂,他會(huì)把一些文件放入引導(dǎo)塊里。

  為了隱藏進(jìn)程, 他可以替換 "ps"程序, 或者通過(guò)修改argv[]來(lái)使程序看起來(lái)象一個(gè)合法的服務(wù)程序。有趣的是把一個(gè)程序改成中斷驅(qū)動(dòng)的話,它就不會(huì)出現(xiàn)在進(jìn)程表里了。

  RootKit-Knark的歷史

  Knark是第二代的新型rootkit工具-其基于LJM(loadable kernel module)技術(shù),使用這種技術(shù)可以有效地隱藏系統(tǒng)的信息。作者在代碼和README文件中都標(biāo)注有不承擔(dān)責(zé)任的聲明,聲明該代碼不可以被用作非法活動(dòng)。然而該軟件可以容易地被用于這種目的。

  Knark是由[email protected]編寫的,主要基于http://www.dataguard.no/bugtraq/1997_4/0059.html中Runar Jensen編寫的代碼heroin.c,設(shè)計(jì)思想主要來(lái)自于Phrack 52中plaguez發(fā)表的文章Weakening the Linux Kernel"。在重新編寫了heroin.c的大部分代碼以后,Creed決定重新命名為"Knark",在瑞典語(yǔ)中是指吸毒者。Creed編寫的其他軟件可以在www.sekure.net/~happy-h/得到,但是由于該站點(diǎn)只有瑞典語(yǔ)版本,因此應(yīng)用并不廣泛。

  Knark的第一個(gè)公開(kāi)版本是0.41,發(fā)布于June, 1999??梢栽贐4B0 #9中索引到它:http://packetstorm.securify.com/mag/b4b0/b4b0-09.txt。隨后0.50和0.59被發(fā)布,當(dāng)前版本是0.59??梢詮倪@里下載0.59版。

  Knark特性

  Knark0.59具有以下特性:

  *隱藏或顯示文件或目錄

  *隱藏TCP或UDP連接

  *程序執(zhí)行重定向

  *非授權(quán)地用戶權(quán)限增加("rootme")

  *改變一個(gè)運(yùn)行進(jìn)程的UID/GID的工具

  *非授權(quán)地、特權(quán)程序遠(yuǎn)程執(zhí)行守護(hù)進(jìn)程

  *Kill –31來(lái)隱藏運(yùn)行的進(jìn)程

  聯(lián)合使用程序執(zhí)行重新定向和文件隱藏,入侵者能提供各種后門程序執(zhí)行。由于執(zhí)行重定向是在內(nèi)核級(jí)別進(jìn)行的,因此文件檢測(cè)工具不會(huì)發(fā)現(xiàn)程序文件被修改-原始的執(zhí)行程序并沒(méi)有被修改,因此配置檢測(cè)工具在路徑環(huán)境中也不會(huì)發(fā)現(xiàn)任何異常。

  如果Knark結(jié)合另外一個(gè)用來(lái)隱藏系統(tǒng)當(dāng)前加載的模塊的LKM工具modhide,就可能實(shí)現(xiàn)甚至通過(guò)lsmod命令也不能發(fā)現(xiàn)knark的存在。

相關(guān)文章
------分隔線----------------------------

推薦內(nèi)容