近期,阿里云云安全中心基于全新的深度威脅檢測(cè)功能,監(jiān)測(cè)到云上部分用戶(hù)的 SQL Server 數(shù)據(jù)庫(kù)內(nèi)部隱藏著一種新型的持久化后門(mén)程序。
攻擊者利用弱口令不嚴(yán)謹(jǐn)配置,以非常簡(jiǎn)單的攻擊方法進(jìn)入數(shù)據(jù)庫(kù),即可植入該后門(mén),更致命的是,該后門(mén)高度隱蔽和持久化控制的特性,讓發(fā)現(xiàn)和清除變得困難。
威 脅 特 點(diǎn)
植入簡(jiǎn)單
利用數(shù)據(jù)庫(kù)弱密碼或不嚴(yán)謹(jǐn)配置,攻擊者只需簡(jiǎn)單的弱口令利用,即可輕松登錄進(jìn)用戶(hù)的數(shù)據(jù)庫(kù)植入該后門(mén)程序;
高度隱蔽
該后門(mén)完全隱藏在SQL Server數(shù)據(jù)庫(kù)進(jìn)程內(nèi)部,無(wú)文件落地、無(wú)額外進(jìn)程,運(yùn)維管理人員很難定位到后門(mén)真正所在;
持久化控制
該惡意后門(mén)持續(xù)不斷地向云主機(jī)內(nèi)部植入挖礦病毒等其他惡意程序,使管理員陷入病毒殺不完、懷疑有漏洞的困境;
查殺困難
簡(jiǎn)單的弱口令漏洞修復(fù)和已有惡意文件查殺根本無(wú)法實(shí)現(xiàn)對(duì)惡意程序來(lái)源的清除,即使重啟數(shù)據(jù)庫(kù)服務(wù)、甚至重啟云主機(jī),由于真正的隱藏后門(mén)沒(méi)有完全清除,還是會(huì)有病毒源源不斷的被植入主機(jī)。
攻 擊 流 程
- 攻擊者利用某些應(yīng)用程序供應(yīng)商的數(shù)據(jù)庫(kù)默認(rèn)密碼及不嚴(yán)謹(jǐn)配置入侵SQL Server數(shù)據(jù)庫(kù);
- 在登入數(shù)據(jù)庫(kù)后,創(chuàng)建SQL Server代理作業(yè)周期性執(zhí)行SQL語(yǔ)句調(diào)用惡意的用戶(hù)自定義函數(shù);
- 用一種特殊的方式將惡意代碼以CLR程序集的形式加載進(jìn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)通過(guò)用戶(hù)自定義函數(shù)調(diào)用惡意的CLR程序集;
- 已創(chuàng)建的SQL Server代理作業(yè)自動(dòng)周期性的調(diào)用惡意CLR程序集,實(shí)現(xiàn)惡意代碼持久化。
威 脅 分 析
傳統(tǒng)的持久化技術(shù)、惡意代碼加載方式早已被所有主機(jī)安全產(chǎn)品列為重點(diǎn)監(jiān)控范圍,很容易被發(fā)現(xiàn)并清除掉:
- 利用操作系統(tǒng)內(nèi)置的計(jì)劃任務(wù)、系統(tǒng)服務(wù)、自啟動(dòng)項(xiàng)等方式進(jìn)行持久化;
- 直接在磁盤(pán)上放置惡意程序文件;
- 利用系統(tǒng)內(nèi)置的工具程序加載惡意代碼到內(nèi)存中執(zhí)行。
不同的是,此次新型惡意程序?qū)煞NSQL Server內(nèi)置功能巧妙結(jié)合用于惡意軟件持久化,實(shí)現(xiàn)了在無(wú)文件落地、無(wú)額外進(jìn)程的情況下保持對(duì)云主機(jī)的持久化控制,將惡意活動(dòng)完全隱藏在用戶(hù)正常業(yè)務(wù)所需要的SQL Server數(shù)據(jù)庫(kù)進(jìn)程內(nèi)部。
那么,這一惡意程序是怎么做到的呢?
利用代理作業(yè)實(shí)現(xiàn)無(wú)異常周期性循環(huán)執(zhí)行
SQL Server代理作業(yè)原本的用途是方便用戶(hù)進(jìn)行數(shù)據(jù)庫(kù)運(yùn)維,通過(guò)設(shè)置執(zhí)行計(jì)劃和執(zhí)行步驟來(lái)實(shí)現(xiàn)周期性的執(zhí)行腳本程序或SQL語(yǔ)句。以往會(huì)利用此功能的攻擊者或惡意軟件會(huì)直接用代理作業(yè)執(zhí)行一段惡意命令或惡意腳本,極易被運(yùn)維管理員發(fā)現(xiàn)。
但是該后門(mén)的實(shí)施者,在創(chuàng)建代理作業(yè)后,僅執(zhí)行了一句很短的SQL語(yǔ)句,將后門(mén)隱藏在另一個(gè)用戶(hù)自定義函數(shù)SqlManagement背后,隱蔽性很強(qiáng)。
作業(yè)名稱(chēng) :
syspolicy_sqlmanagement_history
執(zhí)行計(jì)劃名稱(chēng) :
執(zhí)行步驟名稱(chēng) :
執(zhí)行步驟內(nèi)容 :
select dbo.SqlManagement(0)
利用CLR程序集實(shí)現(xiàn)高隱蔽性
代理作業(yè)中的SQL語(yǔ)句要執(zhí)行的惡意的用戶(hù)自定義函數(shù)SqlManagement,背后對(duì)應(yīng)的是一個(gè)CLR程序集 Microsft.SqlServer.Management。該功能原本用途是方便高級(jí)數(shù)據(jù)庫(kù)管理員擴(kuò)展數(shù)據(jù)庫(kù)功能,攻擊者利用該技術(shù)可以實(shí)現(xiàn)在SQL中調(diào)用自定義的惡意C#程序。
以往植入新的CLR程序集需要先將惡意程序?qū)懭氪疟P(pán),很容易被殺毒軟件發(fā)現(xiàn),攻擊者使用了一種特殊的寫(xiě)入方式,直接使用SQL寫(xiě)入C#程序的16進(jìn)制流,將程序加載到數(shù)據(jù)庫(kù)中。結(jié)合SQL Server 代理作業(yè)功能,即可實(shí)現(xiàn)在數(shù)據(jù)庫(kù)進(jìn)程內(nèi)部持久化周期執(zhí)行惡意的C#程序。
使用SQL將C#惡意程序直接載入數(shù)據(jù)庫(kù)示例:
CREATE ASSEMBLY [Microsft.SqlServer.Management] AUTHORIZATION [dbo] FROM
CREATE ASSEMBLY [Microsft.SqlServer.Management] AUTHORIZATION [dbo] FROM
0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000 E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000 504500004C010300777C565F0000000000000000E00022200B013000001E00000006000000000000 (后續(xù)省略)
還原出的反編譯的CLR程序集進(jìn)行分析,發(fā)現(xiàn)核心功能是從用戶(hù)自定義函數(shù) SqlManagement 開(kāi)始,最終調(diào)用至SendAndReceiveFromServerBuffer 函數(shù)從vihansoft.ir周期性下載惡意程序并執(zhí)行,執(zhí)行流程全部隱藏在SQL Server應(yīng)用內(nèi),安全運(yùn)維人員難以發(fā)現(xiàn)。
惡意后門(mén)檢測(cè)與清理
阿里云安全中心用戶(hù),只需進(jìn)行簡(jiǎn)單配置,即可實(shí)現(xiàn)對(duì)新型SQLServer無(wú)文件持久化惡意程序的深度檢測(cè)、發(fā)現(xiàn)、溯源和清理。
1.云環(huán)境深度威脅檢測(cè)技術(shù)
針對(duì)云上主流應(yīng)用進(jìn)行深度檢測(cè),尤其是針對(duì)Microsoft SQL Server等常見(jiàn)應(yīng)用,云安全中心可以深入應(yīng)用內(nèi)部,在不打擾應(yīng)用運(yùn)行的情況下,對(duì)潛在的風(fēng)險(xiǎn)項(xiàng)進(jìn)行掃描,無(wú)感發(fā)現(xiàn)無(wú)文件、無(wú)額外進(jìn)程的高度隱蔽惡意程序,識(shí)別該后門(mén)的惡意域名。
2.自動(dòng)化威脅溯源
云安全中心后臺(tái)系統(tǒng)基于多種主機(jī)進(jìn)程行為分析,通過(guò)異構(gòu)數(shù)據(jù)關(guān)聯(lián)、圖引擎計(jì)算、惡意行為模式聚類(lèi)等方式,層層推進(jìn)還原出原始觸發(fā)點(diǎn)或根據(jù)聚類(lèi)分析結(jié)果進(jìn)行推理還原,自動(dòng)化追溯威脅源頭。
3.一點(diǎn)檢測(cè)全網(wǎng)聯(lián)動(dòng)防御
威脅源頭信息共享在全網(wǎng)的“檢測(cè)模式”類(lèi)威脅情報(bào)網(wǎng)絡(luò)中,只要在一臺(tái)主機(jī)上確認(rèn)該后門(mén)特征,其他主機(jī)在掃描時(shí)也能快速識(shí)別該后門(mén)程序。同時(shí)發(fā)現(xiàn)該后門(mén)曾經(jīng)植入的后續(xù)其他惡意文件。
4.一鍵深度清理
針對(duì)此類(lèi)特殊后門(mén),云安全中心支持一鍵清理,可以深入到SQL Server應(yīng)用內(nèi)部,精準(zhǔn)處理掉該后門(mén)程序。
拓展安全建議
此次發(fā)現(xiàn)的新型持久化惡意程序,攻擊者主要針對(duì)云上SQL Server服務(wù)發(fā)動(dòng)攻擊,除了常規(guī)的弱口令爆破外,入侵者還會(huì)嘗試某些應(yīng)用服務(wù)供應(yīng)商的數(shù)據(jù)庫(kù)初始化口令。
用戶(hù)不單單需要關(guān)注自身管理數(shù)據(jù)庫(kù)服務(wù)是否存在弱口令,還需警惕應(yīng)用服務(wù)供應(yīng)商的默認(rèn)口令被入侵,做好日常安全基線檢查與安全加固,防患于未然。
到此這篇關(guān)于解密新型SQL Server無(wú)文件持久化惡意程序的文章就介紹到這了,更多相關(guān)解密SQL Server持久化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- SQLSERVER對(duì)加密的存儲(chǔ)過(guò)程、視圖、觸發(fā)器進(jìn)行解密(推薦)
- SQLSERVER加密解密函數(shù)(非對(duì)稱(chēng)密鑰 證書(shū)加密 對(duì)稱(chēng)密鑰)使用方法代碼
- SQL Server儲(chǔ)過(guò)程加密和解密原理深入分析
- 存儲(chǔ)過(guò)程解密(破解函數(shù),過(guò)程,觸發(fā)器,視圖.僅限于SQLSERVER2000)