一、概述
騰訊御見威脅情報中心近期發現KoiMiner挖礦木馬變種,該變種的挖礦木馬已升級到6.0版。木馬作者對部分代碼加密的方法來對抗研究人員調試分析,木馬專門針對企業SQL Server 伺服器的1433埠爆破攻擊進行蠕蟲式傳播。騰訊御見威脅情報中心監測數據發現,KoiMiner挖礦木馬已入侵控制超過5000臺SQL Server伺服器,對企業數據安全構成重大威脅。該病毒在全國各地均有分布,廣東、山東、廣西位居前三。
騰訊安全專家建議企業網管對SQL Server伺服器做重點加固,停止使用簡單密碼,防止伺服器被黑客暴力破解入侵。網管亦可在伺服器部署騰訊御點終端安全管理系統防範此類病毒入侵。
騰訊御點攔截KoiMiner挖礦木馬
與2018年7月發現的KoiMiner對比,該變種具有以下變化:
1、全部代碼加密改為部分代碼加密;
2、Apache Struts2漏洞攻擊改為SQL Server 1433埠爆破;
3、下載的挖礦木馬由直接下載PE可執行文件改為從圖片中獲取二進位代碼再生成本地執行的挖礦木馬。
KoiMiner挖礦木馬攻擊流程
攻擊時Sqlbrowser.exe從C2伺服器獲取動態配置的IP列表(從病毒下載的掃描目標IP段看,攻擊範圍十分廣泛)、埠列表並進行埠掃描,然後對開放1433埠的IP使用C2地址獲取的user列表、password列表進行爆破登錄,登錄成功後執行sql.txt中的shellcode代碼。
Shellcode首先修復SQL的存儲過程xp_cmdshell、sp_addextendedproc,然後註冊多個com組件以便於惡意代碼執行,然後嘗試結束殺毒軟體和taskmgr進程,最後通過寫入二進位數據流的形式創建並保存文件o6.exe、x64.exe、sqlbrowser.exe。
o6.exe利用微軟MS16-032漏洞進行提升權限,然後執行x64.exe進行門羅幣挖礦作業,並啟動sqlbrowser.exe對網絡中的其他SQL Server伺服器進行蠕蟲式攻擊。
二、詳細分析
埠爆破
爆破模塊sqlbrowser.exe使用C#編寫,部分代碼使用加密函數進行加密,運行過程中調用JvcPLNnlO0s99rHu6y進行解密。
主要類功能如下:
Crack…………密碼猜解
Exec…………執行SqlCommand(shellcode)
GetConfigInfo…… 獲取配置文件
Program…………主類
Scan…………埠掃描
掃描的IP段列表:1.0.0.0 - 223.255.255.255
埠、用戶名、密碼字典
獲取配置文件ipsList、userList、passwordList、sqlLis
對IP進行埠掃描
密碼爆破
Shellcode分析
埠爆破後執行shellocde,shellcode通過多個C2地址動態配置。
以hxxp://18.205.168.2/tinnoota/upload/33/1072/config/ini/sql.txt為例進行分析。
準備階段
恢復SQL的儲存過程xp_cmdshell和sp_addextendedproc,通過重載xpstar.dll、xplog70.dll、odsole70.dll恢復儲存擴展,然後利用擴展函數來執行服務操作、註冊表操作、文件操作、進程操作等命令行。
通過xp_servicecontrol啟動SQLSERVERAGENT服務,通過sp_configure啟用Ad Hoc Distributed Queries和Ole Automation Procedures,從而更方便進行遠程操作。
通過寫註冊表Software\Policies\Microsoft\Windows\System取消CMD命令提示符禁用,寫註冊表SOFTWARE\Microsoft\Jet\4.0\Engines打開沙盒模式,刪除註冊表SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options中的多個鍵:
regini.exe
secedit.exe
ftp.exe
cacls.exe
net1.exe
icacls.exe
cmd.exe
sethc.exe
wscript.exe
通過註冊表寫HKEY_CLASSES_ROOT\CLSID來註冊以下COM對象
Microsoft.Jet.OLEDB.4.0
JavaScript1.1
Scripting.FileSystemObject
Microsoft.XMLHTTP.1.0
通過{72C24DD5-D70A-438B-8A42-98424B88AFB8}(WScript.Shell)執行secedit.exe /configure /db secedit.sdb設置以下文件的安全屬性
c:\windows\system32\cmd.exe
c:\windows\system32\ftp.exe
c:\windows\system32\cacls.exe
c:\windows\system32\net1.exe
c:\windows\system32\regini.exe
c:\windows\system32\net1895.exe
c:\Program Files\Common Files\System\ado\msado15.dll
通過Scripting.FileSystemObject刪除以下目錄:
c:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\*;
c:\Documents and Settings\NetworkService\Local Settings\Temporary Internet Files\Content.IE5\*;
c:\Documents and Settings\LocalService\Local Settings\Temporary Internet Files\Content.IE5\*;
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\*;
然後通過{72C24DD5-D70A-438B-8A42-98424B88AFB8}(WScript.Shell)創建Sethc.ini、Sethd.ini並分別寫入以下內容,然後通過regini將其添加至註冊表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options [2 8 18]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options [1 7 17]
劫持註冊表粘滯鍵功能,替換成任務管理器。
通過microsoft.jet.oledb.4.0設置以下文件完全訪問權限:
c:\windows\system32\cmd.exe
c:\windows\system32\ftp.exe
c:\windows\system32\icacls.exe
c:\windows\system32\cacls.exe
c:\windows\system32\wscript.exe
然後嘗試結束殺毒軟體進程:
360sd.exe
360tray.exe
360safe.exe
ZhuDongFangYu.exe
360leakfixer.exe
AhnSD.exe
alg.exe
ACASP.exe
AYAgent.exe
msseces.exe
KSafetray.exe
KSafe.exe
嘗試通過三種不同的方法註冊以下組件:
scrrun.dll
wshom.ocx
urlmon.dll
shdocvw.dll
jscript.dll
vbscript.dll
select * from openrowset('microsoft.jet.oledb.4.0',';database=ias\ias.mdb','select shell("regsvr32 scrrun.dll wshom.ocx urlmon.dll shdocvw.dll jscript.dll vbscript.dll /s")');
declare @shell00 int exec sp_oacreate 'wscript.shell',@shell00 output exec sp_oamethod @shell00,'run',null,'command.com /c regsvr32 scrrun.dll wshom.ocx urlmon.dll shdocvw.dll jscript.dll vbscript.dll /s';
declare @shell00 int exec sp_oacreate 'wscript.shell',@shell00 output exec sp_oamethod @shell00,'run',null,'regsvr32 scrrun.dll wshom.ocx urlmon.dll shdocvw.dll jscript.dll vbscript.dll /s';
Payload植入
通過xp_cmdshell、wscript.shell、microsoft.jet.oledb.4.0三種方法嘗試以下操作:
1、結束進程taskmgr.exe
2、創建以下目錄:
C:\ProgramData
C:\ProgramData\DataFiles
C:\ProgramData\DataFiles\Microsoft
C:\ProgramData\DataFiles\Microsoft\Fonts
C:\ProgramData\DataFiles\Microsoft\Temp
C:\ProgramData\DataFiles\Microsoft\Browser
C:\ProgramData\DataFiles\Microsoft\Images
通過創建並寫入二進位數據流ADODB.Stream的方法,創建以下文件並將三段二進位文本數據分別寫入:
C:\ProgramData\DataFiles\Microsoft\Fonts\o6.exe
C:\ProgramData\DataFiles\Microsoft\Fonts\x64.exe
C:\ProgramData\DataFiles\Microsoft\Images\sqlbrowser.exe
二進位數據開始
二進位數據結束
最後通過三種方法執行生成的文件,命令行參數如下:
C:\ProgramData\DataFiles\Microsoft\Fonts\x64.exe
C:\ProgramData\DataFiles\Microsoft\Fonts\o6.exe x64.exe
C:\ProgramData\DataFiles\Microsoft\Images\sqlbrowser.exe 20181101
x64.exe挖礦木馬,o6.exe利用漏洞提權並執行x64.exe,sqlbrowser.exe 進行新一輪SQL爆破攻擊,從參數中的「20181101」代表的日期來看,惡意代碼仍在不斷維護更新中。
提權木馬o6.exe
利用Windows輔助登錄服務漏洞MS16-032提升權限
然後以高權限創建指定進程
挖礦木馬x64.exe
使用C#編寫,部分代碼使用加密函數進行加密,運行過程中調用JvcPLNnlO0s99rHu6y進行解密。
主要類功能如下:
CreateFileByHex…………將下載的二進位創建PE文件
ExecCommand…………啟動指定文件
MainEntrance…………控制挖礦進程、保護進程啟動及停止
ProExecution…………創建挖礦文件路徑、命令行,結束殺軟
Program…………主類
ProtectEntrance…………監控重啟挖礦進程、結束其他高佔用CPU進程
SetFileAttritubes…………設置文件隱藏、系統權限可讀屬性以及安全屬性
TheFirstRun…………首次運行複製自身到指定目錄、判斷是否具有admin權限、創建互斥體
首次運行後將自身命名為csrss.exe並拷貝到以下兩個目錄
C:\ProgramData\Microsoft Labs\NetFramewor\BreadcrumbStore\Main\
C:\ProgramData\Microsoft Labs\NetFramewor\BreadcrumbStore\Protect\
csrss.exe從211.54.150.94下載logo_6.gif,然後將其中的二進位數據寫入App目錄下創建的lsass.exe
lsass.exe為開源門羅幣挖礦木馬XMRig
csrss.exe啟動挖礦木馬lsass.exe,啟動參數:
-a cryptonight -o stratum+tcp://pool.supportxmr.com:3333 -u 48ojQAPbQCY5j75Hshe1mXKSAe3db6NVRAxsiMxS7rMNcEGE1mKGW1eETRamd1cKgRHCtqdTnEUu6NEKKSGXVugN9q2WVM8 -p x --donate-level=1 --retries=10 --max-cpu-usage=50 -k -o stratum+tcp://fr.minexmr.com:80 -u 48ojQAPbQCY5j75Hshe1mXKSAe3db6NVRAxsiMxS7rMNcEGE1mKGW1eETRamd1cKgRHCtqdTnEUu6NEKKSGXVugN9q2WVM8 -p x --donate-level=1 --retries=1 --max-cpu-usage=50
礦池:
pool.supportxmr.com
fr.minexmr.com
錢包信息:
錢包信息顯示,KoiMiner變種控制的錢包已收穫20餘個門羅幣,按最新市價,約相當於1.5萬元人民幣。
三、安全建議
1.加固SQL Server伺服器,修補伺服器安全漏洞。使用安全的密碼策略 ,使用高強度密碼,切勿使用弱口令,特別是sa帳號密碼,防止黑客暴力破解。
2.修改SQL Sever服務默認埠,在原始配置基礎上更改默認1433埠設置,並且設置訪問規則,拒絕1433埠探測。
3.使用騰訊御知網絡空間風險雷達(網址:https://s.tencent.com/product/yuzhi/index.html)進行風險掃描和站點監控。
4.網站管理員可使用騰訊雲網站管家智能防護平臺(網址:https://s.tencent.com/product/wzgj/index.html),該系統具備Web入侵防護,0Day漏洞補丁修復等多緯度防禦策略,可全面保護網站系統安全。
IOCs(部分)
IP
174.142.80.200
14.47.196.12
125.130.59.163
202.123.183.164
14.33.33.206
221.208.189.96
118.24.16.150
175.6.23.2
211.54.150.94
112.217.125.67
211.112.25.235
111.230.101.122
61.77.166.215
18.205.168.2
211.197.75.71
URL
hxxp://211.112.25.235/ezon/sw/SWFT/Image/user/web/port.txt
hxxp://211.112.25.235/ezon/sw/SWFT/Image/user/web/password.txt
hxxp://211.112.25.235/ezon/sw/swft/image/user/web/sql.txt
hxxp://211.112.25.235/ezon/sw/swft/image/user/web/ip.txt
hxxp://211.112.25.235/ezon/sw/SWFT/Image/user/web/user.txt
hxxp://211.112.25.235/ezon/sw/swft/image/user/web/port.txt
hxxp://174.142.80.200:8080/cameo/fonts/config/ini/files//x32.txt
hxxp://174.142.80.200:8080/cameo/fonts/config/ini/files//n64.txt
hxxp://174.142.80.200:8080/cameo/fonts/config/INI/Files//n32.txt
hxxp://14.47.196.12/ezon/images/xmr64.png
hxxp://125.130.59.163/ezon/images/xmr64.png
hxxp://202.123.183.164/application/partol/images/xmr64.png
hxxp://14.33.33.206/ezon/images/xmr64.png
hxxp://14.33.33.206/ezon/images/xmr32.png
hxxp://221.208.189.96:81/skin/red/images/xmr32.png
hxxp://221.208.189.96:81/skin/red/images/xmr64.png
hxxp://211.54.150.94/ezon/images/img/logo_6.gif
礦池:
pool.supportxmr.com
fr.minexmr.com
錢包:
48ojQAPbQCY5j75Hshe1mXKSAe3db6NVRAxsiMxS7rMNcEGE1mKGW1eETRamd1cKgRHCtqdTnEUu6NEKKSGXVugN9q2WVM8
463tGbooc85VubSo9TjhjLegtVvBQD6qPVJ3LxDoNrtKexAqcyDkoqm9p32MrDoMWcSmWz41EKbxL3AKPJyCjCmcTPZ96
47Uvt85TgZzHkveaTed69jhY4CSN8334BUufUtmaoLSNJadf2BoxxroHm5evYqQy4NJeyVBYYtGK8SHSAtFSiW6aDztDs
48gzbYzJ5mGE6QWQM8F7fKLk46UCoDbQEfeudysEjmifTroCKRmwvoyUGrSMjwy95ZeMrHoURhnFY5LJ9qaYW8FiFoimegp
md5
229dadc6f3a80867d1fa9dae2c26f972
f1d92506cafd52be6b712f866fa274d4
1c68d7254d8907e2f2ee080440d3fe88
8e304c6af1853c1411698172aca4076f
e0d6ea4d42cb00c5427d391c97ba36c8
8ecf43d3b5d2357f89365198528951c0
e8d3fd8f108ed61acddbd20e0740d105
8a068ebbc1428f074884f66c616f6737
5a5462f1847306cb759d6c7abed60af5
64614e399a0aaed26db2a28d145abc68
c5b0b4c325a74cdc13ebf7135f6dcb3a
fb6aafeed4007c183e981b77c73c66ac
72541d0fd0bbda790794d4f2a152aa4e
1b6afd9198fed9b66eafa1d38a365cb3
4a2126ec9c7227144cb857da81e02d27
02e547abb48390e4558bcff8cbbf6be4
02638f1cb23ec5c2ceeca354ee36b11a