入侵服務器有哪些基礎知識
學習網(wǎng)絡安全的朋友們應該都了解過服務器的相關知識,特別是服務器入侵,大致有什么重要內(nèi)容呢,下面是學習啦小編整理的一些關于服務器入侵的基礎知識資料,供你參考。
入侵服務器的基礎知識
一、了解要入侵的服務器系統(tǒng)
現(xiàn)在網(wǎng)絡上用作服務器的操作系統(tǒng)以UNIX和Linux為主流,如果要入侵這些系統(tǒng)則必須對它們有一個了解。
大部份在 DOS 上使用的指令在 UNIX 及 Linux 上都有對應的指令(因為早期的dos開發(fā)借鑒了UNIX),以下列出在使用 SHELL帳號 (shell account)時最主要的一些指令對應的dos指令:
HELP=HELP
CP=COPY
MV= MOVE
LS= DIR
RM =DEL
CD=CD
要看誰同 r也在該系 y上用戶可以鍵入 WHO 指令,要知道系 y上某一位使用者的資料, 可以 I入 FINGER。這些基本的 UNIX 指令可以讓你得到你正使用系 y的信息。
二、解除密碼
在UNIX操作系統(tǒng)中, 所有系統(tǒng)使用者的密碼都存放在一個文件中,這個文件存放在 /etc這個目錄下面, 它的文件名就叫做passwd。如果讀者認為所要做的工作就是拿到這個文件按照上面的密碼登陸系統(tǒng)的話那就大錯特錯了。UNIX和Linux下的p asswd文件是特殊的,在它里面所有帳號的密碼都已經(jīng)經(jīng)過重新編譯的(也就是前面說過的DES加密方法),而且這些密碼所進行的都是單向編譯( one-way encrypted),也就是說沒有辦法可以反編譯它的(decrypt)。
但是還是有些程序可以得到這些原始的密碼。筆者向大家推薦一個解除密碼的程序“Cracker Jack”,它也是一個使用字典來對字典文件進行窮舉的軟件。首先“Cracker Jack”會把字典文件里的每一個值進行編譯,然后將編譯過的值與密碼文件中的內(nèi)容進行比較,得到相同的結果就會報告對應的未經(jīng)編譯密碼。這個軟件巧妙的繞過密碼無法反編譯的限制,使用窮舉比較獲得密碼。使用這種原理獲得密碼的工具有許多,讀者可以到網(wǎng)絡上去搜尋一下。
三、獲得密碼文件
這是最困難的一部分。很明顯,如果管理員有那么一個密碼文件的話他當然不會放在那里讓其它人舒舒服服的拿到的。入侵者必須找到好方法以不進入系統(tǒng)的方式拿到密碼文件。這里筆者向大家介紹兩種方法,大家可以試試,有可能會成功。
1.tc目錄在FTP服務上不會被鎖住,入侵可以用FTP client程序使用anoymously匿名帳號登陸,然后檢查一下/etc/passwd是否為匿名設置了被讀取的權限,如果有馬上備份下來使用軟件解碼。
2.些系統(tǒng)中,/cgi-bin目錄下會有個叫PHF的文件,如果準備入侵的服務器上有的話那就要方便的多了。因為PHF允許使用者對網(wǎng)站系統(tǒng)里的文件作遠端讀取,以此為據(jù),用戶可以使用瀏覽器抓取p asswd文件,只要在瀏覽器地址欄中鍵入URL:http://xxx.xxx.xxx/cgi-bin/phf?Qalias=x /bin/cat /etc/passwd,其中xxx.xxx.xxx 是要入侵的網(wǎng)站名。
如果這兩種方法都行不通的話,那入侵者必須實施其它的辦法了。
在有些情況下入侵者找到的密碼文件的第二部分是X、!或者*,那么說明該密碼文件已經(jīng)被鎖死,這是系統(tǒng)管理員使用的加強安全的手段之一。但是將密碼文件完全隱藏起來的情況是不太有的。通常情況下都會有未經(jīng)鎖死的密碼文件備份在系統(tǒng)中,這樣入侵者就可以加以利用,比如:入侵者通常會尋找/ etc/shadow目錄或類似的目錄,看能否找到密碼文件的備份。
四、建立自己的shell帳號
經(jīng)過二、三兩個關鍵的步驟入侵者終于拿到了關鍵的密碼文件,并且解除出了密碼?,F(xiàn)在可以運行TELNET程序,登陸主機了。當連上服務器時服務器會向你顯示自己的一些信息,通常是U NIX、linux、 aix、 irix、 ultrix、 bsd 甚至是 DOS 和VAX/Vms;然后是Login提示符出現(xiàn)在屏幕上,這時鍵入得來的帳號和密碼即可登陸系統(tǒng)。此時入侵者就可以利用自己的UNIX知識做自己喜歡做的事了。
最后對一份密碼文件做一個分析,該文件內(nèi)容如下:
root:1234aaab:0:1:Operator:/:/bin/csh
nobody:*:12345:12345::/:
daemon:*:1:1::/:
sys:*:2:2::/:/bin/csh
sun:123456hhh:0:1:Operator:/:/bin/csh
bin:*:3:3::/bin:
uucp:*:4:8::/var/spool/uucppublic:
news:*:6:6::/var/spool/news:/bin/csh
audit:*:9:9::/etc/security/audit:/bin/csh
sync::1:1::/:/bin/sync
sysdiag:*:0:1:Old System
Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag
sundiag:*:0:1:System
Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag
tom:456lll45uu:100:20::/home/tom:/bin/csh
john:456fff76Sl:101:20:john:/home/john:/bin/csh
henry:AusTs45Yus:102:20:henry:/home/henry:/bin/csh
harry:SyduSrd5sY:103:20:harry:/home/harry:/bin/csh
steven:GEs45Yds5Ry:104:20:steven:/home/steven:/bin/csh
::0:0:::
其中以“:”分成幾個欄位,比如: tom:456lll45uu:100:20:tomchang:/home/tom:/bin/csh的含義是:
User Name: tom
Password: 456lll45uu
User No: 100
Group No: 20
Real Name: tom chang
Home Dir: /home/tom
Shell: /bin/csh
讀者可以發(fā)現(xiàn)以上諸如nobody、 daemon、 sys、 bin、 uucp、 news、 audit、 sysdiag、sundiag 等的密碼欄位都是*,也就是說這些帳號的密碼都已鎖死,無法直接利用。
值得注意的是,許多系統(tǒng)在首次安裝后會有一些缺省帳號和密碼,這給投機主義的黑客帶來方便,以下就是一些UNIX下缺省的帳號和密碼。
ACCOUNT PASSWORD
----------- ----------------
root root
sys sys / system / bin
bin sys / bin
mountfsys mountfsys
adm adm
uucp uucp
nuucp anon
anon anon
user user
games games
install install
reboot 供“command login”使用
demo demo
umountfsys umountfsys
sync sync
admin admin
guest guest
daemon daemon
其中 root mountfsys umountfsys install (有 r候 sync也是) 等都是root級別的帳號, 也就是擁有了sysop (系統(tǒng)管理員)的權限。
最后有必要介紹一下UNIX的日志文件。很多入侵者不希望侵入的電腦追蹤他們,那到底如何做那。
系統(tǒng)管理員主要依靠系統(tǒng)的LOG,即我們時常所說的日志文件來獲得入侵的痕跡及入侵者進來的IP和其他信息。當然也有些管理員使用第三方工具來記錄侵入電腦的信息,這里主要講的是一般U NIX系統(tǒng)里記錄入侵蹤跡的文件。
UNIX系統(tǒng)有多個版本,各個系統(tǒng)有不同的LOG文件,但大多數(shù)都應該有差不多的存放位置,最普通的位置就是下面的這幾個:
/usr/adm,早期版本的UNIX;
/var/adm,新一點的版本使用這個位置;
/var/log,一些版本的Solaris,Linux BSD,F(xiàn)ree BSD使用這個位置;
/etc,大多數(shù)UNIX版本把utmp放在此處,一些也把wtmp放在這里,這也是 syslog.conf的位置。
下面列舉一些文件的功能,當然他們也根據(jù)入侵的系統(tǒng)不同而不同。
acct 或 pacct,記錄每個用戶使用的命令記錄;
access_log,主要使用來服務器運行了NCSA HTTPD,這個記錄文件會有什么站點連接過你的服務器;
aculog,保存著你撥出去的MODEMS記錄;
lastlog,記錄了用戶最近的登陸記錄和每個用戶的最初目的地,有時是最后不成功登陸的記錄;
loginlog,記錄一些不正常的登陸記錄;
messages,記錄輸出到系統(tǒng)控制臺的記錄,另外的信息由syslog來生成;
security,記錄一些使用UUCP系統(tǒng)企圖進入限制范圍的事例;
sulog,記錄使用su命令的記錄;
utmp,記錄當前登錄到系統(tǒng)中的所有用戶,這個文件伴隨著用戶進入和離開系統(tǒng)而不斷變化;
utmpx,UTMP的擴展;
wtmp,記錄用戶登錄和退出事件;
syslog,最重要的日志文件,使用syslogd守護程序來獲得。
日志信息:
/dev/log,一個UNIX域套接字,接受在本地機器上運行的進程所產(chǎn)生的消息;
/dev/klog,一個從UNIX內(nèi)核接受消息的設備;
514端口,一個INTERNET套接字,接受其他機器通過UDP產(chǎn)生的syslog消息;
Uucp,記錄的UUCP的信息,可以被本地UUCP活動更新,也可有遠程站點發(fā)起的動作修改,信息包括發(fā)出和接受的呼叫,發(fā)出的請求,發(fā)送者,發(fā)送時間和發(fā)送主機;
lpd-errs,處理打印機故障信息的日志;
ftp日志,執(zhí)行帶-l選項的ftpd能夠獲得記錄功能;
httpd日志,HTTPD服務器在日志中記錄每一個WEB訪問記錄;
history日志,這個文件保存了用戶最近輸入命令的記錄;
vold.log,記錄使用外接媒介時遇到的錯誤記錄。
服務器原理知識
服務器是做服務用的,放置在公共網(wǎng)絡狀態(tài)的環(huán)境里,全球任何一臺連入互聯(lián)網(wǎng)的終端機就可以連接到服務器,與服務器交互信息,也可以單方向的從服務器上獲取信息,典型的服務就是IIS,服務器里安裝IIS服務,就可以將網(wǎng)站的內(nèi)容放入服務器里,使全球的任何人只要打開這個網(wǎng)站的網(wǎng)址就可以打開這個網(wǎng)站,瀏覽、下載這個服務器上的網(wǎng)站信息。
服務器功能
? 提供服務- IP 地址
? 將一種資源共享給多個請求者- 數(shù)據(jù)庫
? 將一種設備共享給多個請求者- 打印機
? 為其他系統(tǒng)開放網(wǎng)關- Web
? 提供處理能力- 數(shù)字
? 存儲內(nèi)容- 數(shù)據(jù)