網路入侵方法與一般步驟3 (轉)

amyz發表於2007-11-25
網路入侵方法與一般步驟3 (轉)[@more@] 

的善後工作

 :namespace prefix = o ns = "urn:schemas--com::office" />

1. 日誌簡介

 

  如果攻擊者完成攻擊後就立刻離開系統而不做任何善後工作,那麼他的行蹤將很快被員發現,因為所有的一般都提供日誌記錄功能,會把系統上發生的動作記錄下來。所以,為了自身的隱蔽性,一般都會抹掉自己在日誌中留下的痕跡。想要了解駭客抹掉痕跡的方法,首先要了解常見的作業系統的日誌結構以及工作方式。的日誌通常放在下面這幾個位置,根據作業系統的不同略有變化

 

  /usr/adm??早期版本的Unix。

  /Var/adm新一點的版本使用這個位置。

  /Varflort一些版本的、 、 Free BSD使用這個位置。

  /etc,大多數Unix版本把Utmp放在此處,一些Unix版本也把Wtmp放在這裡,這也是Syslog.conf的位置。

 

下面的檔案可能會根據你所在的目錄不同而不同:

 

  acct或pacct-一記錄每個使用的命令記錄。

  acceog主要用來執行了NCSA HTTP伺服器,這個記錄檔案會記錄有什麼站點連線過你的伺服器。

  aculo儲存撥出去的Modems記錄。

  lastlog記錄了最近的Login記錄和每個使用者的最初目的地,有時是最後不成功Login的記錄。

  loginlog一記錄一些不正常的L0gin記錄。

  messages??記錄輸出到系統控制檯的記錄,另外的資訊由Syslog來生成

  security記錄一些使用 UUCP系統企圖進入限制範圍的事例。

  sulog記錄使用su命令的記錄。

  utmp記錄當前登入到系統中的所有使用者,這個檔案伴隨著使用者進入和離開系統而不斷變化。

  Utmpx,utmp的擴充套件。

  wtmp記錄使用者登入和退出事件。

  Syslog最重要的日誌檔案,使用syslogd守護來獲得。

 

2. 隱藏蹤跡

  攻擊者在獲得系統最高管理員之後就可以隨意修改系統上的檔案了(只對常規 Unix系統而言),包括日誌檔案,所以一般駭客想要隱藏自己的蹤跡的話,就會對日誌進行修改。最簡單的方法當然就是刪除日誌檔案了,但這樣做雖然避免了系統管理員根據IP追蹤到自己,但也明確無誤地告訴了管理員,系統己經被人侵了。所以最常用的辦法是隻對日誌檔案中有關自己的那一部分做修改。關於修改方法的具體細節根據不同的作業系統有所區別,網路上有許多此類功能的程式,例如 zap、 wipe等,其主要做法就是清除 utmp、wtmp、Lastlog和 Pacct等日誌檔案中某一使用者的資訊,使得當使用w、who、last等命令檢視日誌檔案時,隱藏掉此使用者的資訊。

管理員想要避免日誌系統被駭客修改,應該採取一定的措施,例如用印表機實時記錄網路日誌資訊。但這樣做也有弊端,駭客一旦瞭解到你的做法就會不停地向日志裡寫入無用的資訊,使得印表機不停地列印日誌,直到所有的紙用光為止。所以比較好的避免日誌被修改的辦法是把所有日誌檔案傳送到一臺比較的主機上,即使用lo。即使是這樣也不能完全避免日誌被修改的可能性,因為駭客既然能攻入這臺主機,也很可能攻入loghost。

只修改日誌是不夠的,因為百密必有一漏,即使自認為修改了所有的日誌,仍然會留下一些蛛絲馬跡的。例如了某些程式,執行後也可能被管理員發現。所以,駭客高手可以透過替換一些系統程式的方法來進一步隱藏蹤跡。這種用來替換正常系統程式的駭客程式叫做kit,這類程式在一些駭客網站可以找到,比較常見的有LinuxRootKit,現在已經發展到了5.0版本了。它可以替換系統的ls、psstat、inetd等等一系列重要的系統程式,當替換了ls後,就可以隱藏指定的檔案,使得管理員在使用ls命令時無法看到這些檔案,從而達到隱藏自己的目的。

 

3. 後門

 

   一般駭客都會在攻入系統後不只一次地進入該系統。為了下次再進入系統時方便一點,駭客會留下一個後門,特洛伊就是後門的最好範例。Unix中留後門的方法有很多種,下面介紹幾種常見的後門,供員參考防範。

 

  <1>密碼後門

  這是者使用的最早也是最老的方法, 它不僅可以獲得對Unix機器的訪問, 而且可 以透過破碼製造後門. 這就是破解口令薄弱的帳號. 以後即使管理員封了入侵者 的當前帳號,這些新的帳號仍然可能是重新侵入的後門. 多數情況下, 入侵者尋找口令 薄弱的未使用帳號,然後將口令改的難些. 當管理員尋找口令薄弱的帳號是, 也不會發 現這些密碼已修改的帳號.因而管理員很難確定查封哪個帳號.

 

  <2>Rhosts + + 後門

  在連網的Unix機器中,象Rsh和Rlogin這樣的服務是基於rhosts檔案裡的主機名使用簡 單的方法. 使用者可以輕易的改變設定而不需口令就能進入. 入侵者只要向可以訪 問的某使用者的rhosts檔案中輸入"+ +", 就可以允許任何人從任何地方無須口令便能進 入這個帳號. 特別當home目錄透過NFS向外共享時, 入侵者更熱中於此. 這些帳號也成 了入侵者再次侵入的後門. 許多人更喜歡使用Rsh, 因為它通常缺少日誌能力. 許多管 理員經常檢查 "+ +", 所以入侵者實際上多設定來自網上的另一個帳號的主機名和 使用者名稱,從而不易被發現.

  <3>校驗和及時間戳後門

  早期,許多入侵者用自己的trojan程式替代二進位制檔案. 系統管理員便依靠時間戳和系 統校驗和的程式辨別一個二進位制檔案是否已被改變, 如Unix裡的sum程式. 入侵者又發 展了使trojan檔案和原檔案時間戳同步的新技術. 它是這樣實現的: 先將系統時鐘撥 回到原檔案時間, 然後調整trojan檔案的時間為系統時間. 一旦二進位制trojan檔案與 原來的精確同步, 就可以把系統時間設回當前時間. Sum程式是基於CRC校驗, 很容易 騙過.入侵者設計出了可以將trojan的校驗和調整到原檔案的校驗和的程式. MD5是被 大多數人推薦的,MD5使用的演算法目前還沒人能騙過.

  <4>Login後門

  在Unix裡,login程式通常用來對來的使用者進行口令驗證. 入侵者獲取login.c的 原始碼並修改,使它在比較輸入口令與口令時先檢查後門口令. 如果使用者敲入後門 口令,它將忽視管理員設定的口令讓你長驅直入. 這將允許入侵者進入任何帳號,甚至 是root.由於後門口令是在使用者真實登入並被日誌記錄到utmp和wtmp前產生一個訪問 的, 所以入侵者可以登入獲取卻不會暴露該帳號. 管理員注意到這種後門後, 便 用"strings"命令搜尋login程式以尋找文字資訊. 許多情況下後門口令會原形畢露. 入侵者就開始或者更好的隱藏口令, 使strings命令失效. 所以更多的管理員是 用MD5校驗和檢測這種後門的.

 

  <5>Telnetd後門

  當使用者telnet到系統, 埠的inetd服務接受連線隨後遞給in.telnetd,由它執行 login.一些入侵者知道管理員會檢查login是否被修改, 就著手修改in.telnetd. 在in.telnetd內部有一些對使用者資訊的檢驗, 比如使用者使用了何種終端. 典型的終端 設定是Xterm或者VT100.入侵者可以做這樣的後門, 當終端設定為"letmein"時產生一 個不要任何驗證的shell. 入侵者已對某些服務作了後門, 對來自特定源埠的連線產 生一個shell .

 

  <6>服務後門

  幾乎所有網路服務曾被入侵者作過後門. Finger, rsh, rexec, rlogin, , 甚至d等等的作了的版本隨處多是. 有的只是連線到某個TCP埠的shell,透過後門口 令就能獲取訪問.這些程式有時用刺媧□?Ucp這樣不用的服務,或者被加入inetd.conf 作為一個新的服務.管理員應該非常注意那些服務正在執行, 並用MD5對原服務程式做 校驗.

 

  <7>Cronjob後門

  Unix上的Cronjob可以按時間表排程特定程式的執行. 入侵者可以加入後門shell程式 使它在1AM到2AM之間執行,那麼每晚有一個小時可以獲得訪問. 也可以檢視cronjob中 經常執行的合法程式,同時置入後門.

 

  <8>庫後門

  幾乎所有的UNIX系統使用共享庫. 共享庫用於相同的重用而減少程式碼長度. 一些 入侵者在象crypt.c和_crypt.c這些函式里作了後門. 象login.c這樣的程式了 crypt(),當使用後門口令時產生一個shell. 因此, 即使管理員用MD5檢查login程式, 仍然能產生一個後門函式.而且許多管理員並不會檢查庫是否被做了後門.對於許多入 侵者來說有一個問題: 一些管理員對所有東西多作了MD5校驗. 有一種 辦法是入侵者對open()和檔案訪問函式做後門. 後門函式讀原檔案但trojan後門 程式. 所以 當MD5讀這些檔案時,校驗和一切正常. 但當系統執行時將執行trojan版本 的. 即使trojan庫本身也可躲過 MD5校驗. 對於管理員來說有一種方法可以找到後門, 就是靜態編連MD5校驗程式然後 執行. 靜態連線程式不會使用trojan共享庫.

 

  <9>核心後門

  核心是Unix工作的核心. 用於庫躲過MD5校驗的方法同樣適用於核心級別,甚至連靜態 連線多不能識別. 一個後門作的很好的核心是最難被管理員查詢的, 所幸的是核心的 後門程式還不是隨手可得, 每人知道它事實播有多廣.

 

  <10>檔案系統後門

  入侵者需要在伺服器上儲存他們的掠奪品或資料,並不能被管理員發現. 入侵者的文章 常是包括exploit指令碼工具,後門集,sniffer日誌,e的備分,原始碼,等等. 有時為 了防止管理員發現這麼大的檔案, 入侵者需要修補"ls","du","fsck"以隱匿特定的目 錄和檔案.在很低的級別, 入侵者做這樣的: 以專有的格式在上割出一部分, 且表示為壞的扇區. 因此入侵者只能用特別的工具訪問這些隱藏的檔案. 對於普通的 管理員來說, 很難發現這些"壞扇區"裡的檔案系統, 而它又確實存在.

 

  <11>Boot塊後門

  在PC世界裡,許多藏匿與根區, 而殺病毒就是檢查根區是否被改變. Unix下, 多數管理員沒有檢查根區的軟體, 所以一些入侵者將一些後門留在根區.

 

  <12>隱匿程式後門

  入侵者通常想隱匿他們執行的程式. 這樣的程式一般是口令破解程式和監聽程式 (sniffer).有許多辦法可以實現,這裡是較通用的: 編寫程式時修改自己的argv[] 使它看起來象其他程式名. 可以將sniffer程式改名類似in.syslog再執行. 因此 當管理員用"ps"檢查執行程式時, 出現 的是標準服務名. 可以修改庫函式致使 "ps"不能顯示所有程式. 可以將一個後門或程式嵌入中斷程式使它不會在程式表 顯現. 使用這個技術的一個後門 例子是amod.tar.gz :

~maillist/traq.1/0777.html

也可以修改核心隱匿程式.

 

  <13>網路通行後門

  入侵者不僅想隱匿在系統裡的痕跡, 而且也要隱匿他們的網路通行. 這些網路通行後 門有時允許入侵者透過進行訪問. 有許多網路後門程式允許入侵者建立某個端 口號並不用透過普通服務就能實現訪問. 因為這是透過非標準網路埠的通行, 管理 員可能忽視入侵者的足跡. 這種後門通常使用TCP,UDP和ICMP, 但也可能是其他型別報 文.

 

  <14>TCP Shell 後門

  入侵者可能在防火牆沒有阻塞的高位TCP埠建立這些TCP Shell後門. 許多情況下,他 們用口令進行保護以免管理員連線上後立即看到是shell訪問. 管理員可以用netstat 命令檢視當前的連線狀態, 那些埠在偵聽, 目前連線的來龍去脈. 通常這些後門可 以讓入侵者躲過TCP Wrapper技術. 這些後門可以放在SMTP埠, 許多防火牆允許 通行的.

 

  <15>UDP Shell 後門

  管理員經常注意TCP連線並觀察其怪異情況, 而UDP Shell後門沒有這樣的連線, 所以 netstat不能顯示入侵者的訪問痕跡. 許多防火牆設定成允許類似的UDP報文的通 行. 通常入侵者將UDP Shell放置在這個埠, 允許穿越防火牆.

 

  <16>ICMP Shell 後門

  是透過傳送和接受ICMP包檢測機器活動狀態的通用辦法之一. 許多防火牆允許外 界ping它內部的機器. 入侵者可以放資料入Ping的ICMP包, 在ping的機器間形成一個 shell通道. 管理員也許會注意到Ping包暴風, 但除了他檢視包內資料, 否者入侵者不 會暴露.

 

  <17>加密連線

  管理員可能建立一個sniffer試圖某個訪問的資料, 但當入侵者給網路通行後門加密 後,就不可能被判定兩臺機器間的傳輸內容了.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984571/,如需轉載,請註明出處,否則將追究法律責任。

相關文章