近半年DDOS攻擊愈發激烈,而作為攻擊的執行者,DDOS木馬也是應市場需求也在野蠻生長,筆者就觀察到一款被國外安全廠商稱之為”XOR DDOS”的木馬不斷更新代碼和功能,甚至還加入了rootkit功能模塊。本文將剖析此木馬,并給出相應的檢測方案。
XOR DDOS木馬淺析
此木馬因其代碼使用xor來隱藏配置信息,被國外某專注于木馬分析的網站(mmd-0028-2014-fuzzy-reversing-new-china)稱之為‘Linux/XOR.DDoS ’,我們這里也沿用這個叫法。
XOR DDOS代碼片段
此木馬開發者也算得上是‘勞模’了,近一年的觀察發現這個木馬代碼不斷在更新,早先的版本并未有rootkit模塊,在2014年下半年發現它已經更新了rootkit模塊。
XOR DDOS函數變更趨勢
XOR DDOS新版新增內核模塊代碼
rootkit功能分析
相似性分析
根據對控制內核模塊的代碼來看,借鑒了國外一個知名rootkit suterusu的代碼,那么接下來XOR DDOS木馬的內核模塊功能我們直接看 suterusu 代碼。
XORDDOS借鑒了Suterusu代碼
源碼分析
這個開源rootkit的代碼剖析不是本文重點,這里僅簡述其最新版功能:
l 提升任意用戶權限至root權限:根據用戶態指令,將當前進程設置為root權限,然后用戶態進程在root上下文環境中 啟動shell (sh);
l 隱藏進程:通過在系統調用readdir時抹掉返回的/proc/$pid 目錄信息,來實現隱藏;
l 隱藏網絡連接:在系統讀取/proc/net/tcp文件信息中抹掉相應網絡連接來實現隱藏;
l 隱藏文件:同隱藏進程,抹掉readdir返回信息中相應希望隱藏的文件信息實現隱藏;
l 隱藏混雜模式狀態:hook獲取設備狀態的函數,始終返回非混雜模式。
檢測方案
Rootkit檢測
前面已經把木馬的原理剖析得很清楚了,那么檢測它并不是什么難事。因篇幅有限暫且把“發現隱藏進程”作為目標,設計檢測方案。
正所謂知己知彼百戰不殆,設計檢測方案的第一步就是搞清楚這些rootkit“隱藏進程”是如何實現的。
Rootkit 隱藏進程流程
根據閱讀suterusu和adore-ng兩份代碼,能看出來,它們都是通過截獲并抹去ps等進程讀取proc文件信息來實現的隱藏。Ps命令實現請讀者自行閱讀相關資料,這里不贅述。
在linux系統中,有個稱之為task的進程信息內核鏈表,通過遍歷它可以得到系統真實存在的所有進程信息。
內核進程鏈表
聰明的你應該已經知道了檢測方案,那就是“把內核進程鏈表信息讀取出來的pid與列舉/proc得到的pid做對比”。
隱藏進程檢測方案
隱藏進程檢測效果
同時suterusu的其他隱藏功能也是通過對系統進程在讀取/proc下的其他信息時做手腳,其他功能的檢測,大家可以舉一反三。檢測工具demo稍后放出。J
通用行為檢測
說完case by case的純技術細節對抗,再看看從筆者‘老生常談’的行為檢測(參考《如何建立有效的安全策略》)模型有那些可做的地方。以下列舉了幾個可切入的點。
木馬安裝
分析XOR DDOS 用戶態可執行文件,發現它在啟動之后做了一系列的安裝過程,這些過程又異于常見運維部署流程,可作為異常檢測告警規則。并且非常有意思的是,它為了躲避清理,不斷的改名啟動,反倒是暴露了它的惡意軟件本質。
XOR DDOS安裝指令
異常進程
它在運行過程中不斷在/etc/rc*d.d/S90*生成軟鏈,指向之前安裝的服務;而二進制文件保存在/boot目錄;同時啟動的進程,進程名又惡意修改為正常的運維命令,但遺憾的是類似于ls這類命令根本不應該有網絡連接,這成了它很明顯的罪證。
生成軟鏈
注冊服務指向惡意文件
偽裝為普通命令
根據前面的幾個異常行為建立檢測模型規則,這個XORDDOS木馬就不難檢測,模型描述如下:
檢測方案優選
文章到這里聰明的讀者可能會冒出N多疑問,“為什么你要這樣檢測?網上貌似類似場景的檢測工具很多,取證工具也很多”。我們在在檢測方案優選時考慮以下幾個要素:
l 大型網絡里,較低的誤報率是可運營的基本要求,大量的誤報可能導致最終告警數據不被重視,進而安全系統被擱置;
l 在線業務對服務器性能對要求極為苛刻,非業務進程對系統資源對的大量占用是不可接受的;
l 檢測方案盡可能的提煉其場景的核心環節和通用環節,以適應對手的不斷變化,case by case的檢測手段固然直接有效,但對于安全系統建設來說往往性價比太低。
本文所述檢測方案既滿足了本次case的檢測需求,也滿足上述方案選型要求。
由于安全管理和技術架構的原因,這種木馬對騰訊自有的服務器沒有太多影響,但是對騰訊云的用戶影響較大。我們在完成預研工作后,將檢測機制整合到騰訊云的入侵檢測系統里(騰訊云的服務器入侵檢測主要依靠我們安全平臺部的入侵檢測系統“洋蔥”),現在只要啟用安全組件的騰訊云商戶就能夠發現此類木馬。