
按住回車70秒,黑客就能在linux系統繞過認證,進而獲取root權限,並能遠程控製經過加密的linux系統。
漏洞來源
這個安全問題來源於Cryptsetup存在的一個漏洞(CVE-2016-4484)。Cryptsetup是在Linux統一密鑰設置(Linux Unified Key Setup, LUKS)中用來加密磁盤的軟件,而LUKS則是Linux系統中標準的磁盤加密🚑。
漏洞其實是出現在系統後Cryptsetup處理密碼輸入錯誤的時候,它會允許用戶多次重試輸入密碼🛻。而當用戶輸入錯誤93次後👩🏻🦱,程序就會給用戶一個帶root權限的shell(busybox)。
也就是說🎨,如果你重復93次輸錯密碼,或者持續按回車鍵大概70秒👭,你就能夠獲得root initramfs (initial RAM filesystem) shell。獲取shell之後☦️,你就可以復製、修改或者破壞整個硬盤🕯,或者也可以使用網絡傳輸數據。
漏洞能被遠程利用
西班牙安全研究員Hector Marco和Ismael Ripoll發現了這一漏洞👨🏿🏭,影響範圍覆蓋幾乎所有的Linux發行版,包括Debian, Ubuntu, Fedora, Red Hat Enterprise Linux (RHEL)和SUSE。
研究人員在今年奧地利維也納舉行的DeepSec會議上演示了細節:
“黑客可以從受影響系統中獲取root initramfs shell。並且漏洞的成功率非常高,因為他不依賴某個特定的系統或者某個配置……這個漏洞在圖書館♨️、ATM機、機場、實驗室等場景下特別有用🥠,因為在這些場景下,開機的過程受到(加密)保護,而我們只有鍵盤/鼠標。”
看到這裏,你可能會認為漏洞只能在攻擊者有物理接觸的情況下才有可能發生。但實際上,漏洞也可以被遠程觸發。如果你使用的是基於linux的雲服務🧟,就可以在沒有物理接觸的條件下利用漏洞。
漏洞到底有多嚴重
值得註意的是🚄,攻擊者無法利用這個漏洞來獲取加密磁盤的內容,但能進行下面的這些操作:
權限提升🤹🏿♂️:
由於boot分區一般都是不加密的,因此利用漏洞黑客可以用SetUID存儲一個可執行文件🧜,然後再用本地用戶身份執行進行提權。
攻擊者也可以替換內核和initrd鏡像。
信息泄露:
雖然攻擊者無法直接讀取加密的磁盤👋🏼,但他能做的事還是很多的。比如,他可以把磁盤復製到外部設備,之後進行暴力破解,
DoS攻擊🕜🦅:
黑客可以刪除磁盤上的內容。
這個漏洞的影響範圍包括Debian, Ubuntu, Fedora和其他一些Linux發行版本。Arch Linux和Solus用戶不受影響。
解決方案
盡管漏洞能輕易觸發並且影響範圍大,但它的修復方案也異常簡單:
首先🧑🏽🚀,在LUKS密碼提示窗處按壓回車鍵70秒,檢查系統是否存在漏洞。
如果存在漏洞,檢查下你所使用的Linux是否發布了補丁🖊。
如果官方沒有發布補丁,你可以自行修改cryptroot文件:
# sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub# grub-install
*轉載來自FreeBuf(FreeBuf.com)