跨越次元的攻擊?連虛擬機都不安全了

近日,一位俄羅斯的漏洞研究人員Sergey Zelenyuk曝光了一個VirtualBox的0day漏洞,他將該漏洞的細節和漏洞復現過程發在了網上,進行了詳細的介紹說明。

根據披露的漏洞細節我們可以瞭解到,該漏洞存在於虛擬化軟件的共享代碼庫中,也就是說,所有支持該軟件的操作系統中都會受到這種漏洞的威脅。利用這個漏洞,攻擊者可以脫離用戶虛擬計算機的環境,從而進入到真實系統中,獲得RING 3以及更高級別的權限。

從“虛”到“實”

Sergey Zelenyuk發現,這個漏洞適用於配置了網絡地址轉換(NAT)模式下的[英特爾PRO/1000 MT桌面(82540EM)]網絡適配器的虛擬機,這個設置相信用過虛擬機的都知道,是用來讓虛擬機和實體系統中的網絡能夠相互訪問的。

跨越次元的攻擊?連虛擬機都不安全了

問題的關鍵就在於這個[英特爾PRO/1000 MT桌面(82540EM)]上,它存在的漏洞,能夠讓攻擊者獲得root或管理員權限的甚至主機的RING 3權限,然後還可以繼續通過/dev/vboxdrv將權限升級到RING 0。

Zelenyuk在報告中詳細解釋了漏洞的機制,以及描述瞭如何通過觸發虛擬操作系統中的緩衝區溢出來達到攻擊目的:

首先,因為數據段允許網絡適配器去跟蹤系統內存中的網絡數據包,從而能夠使用描述符引起數據包中的整數下溢。

然後利用此狀態將來自用戶操作系統的數據讀入緩衝區並導致溢出情況,從而導致覆蓋函數指針,或導致堆棧溢出的情況。

能夠100%實現的漏洞?

這個漏洞的實現主要依靠兩個溢出條件,但由於它初始只能提供對ring3級別的權限,因此仍需要再次提權才能取得對主機的控制。

Zelenyuk認為這個漏洞就屬於絕對的“不友好”類型,因為不論是發現還是利用都需要一定的技術水平。

他表示,緩衝區溢出的狀態並不一定穩定,多數時候會導致系統崩潰。然而,他依舊認為這個漏洞是100%可用的,他說,這個漏洞可用於否取決於一些二進制文件是否匹配。

在進行漏洞復現的過程中,他分別使用了默認配置的32位和64位的Ubuntu 16.04和18.04兩個系統,成功驗證了漏洞的可用性。過程見視頻:

這並不是VirtualBox首次被曝出漏洞,此前該軟件的5.2.10版本也曾出現過漏洞事件,但是上一次Oracle修復的非常快。

本次漏洞披露,Zelenyuk也清楚的說明了為什麼選擇直接曝光而不是先通知廠商,據說是因為他上報了多次而沒有被採納,導致他一怒之下公開了漏洞細節。

對此我們也只能說,惹誰不好,偏要惹黑客。

*參考來源:bleepingcomputer,Karunesh91編譯,轉載請註明來自FreeBuf.COM


分享到:


相關文章: