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

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

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


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