
近期,阿裡雲雲安全中心基于全新的深度威脅檢測功能,監測到雲上部分使用者的 SQL Server 資料庫内部隐藏着一種新型的持久化後門程式。
攻擊者利用弱密碼不嚴謹配置,以非常簡單的攻擊方法進入資料庫,即可植入該後門,更緻命的是,該後門高度隐蔽和持久化控制的特性,讓發現和清除變得困難。
威 脅 特 點
- 植入簡單
利用資料庫弱密碼或不嚴謹配置,攻擊者隻需簡單的弱密碼利用,即可輕松登入進使用者的資料庫植入該後門程式;
- 高度隐蔽
該後門完全隐藏在SQL Server資料庫程序内部,無檔案落地、無額外程序,運維管理人員很難定位到後門真正所在;
- 持久化控制
該惡意後門持續不斷地向雲主機内部植入挖礦病毒等其他惡意程式,使管理者陷入病毒殺不完、懷疑有漏洞的困境;
- 清除困難
簡單的弱密碼漏洞修複和已有惡意檔案清除根本無法實作對惡意程式來源的清除,即使重新開機資料庫服務、甚至重新開機雲主機,由于真正的隐藏後門沒有完全清除,還是會有病毒源源不斷的被植入主機。
攻 擊 流 程
- 攻擊者利用某些應用程式供應商的資料庫預設密碼及不嚴謹配置入侵SQL Server資料庫;
- 在登入資料庫後,建立SQL Server代理作業周期性執行SQL語句調用惡意的使用者自定義函數;
- 用一種特殊的方式将惡意代碼以CLR程式集的形式加載進資料庫,實作通過使用者自定義函數調用惡意的CLR程式集;
- 已建立的SQL Server代理作業自動周期性的調用惡意CLR程式集,實作惡意代碼持久化。
威 脅 分 析
傳統的持久化技術、惡意代碼加載方式早已被所有主機安全産品列為重點監控範圍,很容易被發現并清除掉:
· 利用作業系統内置的計劃任務、系統服務、自啟動項等方式進行持久化;
· 直接在磁盤上放置惡意程式檔案;
· 利用系統内置的工具程式加載惡意代碼到記憶體中執行。
不同的是,此次新型惡意程式将兩種SQL Server内置功能巧妙結合用于惡意軟體持久化,實作了在無檔案落地、無額外程序的情況下保持對雲主機的持久化控制,将惡意活動完全隐藏在使用者正常業務所需要的SQL Server資料庫程序内部。
那麼,這一惡意程式是怎麼做到的呢?
利用代理作業實作無異常周期性循環執行
SQL Server代理作業原本的用途是友善使用者進行資料庫運維,通過設定執行計劃和執行步驟來實作周期性的執行腳本程式或SQL語句。以往會利用此功能的攻擊者或惡意軟體會直接用代理作業執行一段惡意指令或惡意腳本,極易被運維管理者發現。
但是該後門的實施者,在建立代理作業後,僅執行了一句很短的SQL語句,将後門隐藏在另一個使用者自定義函數SqlManagement背後,隐蔽性很強。
代理作業
作業名稱 :
syspolicy_sqlmanagement_history
執行計劃名稱 :
schedule_sqlmanagement
執行步驟名稱 :
sqlmanagement
執行步驟内容 :
select dbo.SqlManagement(0)
利用CLR程式集實作高隐蔽性
代理作業中的SQL語句要執行的惡意的使用者自定義函數SqlManagement,背後對應的是一個CLR程式集 Microsft.SqlServer.Management。該功能原本用途是友善進階資料庫管理者擴充資料庫功能,攻擊者利用該技術可以實作在SQL中調用自定義的惡意C#程式。
以往植入新的CLR程式集需要先将惡意程式寫入磁盤,很容易被防毒軟體發現,攻擊者使用了一種特殊的寫入方式,直接使用SQL寫入C#程式的16進制流,将程式加載到資料庫中。結合SQL Server 代理作業功能,即可實作在資料庫程序内部持久化周期執行惡意的C#程式。
使用SQL将C#惡意程式直接載入資料庫示例:
CREATE ASSEMBLY [Microsft.SqlServer.Management] AUTHORIZATION [dbo] FROM
0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300777C565F0000000000000000E00022200B013000001E00000006000000000000 (後續省略)
還原出的反編譯的CLR程式集進行分析,發現核心功能是從使用者自定義函數 SqlManagement 開始,最終調用至SendAndReceiveFromServerBuffer 函數從vihansoft.ir周期性下載下傳惡意程式并執行,執行流程全部隐藏在SQL Server應用内,安全運維人員難以發現。
惡意後門檢測與清理
阿裡雲安全中心使用者,隻需進行簡單配置,即可實作對新型SQLServer無檔案持久化惡意程式的深層檢測、發現、溯源和清理。
1. 雲環境深度威脅檢測技術
針對雲上主流應用進行深層檢測,尤其是針對Microsoft SQL Server等常見應用,雲安全中心可以深入應用内部,在不打擾應用運作的情況下,對潛在的風險項進行掃描,無感發現無檔案、無額外程序的高度隐蔽惡意程式,識别該後門的惡意域名。
2. 自動化威脅溯源
雲安全中心背景系統基于多種主機程序行為分析,通過異構資料關聯、圖引擎計算、惡意行為模式聚類等方式,層層推進還原出原始觸發點或根據聚類分析結果進行推理還原,自動化追溯威脅源頭。
3. 一點檢測全網關聯防禦
威脅源頭資訊共享在全網的“檢測模式”類威脅情報網絡中,隻要在一台主機上确認該後門特征,其他主機在掃描時也能快速識别該後門程式。同時發現該後門曾經植入的後續其他惡意檔案。
4. 一鍵深度清理
針對此類特殊後門,雲安全中心支援一鍵清理,可以深入到SQL Server應用内部,精準處理掉該後門程式。
拓展安全建議
此次發現的新型持久化惡意程式,攻擊者主要針對雲上SQL Server服務發動攻擊,除了正常的弱密碼爆破外,入侵者還會嘗試某些應用服務供應商的資料庫初始化密碼。
使用者不單單需要關注自身管理資料庫服務是否存在弱密碼,還需警惕應用服務供應商的預設密碼被入侵,做好日常安全基線檢查與安全加強,防患于未然。