原理:
盡管為服務器設計軟件的軟件工程師想方設法提高系統的安全性,然而由於系統管理員水平的參差不齊或安全意識低下,往往給我們提供了入侵的機會。
分析壹部分主頁被黑的事例可以發現使用入侵者最熱衷於入侵Web服務器和FTP服務器,因為相對來說這是最簡單的兩種途徑。在假設妳對UNIX系統和WEBSERVER的知識不曾了解的情況下,大概有下面的步驟:(註:以下全部內容僅供理論上討論參考,嚴禁模仿,否則後果自負)。
壹、了解要入侵的系統
現在網絡上用作服務器的操作系統以UNIX和Linux為主流,如果要入侵這些系統則必須對它們有壹個了解。
大部份在DOS上使用的指令在UNIX及Linux上都有對應的指令(因為早期的dos開發借鑒了UNIX),以下列出在使用SHELL帳號(shellaccount)時最主要的壹些指令對應的dos指令:
HELP=HELP
CP=COPY
MV=MOVE
LS=DIR
RM=DEL
CD=CD
要看誰同時也在該系統上用戶可以鍵入WHO指令,要知道系統上某壹位使用者的資料,可以鍵入FINGER。這些基本的UNIX指令可以讓妳得到正使用的系統信息。
二、破解密碼
在UNIX操作系統中,所有系統使用者的密碼都存放在壹個文件中,這個文件存放在/etc這個目錄下面,它的文件名就叫做passwd。如果妳認為所要做的工作就是拿到這個文件按照上面的密碼登陸系統的話那就大錯特錯了。UNIX和Linux下的passwd文件是特殊的,在它裏面所有帳號的密碼都已經經過重新編譯的(也就是前面說過的DES加密方法),而且這些密碼所進行的都是單向編譯,也就是說沒有辦法可以反編譯它的。
但是還是有些程序可以得到這些原始的密碼。我推薦壹個破解密碼的程序“CrackerJack”,它也是壹個使用字典來對字典文件進行窮舉的軟件。首先“CrackerJack”會把字典文件裏的每壹個值進行編譯,然後將編譯過的值與密碼文件中的內容進行比較,得到相同的結果就會報告對應的未經編譯密碼。這個軟件巧妙的繞過密碼無法反編譯的限制,使用窮舉比較獲得密碼。使用這種原理獲得密碼的工具有許多,妳可以到網絡上去搜尋壹下。
三、獲得密碼文件
這是最困難的壹部分。很明顯,如果管理員有那麽壹個密碼文件的話他當然不會放在那裏讓其它人舒舒服服的拿到的。入侵者必須找到好方法以不進入系統的方式拿到密碼文件。這裏我推薦兩種方法:
1.tc目錄在FTP服務上不會被鎖住,入侵可以用FTPclient程序使用anoymously匿名帳號登陸,然後檢查壹下/etc/passwd是否為匿名設置了被讀取的權限,如果有馬上備份下來使用軟件解碼。
2.些系統中,/cgi-bin目錄下會有個叫PHF的文件,如果準備入侵的服務器上有的話那就要方便的多了。因為PHF允許使用者對網站系統裏的文件作遠端讀取,以此為據,用戶可以使用瀏覽器抓取passwd文件,只要在瀏覽器地址欄中鍵入URL:mandlogin”使用
demodemo
umountfsysumountfsys
syncsync
adminadmin
guestguest
daemondaemon
其中rootmountfsysumountfsysinstall(有時候sync也是)等都是root級別的帳號,也就是擁有了sysop(系統管理員)的權限。
最後有必要介紹壹下UNIX的日誌文件。很多入侵者不希望侵入的電腦追蹤他們,那到底如何做那。
系統管理員主要依靠系統的LOG,即我們時常所說的日誌文件來獲得入侵的痕跡及入侵者進來的IP和其他信息。當然也有些管理員使用第三方工具來記錄侵入電腦的信息,這裏主要講的是壹般UNIX系統裏記錄入侵蹤跡的文件。
UNIX系統有多個版本,各個系統有不同的LOG文件,但大多數都應該有差不多的存放位置,最普通的位置就是下面的這幾個:
/usr/adm,早期版本的UNIX;
/var/adm,新壹點的版本使用這個位置;
/var/log,壹些版本的Solaris,LinuxBSD,FreeBSD使用這個位置;
/etc,大多數UNIX版本把utmp放在此處,壹些也把wtmp放在這裏,這也是syslog.conf的位置。
下面列舉壹些文件的功能,當然他們也根據入侵的系統不同而不同。
acct或pacct,記錄每個用戶使用的命令記錄;
access_log,主要使用來服務器運行了NCSAHTTPD,這個記錄文件會有什麽站點連接過妳的服務器;
aculog,保存著妳撥出去的MODEMS記錄;
lastlog,記錄了用戶最近的登陸記錄和每個用戶的最初目的地,有時是最後不成功登陸的記錄;
loginlog,記錄壹些不正常的登陸記錄;
messages,記錄輸出到系統控制臺的記錄,另外的信息由syslog來生成;
security,記錄壹些使用UUCP系統企圖進入限制範圍的事例;
sulog,記錄使用su命令的記錄;
utmp,記錄當前登錄到系統中的所有用戶,這個文件伴隨著用戶進入和離開系統而不斷變化;
utmpx,UTMP的擴展;
wtmp,記錄用戶登錄和退出事件;
syslog,最重要的日誌文件,使用syslogd守護程序來獲得。
日誌信息:
/dev/log,壹個UNIX域套接字,接受在本地機器上運行的進程所產生的消息;
/dev/klog,壹個從UNIX內核接受消息的設備;
514端口,壹個INTERNET套接字,接受其他機器通過UDP產生的syslog消息;
Uucp,記錄的UUCP的信息,可以被本地UUCP活動更新,也可有遠程站點發起的動作修改,信息包括發出和接受的呼叫,發出的請求,發送者,發送時間和發送主機;
lpd-errs,處理打印機故障信息的日誌;
ftp日誌,執行帶-l選項的ftpd能夠獲得記錄功能;
httpd日誌,HTTPD服務器在日誌中記錄每壹個WEB訪問記錄;
history日誌,這個文件保存了用戶最近輸入命令的記錄;
vold.log,記錄使用外接媒介時遇到的錯誤記錄。
以上是入侵基於UNIX、Linux系統服務器的主要步驟,妳現在應該對它有壹些認識了。如果妳對UNIX系統缺乏了解的話那是非常不容易掌握它的。最後要再次強調的是:以上全部內容不得轉載,只供彼此學習討論理論知識用,更加嚴禁模仿,否則,壹切後果自負!