1. 程式人生 > >IntelAMT 固件密碼繞過登錄漏洞分析與實戰

IntelAMT 固件密碼繞過登錄漏洞分析與實戰

英特爾 管理工具 系統管理員 計算機 卡洛斯

IntelAMT 固件密碼繞過登錄漏洞分析與實戰

Byantian365.com simeon

1.1漏洞簡介

201751日,英特爾公布了AMT漏洞(INTEL-SA-00075),但該漏洞的細節未公開。201755日,Tenable公司研究人員卡洛斯·佩雷斯通過分析LMS軟件包,最終發現並成功利用該漏洞。

1.漏洞編號

IntelAMT 固件密碼繞過登錄漏洞CVE漏洞編號CVE-2017-5689Intel AMT 固件可以配置英特爾可管理性SKU:英特爾主動管理技術(AMT)和英特爾標準可管理性(ISM)。換句話說可以通過安裝LMS軟件包來管理硬件,提供Web訪問接口。無特權網絡攻擊者可以獲得系統權限,可以添加管理員帳號,可以更改網絡設置,可以遠程重啟計算機等。

AMT是一款可通過設備的有線以太網接口網絡端口16992訪問的帶外管理工具:它將系統的完全控制暴露到網絡,允許IT人員和其它系統管理員遠程重啟、修復並輕微調整服務器和工作站。它能夠提供一個虛擬串行控制臺和(如果安裝的是正確的驅動)遠程桌面訪問權限。在獲取權限之前應該要求提供密碼,但是上述提到的漏洞意味著攻擊者能夠入侵硬件的控制面板。即使已經為系統的AMT訪問權限設置了防火墻,但在用戶網絡上的攻擊者或惡意軟件仍然能夠利用這個漏洞進入AMT管理的工作站和服務器並進一步攻陷企業。

2.受影響系統

受影響的硬件版本6.x7.x8.x 9.x10.x11.011.511.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.攻擊場景

1)可以直接關閉服務器電源

2)通過加載img鏡像文件重啟系統,運行指定系統。

3)直接修改BIOS

4)通過KVM進行管理

4.漏洞利用原理

AMT登錄管理中通過response_length值來進行判斷,也即關鍵代碼:

if(strncmp(computed_response,user_response, response_length))

deny_access();

 這個標準函數僅僅比較兩個字符串中每一個的response_length字節,看看它們是不是一樣,加以比較的兩個字符串是試圖登錄所發送的驗證響應(user_response)和服務要求的響應(computed_response)。如果兩者相符,密碼肯定對的,所以該函數返回零,代碼繼續授予訪問權。如果兩個字符串不一樣,該函數返回值是非零,這意味著密碼不對,所以拒絕訪問。所以如果提供的是空字符串,長度為零,沒有字節被檢查,因而沒有字節是不一樣的;不出所料,strncmp()返回零,表明驗證成功。因而,空的響應字符串被認為有效而被放行,實際上明明是無效的,因此通過修改response的所有值為空,即可繞過驗證進行登錄。

1.2漏洞利用還原

1.搜索端口號

存在該漏洞對外提供的端口為1699216993623,可以借助zoomeyeshodan等搜索引擎搜索“port:16992”、“port: 16993”和“port: 623”來獲取,為了更加精準收集目標信息,可以可以增加關鍵字IntelActive Management Technology,如圖1所示,直接搜索IntelActiveManagement Technology country:China country:China port:16992

技術分享

1搜索存在端口的服務器

2.查看是否正常運行web服務器

在搜索結果中對存在二個正方形的圖標的記錄進行查看,例如直接單擊打開“118.150.17.193”搜索結果記錄地址“http://118.150.17.193:16992/logon.htm”如圖2所示,網站能夠正常運行。

技術分享

2查看AMT服務是否正常運行

3.修改burpsuite設置

運行burpsuite後,單擊“Proxy-Option”,在“Match andReplace”中新建或者編輯Request Header條目,Match值為response\s*="[0-9a-f]+"Replace 的值為response="",設置如圖3所示,在攔截(Intercept)中設置攔截開關為“Interceptis On”。

技術分享

3修改burpsuite設置

4.使用admin登錄

回到瀏覽器中(一定要設置IE代理為127.0.0.1代理端口8080),單擊“Log On”進行登錄,用戶名輸入admin,密碼隨便輸入。

技術分享

4使用admin進行登錄

5.成功登錄AMT管理界面

burpsuiteIntercept中,單擊“Forward”進行放行,如圖5所示,成功登錄AMT管理界面,在該界面中可以看到電源的狀態是休眠,IP地址,無線IP地址,系統ID等信息,還可以查看系統、處理器、內存、磁盤和電源等詳細情況。

技術分享

5登錄AMT管理界面

6.遠程重啟系統

單擊“Remote Control”(遠程控制),如圖6所示,可以進行常規啟動,從光盤啟動,從硬盤啟動,甚至直接關閉電源!對於重要的系統,一旦關閉電源,其後果可以想象一下!

技術分享

6遠程控制系統

7.用戶帳號管理

單擊“User Accounts”,在其中可以新建用戶,修改用戶密碼,刪除用戶以及更改管理員,如圖7所示,還可以設置管理員的權限級別。添加用戶其密碼強度有要求,要求最少8位,密碼為字母大小寫,數字和特殊字符組成,如圖8所示,否則無法添加成功。

技術分享

7用戶管理

技術分享

8修改密碼

8.使用Nmap對目標IP進行全TCP端口掃描

使用Nmap對目標IP進行全TCP端口掃描的結果表明,存在1699216994623端口。如圖9所示,跟Tenable公司研究提出的端口1699216993 623有所出入。

1.3 kali平臺下msf利用

直接運行msf,然後使用以下模塊進行測試:

use auxiliary/scanner/http/intel_amt_digest_bypass

msf auxiliary(intel_amt_digest_bypass) >show actions

msf auxiliary(intel_amt_digest_bypass) >set ACTION <action-name>

msf auxiliary(intel_amt_digest_bypass) >show options

msf auxiliary(intel_amt_digest_bypass) >run

1.4安全防範

1.掃描

Tenable公司已經在Nessus中更新最新腳本,使用該掃描器的朋友可以更新其Scripts即可。對其它掃描器,可以增加掃描端口169921699316994623端口。一旦開啟通過手工訪問進行判斷。

2.加固

在防火墻上關閉169921699316994623端口,等待intel公司提供升級補丁後更新固件或者升級。

1.5參考文章

1https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5689

2https://threatpost.com/researcher-baseless-assumptions-exist-about-intel-amt-vulnerability

/125390/

3https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability

4https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf

5https://www.rapid7.com/db/modules/auxiliary/scanner/http/intel_amt_digest_bypass


本文出自 “simeon技術專欄” 博客,請務必保留此出處http://simeon.blog.51cto.com/18680/1928915

IntelAMT 固件密碼繞過登錄漏洞分析與實戰