目前我們正在對ShadowBrokers公開的利用工具以及腳本等進行了全方位的分析和分類工作,所以寫一篇關于Linux下“envisioncollision”漏洞利用的簡單介紹是非常值得的。我們之前已經對所公開文件中的PHPBB漏洞進行披露,當時的文章中提到這個漏洞非常受網絡犯罪組織的歡迎,因為很多web論壇都存在“有效”的SIGINT目標,所以接下來披露另一個web論壇漏洞合情合理。
基本介紹
對于“envisioncollision”,我們不僅發現了工具本身,還發現了一個用戶手冊 –“user.tool.envisioncollision.COMMON”,其中說明該工具于2011年左右被開發,我們將其上傳到了包含原始漏洞利用以及一個用于演示的修改版本的Github repo。
除了一些使用“重定向器”入侵目標,以及在目標機器得到一個反向shell或者生成一個主動連接的bind-shell的介紹,這本用戶手冊并沒有引起我們太大的興趣。另外,“envisioncollision”漏洞利用并不會具體利用某些漏洞,它使用管理員憑據,通過一個“hook”將后門安裝在Invision Power Board(IPBoard)上,用于在主機上執行命令。IPBoard中的“hook”是一種非常有效的插件,它可以用于向論壇中添加額外的功能。據我所知, 它們基本上是一些包含PHP代碼的XML(我不是IPBoard管理員/開發人員)。
漏洞利用工具會登錄到Web論壇的管理面板并得到一個會話ID,然后部署一個含有PHP代碼的“hook”,之后“hook”會被調用,等待10秒鐘代碼即可執行,它還會通過卸載“hook”來“刪除”(實際上并沒有刪除)后門。讓我們覺得特別有趣的事情是,它沒有安裝一個允許動態執行代碼的后門,而是使用了硬編碼的那種,這讓我們很不高興,改天我們會改進一下,然后發布動態執行代碼的版本。
此外,不同于phpBB漏洞利用,”envisioncollision”的使用說明并沒有演示如何部署“nopen”后門,但展示了各種方法從目標獲取反向shell。我們假設你已經通過這些shell獲取論壇服務器訪問權限并部署了“nopen”后門(反向shell是廣為人知的方法),作為參考,我們在文章最后添加了“Pentest Monkeys”的反向shell參考表鏈接。
下面是一個屏幕截圖,展示了使用漏洞利用工具在IPBoard上獲得反向shell。 由于我們只有IPBoard 3.4,因為登錄流程不同,所以我們不得不修改漏洞利用代碼。在TAO寫的這個漏洞利用的任何版本中,IPBoard都會發送一個帶有可點擊鏈接的“登陸頁面”。
在IPBoard 3.4中,它們使用了302重定向。我們開始修改工具時很明顯地感覺NSA的開發人員(或者承包商therof)在組合這些工具的時候心情一定很糟糕。演示中使用的版本是github repo中的“envisioncollision2”,為了更清楚地展示,我們將開發者的所有調試信息都注釋出來了。
你可能會注意到,后門和hook都可以被刪除了,而之前卸載hook實際上不會刪除的PHP文件。另外,我們最近打算使用Python3編寫更好版本的工具,并發布它來展示這種工具應該怎么做才算最好。
被入侵的明顯標志
如上所述,這個漏洞會留下了很多證據表明它已在該臺服務器上被使用。 它會留下了PHP后門/hook文件,如果根據說明使用,則會包含一個漏洞使用的回調IP/端口。 此外,它沒有清除Apache日志文件以及由漏洞利用工具創建的活動會話。 它還會在MySQL服務器中留下日志。用戶手冊中也沒有關于擦除日志文件的內容,所以會留下相當明顯的日志。
References
IPBoard Hook Creation (Forum Thread)
IPBoard Hook Creation (IPBoard Documentation)
Our Modified “envisioncollision” Exploit
PentestMonkey’s Reverse-Shell Cheat Sheet