Intel AMT 固件密碼繞過(guò)登錄漏洞分析與實(shí)戰(zhàn)
原創(chuàng)【51CTO.com原創(chuàng)稿件】一、漏洞簡(jiǎn)介
2017年5月1日,英特爾公布了AMT漏洞(INTEL-SA-00075),但該漏洞的細(xì)節(jié)未公開(kāi)。2017年5月5日,Tenable公司研究人員卡洛斯·佩雷斯通過(guò)分析LMS軟件包,最終發(fā)現(xiàn)并成功利用該漏洞。
1.漏洞編號(hào)
Intel AMT 固件密碼繞過(guò)登錄漏洞CVE漏洞編號(hào)CVE-2017-5689;Intel AMT 固件可以配置英特爾可管理性SKU:英特爾主動(dòng)管理技術(shù)(AMT)和英特爾標(biāo)準(zhǔn)可管理性(ISM)。換句話說(shuō)可以通過(guò)安裝LMS軟件包來(lái)管理硬件,提供Web訪問(wèn)接口。無(wú)特權(quán)網(wǎng)絡(luò)攻擊者可以獲得系統(tǒng)權(quán)限,可以添加管理員帳號(hào),可以更改網(wǎng)絡(luò)設(shè)置,可以遠(yuǎn)程重啟計(jì)算機(jī)等。
AMT是一款可通過(guò)設(shè)備的有線以太網(wǎng)接口網(wǎng)絡(luò)端口16992訪問(wèn)的帶外管理工具:它將系統(tǒng)的完全控制暴露到網(wǎng)絡(luò),允許IT人員和其它系統(tǒng)管理員遠(yuǎn)程重啟、修復(fù)并輕微調(diào)整服務(wù)器和工作站。它能夠提供一個(gè)虛擬串行控制臺(tái)和(如果安裝的是正確的驅(qū)動(dòng))遠(yuǎn)程桌面訪問(wèn)權(quán)限。在獲取權(quán)限之前應(yīng)該要求提供密碼,但是上述提到的漏洞意味著攻擊者能夠入侵硬件的控制面板。即使已經(jīng)為系統(tǒng)的AMT訪問(wèn)權(quán)限設(shè)置了防火墻,但在用戶網(wǎng)絡(luò)上的攻擊者或惡意軟件仍然能夠利用這個(gè)漏洞進(jìn)入AMT管理的工作站和服務(wù)器并進(jìn)一步攻陷企業(yè)。
2.受影響系統(tǒng)
受影響的硬件版本6.x,7.x,8.x ,9.x,10.x,11.0,11.5和11.6:
第一代 Core family: 6.2.61.3535
第二代 Core family: 7.1.91.3272
第三代Core family: 8.1.71.3608
第四代Core family: 9.1.41.3024 and 9.5.61.3012
第五代Core family: 10.0.55.3000
第六代Core family: 11.0.25.3001
第七代Core family: 11.6.27.3264
3.攻擊場(chǎng)景
(1)可以直接關(guān)閉服務(wù)器電源
(2)通過(guò)加載img鏡像文件重啟系統(tǒng),運(yùn)行指定系統(tǒng)。
(3)直接修改BIOS
(4)通過(guò)KVM進(jìn)行管理
4.漏洞利用原理
AMT 登錄管理中通過(guò)response_length值來(lái)進(jìn)行判斷,也即關(guān)鍵代碼:
- if(strncmp(computed_response, user_response, response_length))
- deny_access();
這個(gè)標(biāo)準(zhǔn)函數(shù)僅僅比較兩個(gè)字符串中每一個(gè)的response_length字節(jié),看看它們是不是一樣,加以比較的兩個(gè)字符串是試圖登錄所發(fā)送的驗(yàn)證響應(yīng)(user_response)和服務(wù)要求的響應(yīng)(computed_response)。如果兩者相符,密碼肯定對(duì)的,所以該函數(shù)返回零,代碼繼續(xù)授予訪問(wèn)權(quán)。如果兩個(gè)字符串不一樣,該函數(shù)返回值是非零,這意味著密碼不對(duì),所以拒絕訪問(wèn)。所以如果提供的是空字符串,長(zhǎng)度為零,沒(méi)有字節(jié)被檢查,因而沒(méi)有字節(jié)是不一樣的;不出所料,strncmp()返回零,表明驗(yàn)證成功。因而,空的響應(yīng)字符串被認(rèn)為有效而被放行,實(shí)際上明明是無(wú)效的,因此通過(guò)修改response的所有值為空,即可繞過(guò)驗(yàn)證進(jìn)行登錄。
二、漏洞利用還原
1.搜索端口號(hào)
存在該漏洞對(duì)外提供的端口為16992、16993和623,可以借助zoomeye和shodan等搜索引擎搜索“port: 16992”、“port: 16993”和“port: 623”來(lái)獲取,為了更加精準(zhǔn)收集目標(biāo)信息,可以可以增加關(guān)鍵字Intel®Active Management Technology,如圖1所示,直接搜索Intel®Active Management Technology country:China country:China port:16992。
圖1搜索存在端口的服務(wù)器
2.查看是否正常運(yùn)行web服務(wù)器
在搜索結(jié)果中對(duì)存在二個(gè)正方形的圖標(biāo)的記錄進(jìn)行查看,例如直接單擊打開(kāi)“118.150.17.193”搜索結(jié)果記錄地址“http://118.150.17.193:16992/logon.htm”如圖2所示,網(wǎng)站能夠正常運(yùn)行。
圖2查看AMT服務(wù)是否正常運(yùn)行
3.修改burpsuite設(shè)置
運(yùn)行burpsuite后,單擊“Proxy”-“Option”,在“Match and Replace”中新建或者編輯Request Header條目,Match值為response\s*="[0-9a-f]+",Replace 的值為response="",設(shè)置如圖3所示,在攔截(Intercept)中設(shè)置攔截開(kāi)關(guān)為“Intercept is On”。
圖3修改burpsuite設(shè)置
4.使用admin登錄
回到瀏覽器中(一定要設(shè)置IE代理為127.0.0.1代理端口8080),單擊“Log On”進(jìn)行登錄,用戶名輸入admin,密碼隨便輸入。
圖4使用admin進(jìn)行登錄
5.成功登錄AMT管理界面
在burpsuite的Intercept中,單擊“Forward”進(jìn)行放行,如圖5所示,成功登錄AMT管理界面,在該界面中可以看到電源的狀態(tài)是休眠,IP地址,無(wú)線IP地址,系統(tǒng)ID等信息,還可以查看系統(tǒng)、處理器、內(nèi)存、磁盤(pán)和電源等詳細(xì)情況。
圖5登錄AMT管理界面
6.遠(yuǎn)程重啟系統(tǒng)
單擊“Remote Control”(遠(yuǎn)程控制),如圖6所示,可以進(jìn)行常規(guī)啟動(dòng),從光盤(pán)啟動(dòng),從硬盤(pán)啟動(dòng),甚至直接關(guān)閉電源!對(duì)于重要的系統(tǒng),一旦關(guān)閉電源,其后果可以想象一下!
圖6遠(yuǎn)程控制系統(tǒng)
7.用戶帳號(hào)管理
單擊“User Accounts”,在其中可以新建用戶,修改用戶密碼,刪除用戶以及更改管理員,如圖7所示,還可以設(shè)置管理員的權(quán)限級(jí)別。添加用戶其密碼強(qiáng)度有要求,要求最少8位,密碼為字母大小寫(xiě),數(shù)字和特殊字符組成,如圖8所示,否則無(wú)法添加成功。
圖7用戶管理
圖8修改密碼
8.使用Nmap對(duì)目標(biāo)IP進(jìn)行全TCP端口掃描
使用Nmap對(duì)目標(biāo)IP進(jìn)行全TCP端口掃描的結(jié)果表明,存在16992、16994和623端口。如圖9所示,跟Tenable公司研究提出的端口16992、16993和 623有所出入。
三、kali平臺(tái)下msf利用
直接運(yùn)行msf,然后使用以下模塊進(jìn)行測(cè)試:
- use auxiliary/scanner/http/intel_amt_digest_bypass
- msf auxiliary(intel_amt_digest_bypass) > show actions
- msf auxiliary(intel_amt_digest_bypass) > set ACTION
- msf auxiliary(intel_amt_digest_bypass) > show options
- msf auxiliary(intel_amt_digest_bypass) > run
四、安全防范
1.掃描
Tenable公司已經(jīng)在Nessus中更新最新腳本,使用該掃描器的朋友可以更新其Scripts即可。對(duì)其它掃描器,可以增加掃描端口16992、16993、16994和623端口。一旦開(kāi)啟通過(guò)手工訪問(wèn)進(jìn)行判斷。
2.加固
在防火墻上關(guān)閉16992、16993、16994和623端口,等待intel公司提供升級(jí)補(bǔ)丁后更新固件或者升級(jí)。
五、參考文章
(1)https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5689
(2)https://threatpost.com/researcher-baseless-assumptions-exist-about-intel-amt-vulnerability
/125390/
(3)https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability
(4)https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf
(5)https://www.rapid7.com/db/modules/auxiliary/scanner/http/intel_amt_digest_bypass
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】