OpenSSH 剛剛更新到了 7.4 版,修復了已公開的 CVE-2016-10009, CVE-2016-10010, CVE-2016-10011, CVE-2016-10012 以及一個沒有 CVE 的漏洞。其中,CVE-2016-10009 可以用來「任意執行代碼」,因此,強烈建議大家立即更新所有的伺服器,而且客戶端也不能除外。但是,這些漏洞究竟有多大危害呢?是否可以利用這些漏洞控制伺服器呢?我們一起來仔細看看:
CVE-2016-10009:sshd 伺服器可以利用轉發的
agent-socket
文件欺騙本機的 ssh-agent 加載一個惡意 PKCS#11 模塊,任意執行代碼。換句話說,是惡意伺服器在客戶端的機器上遠程執行代碼。
誰讓你連惡意伺服器的????
CVE-2016-10010:關閉
UsePrivilegeSeparation
權限隔離功能時,ssh 轉發的 socket 文件將以 root 權限創建。
誰讓你關閉權限隔離的????UsePrivilegeSeparation sandbox
是標準配置。
CVE-2016-10011:即使打開權限隔離,假如攻擊者可以讓 sshd 創建的子進程提權,那麼伺服器私鑰理論上可能通過
realloc()
的過程洩漏給子進程。
洩漏私鑰,聽上去有點危險。前提是這攻擊是理論上的,要使用,你得先有辦法讓子進程提權啊?????你有辦法嗎???再者,你們的 sshd 都應該開前向安全了吧……
CVE-2016-10012:sshd 伺服器如果啟用了認證前壓縮(也就是
Compression yes
),其中的某些邊界檢查可能會被編譯優化去除,導致攻擊者有可能從經過權限隔離的子進程中攻擊高權限的父進程。
誰讓你打開認證前壓縮的?你當 CRIME 攻擊是鬧著玩的啊????CRIME 攻擊之後 sshd 的默認配置都是 Compression delayed
,也就是認證後壓縮,如果你這都不知道那你的伺服器就已經不安全了。再者,從子進程中怎麼攻擊父進程?目前還沒有已知的方法。
無名漏洞:
AllowUsers
和DenyUsers
選項可以接受無效的 IP 段。假如管理員想拉黑用戶,但卻輸入了無效的 IP 段,那麼用戶就不會被禁止登錄,而管理員也不知道。
誰讓你把 IP 段輸錯了?????再者,你拉黑惡意 IP 不使用 iptables 防火牆嗎???
可見,這些漏洞確實不容忽視,強烈建議所有人立刻更新。然而,如果你想搞個大新聞說利用這些漏洞可以控制伺服器,那還是圖樣圖森破了。如果你平時在運維伺服器的時候已經遵循了最佳安全實踐,那麼其實際危害是很低的。
來自:比爾蓋子個人博客