您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何進行HP觸摸終端漏洞CVE-2019-6333分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
SafeBreach Labs的安全研究人員在惠普的HP Touchpoint Analytics軟件中發現了一個新型的安全漏洞,該漏洞將導致攻擊者在目標設備上實現非法提權。該漏洞的漏洞編號為CVE-2019-6333,CVSS評級為中危漏洞。
在這篇文章中,我們將跟大家介紹該漏洞將如何導致攻擊者實現提權,以及如何利用SYSTEM權限在目標服務中加載任意未簽名的DLL。
除此之外,我們還將演示如何利用該漏洞來實現一些潛在的惡意活動。
本文還提供了一份PoC代碼,該PoC使用了第三方庫來讀取目標設備中的物理內存數據。
HP Touchpoint Analytics這個服務很多惠普PC都會預裝,該服務可以匿名收集目標硬件性能的診斷信息。
該服務能夠以“NT AUTHORITY\SYSTEM”權限運行,這也給該服務提供了非常強大的權限支持。
允許HP Touchpoint Analytics訪問敏感數據和底層硬件(例如物理內存、MSR和SMBios)的,是一個名叫“Open Hardware Monitor”的開源硬件監控庫。Open Hardware Monitor庫提供了一個名叫“WinRing0”的已簽名內核驅動,它可以在代碼庫運行時完成提取和安裝。
本文中,我們將對HP Touchpoint Analytics和Open Hardware Monitor組件中的漏洞進行分析,并給大家演示如何利用該漏洞來實現提權,并最終獲取到SYSTEM權限。
在我們的初步研究過程中,我們之所以將目標鎖定在了HP Touchpoint Analytics服務上,是因為我們認為這種關鍵服務應該具有PC硬件的高級別訪問權以及誘導實現提權的能力。
在HP Touchpoint Analytics服務啟動后,它會以“NT AUTHORITY\SYSTEM”權限執行TouchpointAnalyticsClientService.exe。
執行之后,該服務中的PerformanceMonitor 類會加載已簽名的Open Hardware Monitor第三方庫,從而啟用以下三類檢測-GPU、CPU和RAM:
接下來,該服務于會加載Open Hardware Monitor第三方庫。這個庫能夠從各種不同的硬件源收集信息,代碼庫完成加載后,我們可以在ProcMon中觀察到下列活動:
注意:上圖中我們已經過濾掉了不相關的事件。
你可以看到,服務會嘗試加載三個缺失的DLL文件,最終的加載路徑為“ c:\python27”目錄:
atiadlxx.dll
atiadlxy.dll
Nvapi64.dll
在我們的虛擬機中,c:\python27有一個ACL,允許任何認證用戶向ALC中寫入文件,這將使得提權變得非常簡單,并允許常規用戶向其中寫入缺失的DLL文件,最終以“NT AUTHORITY\SYSTEM”權限執行任意代碼。
需要注意的是,管理員用戶或進程必須設置目錄ACL來允許訪問非管理員用戶的賬號,然后將該目錄路徑添加至系統的PATH環境變量中。
為了測試這個提權漏洞,我們編譯了一個未簽名的DLL,它可以將下列文件名寫入至txt文件:
1、執行目標文件的用戶名;
2、DLL文件名;
此時,我們就可以加載三個任意DLL,并以“NT AUTHORITY\SYSTEM”權限執行我們的代碼。
當OpenHardwareMonitor庫加載之后,它會初始化一個GPU檢測類,并嘗試加載Nvidia和ATL DLL庫以確保自己的API能夠正常使用。
我們可以看到系統加載了ATI DLL庫 - atiadlxx.dll和atiadlxy.dll,以確保自己的API能夠正常使用。
我們可以看到,系統加載了Nvidia DLL庫 - NVApi64.dll來確保自己的API能夠正常使用。
我們可以看到,這就是導致漏洞出現的兩個根本原因。
未控制的搜索路徑-缺少DLL加載的安全管理機制
代碼庫會使用DllImportAttribute來嘗試加載上述未托管的DLL文件,問題就在于,它只會使用DLL文件名來調用,而不是通過DLL的絕對路徑。因此,這里需要使用DefaultDllImportSearchPathsAttribute類來控制DLL加載文件的路徑。
缺少數字證書認證
程序不會驗證它所加載的DLL文件是否擁有數字簽名,因此攻擊者將能夠加載任意未簽名的DLL。
正如之前所說的,惠普的Touchpoint Analytics軟件會使用Open Hardware Monitor庫來實現硬件診斷,而這個庫使用了第三方簽名驅動程序來執行某些底層操作。接下來,我們將演示如何利用該漏洞來獲取“NT AUTHORITY\SYSTEM”權限,并使用已簽名驅動程序來從物理內存中讀取數據。
Open Hardware Monitor庫是完全開源的,這也就意味著它的驅動也是開源的。根據我們對驅動程序對外函數的分析,我們發現程序可以通過發送特質的IOCTL來讀取/寫入物理內存數據。我們使用的代碼段所實現的指令能夠向驅動程序發送一個IOCTL,并返回某個物理內存地址的內容數據。
接下來,我們將其編譯成了DLL,并利用該漏洞以SYSTEM權限實現了加載。
比如說,我們選取地址0xC00F0,驅動程序將允許訪問和讀取的地址區間為0xC0000至0xFFFFF。
首先,我們使用內核模式調試器WinDbg來檢測該物理地址的內容:
現在,我們可以利用該漏洞來加載未簽名的DLL,并將輸出結果寫入至txt文件中:
大家可以看到,在該漏洞的幫助下,我們能夠輕松將任意物理內存地址的內容打印出來。
HP Touchpoint Analytics客戶端:版本號低于v4.1.4.2827的所有版本。
上述內容就是如何進行HP觸摸終端漏洞CVE-2019-6333分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。