惡意程式碼清除實戰

發表於2015-11-05

惡意程式碼清除實戰 什麼是惡意程式碼,指令集?是二進位制可執行指令?還是指令碼語言?字處理巨集語言?其他指令集等等……以常見的型別舉例,那麼如果一臺伺服器存在惡意程式碼,windows系列機器的惡意程式碼一般指的是病毒,蠕蟲,木馬後門,linux系統機器惡意程式碼一般就是Rootkit。

那麼如何快速判斷自己的web伺服器是否存在惡意程式碼,是否由於web端的問題導致的內網滲透,或被植入惡意程式碼作為跳板機、肉雞等;如何通過手工或者工具的方式快速清除惡意程式碼,加固系統加固,預防下一次入侵帶來的問題。

綠盟科技部落格邀請安全服務團隊的安全工程師從一個實戰案例入手,來講解如何手工清除惡意程式碼。現在已知有一臺伺服器表現不太正常,需要我們來排查這個伺服器存在什麼問題。

 

檢視系統日誌

前提是該伺服器的日誌策略,稽核策略已經開啟。

經過查詢日誌可以發現,攻擊者從TerminalService端即遠端桌面進行了多次登入嘗試,並出現大量相同狀態日誌,即在進行遠端暴力猜測。由於登入失敗次數限制,延緩了攻擊者猜測出真實口令的時間。

惡意程式如何執行

通過檢視系統計劃任務可以發現,攻擊者使用較為老套的計劃任務方式執行木馬程式。

檢視計劃任務屬性,便可以發現木馬檔案的路徑。

木馬檔案和svchost.exe檔名較像,具有一定的迷惑性,屬於常規隱藏方式。經過查詢可知,svchsot.exe是Troj/GWGhost-O木馬相關程式,即該木馬的主要元件。

繼續追查痕跡

另外,慢慢遵循著入侵者的腳步,可見攻擊者動過的手腳不止這一處。

在prefetch資料夾下,prefetch目錄下為系統啟動的預讀取檔案,可以看見xiaoma,和抓肉雞工具,檢視建立時間發現早在幾天前甚至更早就已經拿下該伺服器為肉雞,只是尚未發現。

另外發現,存在一些.pf檔案,顯然攻擊者希望在系統執行的時候就成為肉雞,根據系統啟動預讀取檔案.pf的檔名反向搜尋,誘敵深入。

可以發現在system目錄下,存在.pf檔案的連結指向檔案,顯然也是通過這個方式來開機載入的,使得伺服器開機即上線淪為工具,真是放長線釣大魚啊。

旁敲側擊

檢視程式,可以從執行程式上來發現系統記憶體在的問題;

綜上案例,在尋找惡意程式碼的過程中,根據各種方式檢視系統資訊是宗旨,根據收集到的資訊判斷惡意程式碼的存在位置和觸發方式,進而刪除惡意程式碼執行檔案,並且偵查惡意程式碼的附屬產品是否有影響系統啟動項、系統檔案等;將和惡意程式碼相關的執行檔案、服務、連結等一併刪除,如果可以的話,最為穩妥的重灌作業系統當然是極好的。

對於我們來排查伺服器系統存在的問題,我們要從程式、服務、啟動項、網路連線、鉤子等方面進行檢查,並根據安全事件發生的時間節點,在檢視系統資訊時重點關注該時間節點的前後的日誌事件和系統資訊變化,如果可以的話可以以時間點為線索進行關聯分析,從而摸清楚入侵者的思路和操作步驟。這裡也推薦一些常用的小工具,可以幫助我們更好的來獲取不同類別的系統資訊,從而抓住系統痕跡,找到問題。

痕跡一:程式

推薦小工具:Process explore

檢視可疑的程式及其子程式。可以通過觀察以下內容:

  • 沒有簽名驗證資訊的程式
  • 沒有描述資訊的程式
  • 程式的屬主
  • 程式的路徑是否合法
  • CPU或記憶體資源佔用長時間過高的程式

痕跡二:檔案

推薦方式:根據日期排序,檢查系統敏感目錄檔案的改動。

痕跡三:啟動項

推薦小工具:Autoruns

這個小工具能夠檢視到系統的啟動項,並且能夠對大部分啟動項做出說明,同時顯示呼叫登錄檔路徑,同時還能對一些常見的木馬執行方式,BHO項、計劃任務、映象劫持等作出檢查和偵測。一般判斷的標準是,是否該項有註釋說明,是否是可疑的常見元件,是否不是管理員新增的項等。

痕跡四:綜合分析

推薦小工具:Icesword

Icesword功能比較強大,可以對隱藏程式進行檢測,並以紅色標出,方便我們查詢;同時還可以對埠,服務,登錄檔,檔案,執行緒等進行偵測觀察,對沒有描述或者奇怪的可疑選項名稱進行逐一手工檢測。

THE END

進行惡意程式碼偵查的過程是一個很有趣的過程,逆著入侵者的思路來,就像還原犯罪現場,時光倒流,加上推理和分析,不放過一絲一毫的線索;相信喜歡偵探小說的你,一定會喜歡上惡意程式碼偵查探索的過程的。

相關文章