一、 全球第三大網(wǎng)絡(luò)服務(wù)器
Internet Information Services(IIS,以前稱為Internet Information Server)互聯(lián)網(wǎng)信息服務(wù)是Microsoft公司提供的可擴(kuò)展Web服務(wù)器,支持HTTP,HTTP/2,HTTPS,F(xiàn)TP,F(xiàn)TPS,SMTP和NNTP等。起初用于Windows NT系列,隨后內(nèi)置在Windows 2000、Windows XP Professional、Windows Server 2003和后續(xù)版本一起發(fā)行。IIS目前只適用于Windows系統(tǒng),不適用于其他操作系統(tǒng)。
根據(jù)Netcraft在2018年9月的最新全球Web服務(wù)器報(bào)告顯示,Microsoft IIS依舊以9.57%的比例占據(jù)全球第三大最繁忙服務(wù)器,落后于Apache 34.07%和Nginx 25.45%。目前流行的Windows版本都默認(rèn)安裝IIS服務(wù),但同時(shí)IIS的安全性一直被業(yè)內(nèi)詬病,一旦IIS出現(xiàn)高危漏洞,將會(huì)出現(xiàn)范圍廣、影響深的特點(diǎn)。

目前IIS一共發(fā)行12個(gè)版本,從IIS 1.0版本至IIS 10.0版本,IIS 1.0-4.0已經(jīng)基本退出市場(chǎng),IIS 5.0-10.0是Web市場(chǎng)主要使用的網(wǎng)站服務(wù)器。隨著Windows版本發(fā)布和不斷更新,IIS自身的安全性也有了較大的提升。在2005-2018年期間,IIS漏洞呈現(xiàn)逐年減少的趨勢(shì),同時(shí)也說明了IIS漏洞POC公布越來(lái)越少、漏洞挖掘的難度也在提升。

從上述IIS漏洞統(tǒng)計(jì)表格可以看出,IIS 7.5、IIS 8.5和IIS 10.0是目前全球使用最多的三款I(lǐng)IS版本,分別對(duì)應(yīng)受影響漏洞12個(gè)、4個(gè)和2個(gè),呈現(xiàn)受影響漏洞數(shù)量遞減的趨勢(shì)。同時(shí),在歷年的IIS版本漏洞中,IIS 6.0、IIS 5.1、IIS 7.5和IIS 7.0受影響的漏洞數(shù)居前四位。
二、 IIS漏洞分析
千里目實(shí)驗(yàn)室針對(duì)IIS近十幾年(2005年以后)的35個(gè)漏洞進(jìn)行和整理和分析,IIS漏洞主要分布在緩沖區(qū)溢出、認(rèn)證繞過、DOS拒絕服務(wù)、代碼執(zhí)行和信息泄露,其中以MS15-034遠(yuǎn)程代碼執(zhí)行漏洞最為嚴(yán)重。


由上表可以看到,IIS歷年漏洞主要以遠(yuǎn)程漏洞為主,占漏洞總數(shù)85.71%,本地漏洞有5個(gè),占漏洞總數(shù)14.29%。其中5個(gè)本地漏洞分別是:(MS12-073)Microsoft IIS密碼信息泄露漏洞CVE-2012-2531、 Microsoft IIS源代碼泄露漏洞CVE-2005-2678、 (MS17-016)Microsoft Internet信息服務(wù)器跨站腳本漏洞CVE-2017-0055、 (MS16-016)IIS WEBDAV特權(quán)提升漏洞CVE-2016-0051、 (MS08-005)Microsoft IIS 文件更改通知本地權(quán)限提升漏洞CVE-2008-0074。
以下主要針對(duì)IIS漏洞中可以遠(yuǎn)程利用的重點(diǎn)漏洞做分析和復(fù)現(xiàn):
1. 緩沖區(qū)溢出漏洞
1.1 (MS09-053)Microsoft IIS FTPd服務(wù)NLST命令棧緩沖區(qū)CVE-2009-3023
1.1.1 漏洞描述
Microsoft IIS內(nèi)嵌的FTP服務(wù)器中存在基于棧的緩沖區(qū)溢出漏洞。如果遠(yuǎn)程攻擊者對(duì)帶有特制名稱的目錄發(fā)布了包含有通配符的FTP NLST(NAME LIST)命令的話,就可以觸發(fā)這個(gè)溢出,導(dǎo)致執(zhí)行任意代碼。僅在攻擊者擁有寫訪問權(quán)限的情況下才可以創(chuàng)建帶有特殊名稱的目錄。
1.1.2 漏洞分析和復(fù)現(xiàn)
· 漏洞影響版本:IIS 5.0、IIS 5.1、IIS 6.0
· 漏洞分析:
IIS包括用于通過TCP計(jì)算機(jī)網(wǎng)絡(luò)交換和操作文件的FTP服務(wù)器服務(wù)。它默認(rèn)偵聽端口21以獲取來(lái)自FTP客戶端的傳入連接。IIS支持的FTP命令之一是名稱列表(NLST)命令。此命令用于將目錄列表從服務(wù)器傳輸?shù)娇蛻舳恕T撁畹恼Z(yǔ)法如下:
NLST
此命令中的路徑名應(yīng)指定目錄或其他特定于系統(tǒng)的文件組描述符;在pathname為NULL時(shí),使用當(dāng)前目錄。NLST命令可以使用諸如“*”之類的通配符來(lái)引用多個(gè)路徑。
Microsoft Internet信息服務(wù)(IIS)中存在緩沖區(qū)溢出漏洞。該漏洞是由于處理NLST FTP命令時(shí)邊界檢查不足造成的。當(dāng)FTP用戶請(qǐng)求包含通配符的路徑名過長(zhǎng)的目錄列表時(shí),易受攻擊的代碼會(huì)將目錄路徑名復(fù)制到0x9F(159)字節(jié)的基于堆棧的緩沖區(qū)中,而不進(jìn)行邊界驗(yàn)證。提供包含大于0x9F(159)字節(jié)的路徑名會(huì)使堆棧緩沖區(qū)溢出,從而可能會(huì)覆蓋關(guān)鍵進(jìn)程數(shù)據(jù)(如函數(shù)返回地址)。
遠(yuǎn)程身份驗(yàn)證的攻擊者可以通過連接到易受攻擊的IIS FTP服務(wù)器并向目標(biāo)服務(wù)器發(fā)送惡意NLST命令來(lái)利用此漏洞。成功利用將導(dǎo)致使用System權(quán)限執(zhí)行代碼。如果代碼執(zhí)行攻擊不成功,可能會(huì)導(dǎo)致受影響的FTP會(huì)話異常終止。
注意:為了成功利用此漏洞,NLST命令中指定的長(zhǎng)路徑名必須存在于目標(biāo)系統(tǒng)上。因此,利用此漏洞的攻擊可能伴隨著MKD命令的使用。
· 漏洞類型:可遠(yuǎn)程利用,存在緩沖區(qū)溢出漏洞,可觸發(fā)代碼執(zhí)行
|