前言

  近日,火絨安全團隊通過”火絨威脅情報系統”發現蠕蟲病毒”Worm/Sharp”正在全網傳播,在政府、企業、學校、醫院等單位的局域網具有非常強的傳播能力。該病毒通過”永恆之藍”漏洞、多個電腦常用端口傳播,入侵電腦後,會橫向攻擊局域網內所有電腦,同時還會在用戶電腦中留下後門病毒,用以執行更多惡意攻擊,如勒索病毒、挖礦病毒。

  概覽

  火絨工程師通過技術分析發現,該蠕蟲病毒會通過遠程服務器和自身爬蟲功能收集局域網內的IP列表,然後對其中的多個服務端口發起攻擊,包括RPC服務(135端口)、SQLServer服務(1433端口)、FTP服務(21端口),同時還會通過 “永恆之藍”漏洞,入侵445端口,攻擊電腦。

  由於該病毒針對企業不便關閉的多個常用端口進行攻擊,並且利用了局域網電腦中普遍未修復的”永恆之藍”漏洞,一旦任何一臺電腦被該病毒感染,將意味着局域網內所有電腦都面臨被感染的風險,尤其給政企機構用戶造成極大威脅。

  如果病毒成功入侵或攻擊端口,就會從遠程服務器下載病毒代碼,進而橫向傳播給局域網內其他電腦。同時,該病毒還會在被感染電腦中留下後門病毒,以準備進行後續的惡意攻擊,不排除未來會向用戶電腦傳播更具威脅性病毒的可能性,例如勒索病毒等。

  火絨工程師通過技術溯源發現,從2017年06月23日(甚至更早) 至今,該黑客組織一直使用該系列蠕蟲在全網進行大規模的信息收集。且一直保持對病毒的更新。

  

  火絨”企業版”和”個人版”最新版均可徹底查殺蠕蟲病毒” Worm/Sharp “。同時,政府、企業、學校、醫院等受此類病毒威脅較大的局域網用戶,我們建議申請安裝”火絨企業版”,可有效防禦局域網內病毒屢殺不絕的難題。目前火絨免費提供三個月試用期,歡迎大家前來體驗試用。

  “火絨企業版”申請試用https://www.huorong.cn/essmgr/essreg。

  詳細分析

  今年上半年,”火絨終端威脅情報系統”檢測到Worm/Sharp變種在肆意傳播,Worm/Sharp或將捲土重來。該變種通過與C&C服務器進行通訊以及內置的爬蟲功能獲取目標的IP地址及端口,對RPC服務(135端口)、SQLServer服務(1433端口)、FTP服務(21端口)進行爆破,使用永恆之藍漏洞對445端口進行入侵,如果入侵或爆破成功則執行腳本從C&C服務器上下載初始樣本,初始樣本經過多重釋放,最終運行Worm/Sharp蠕蟲。除此之外還會判斷目標IP是否爲代理服務器,以及對從C&C服務器獲取的路由器IP地址列表發起TCP連接以判斷7547端口的連通性,爲下一步的攻擊做準備。

  初始樣本執行流程,如下圖所示:

  

  初始樣本執行流程

  原始樣本(A22.exe)是經過PECompact加殼過的,在運行過程中會釋放lib32Waxe.exe,lib32Waxe.exe帶有混淆器在內存中會解壓縮.Net惡意代碼,並通過調用ComCallPreStub來執行這段.Net惡意代碼,之後進入Worm/Sharp核心代碼,Worm/Sharp有兩大核心功能。核心功能,如下圖所示:

  

  病毒核心功能

  初始樣本(A22.exe)由VB編寫並且加了PECompact殼,在執行過程中會釋放lib32waxe.exe,並創建服務WaxeSvc,主流程執行完後會啓動自刪除進程。初始樣本主流程,如下圖所示:

  

  初始樣本執行流程

  lib32Waxe.exe帶有混淆器在執行過程中解壓縮 Worm/Sharp蠕蟲代碼。載入二進制資源代碼,如下圖所示:

  

  載入資源

  載入的二進制資源經過zlib壓縮,zlib版本爲1.2.3。解壓後可以獲得.Net惡意代碼。解壓縮代碼,如下圖所示:

  

  解壓縮代碼

  在最後使用CLR API 實現在C++中運行.Net惡意代碼,調用Clr.dll中未公開的函數ComCallPreStub運行Worm/Sharp蠕蟲。 調用ComCallPreStub函數相關代碼,如下圖所示:

  

  啓動蠕蟲代碼

  該蠕蟲分爲獲取被攻擊的IP列表和入侵攻擊兩部分功能,兩部分功能相互協作,不分先後,且兩部分功能中的每一個操作均爲一個獨立線程。

  (一) 獲取被攻擊的IP列表

  1. 爬蟲功能

  該蠕蟲內置了爬蟲功能,可以根據隨機字符串搜索、關鍵字搜索、與C&C服務器通訊和Weblogs搜索來擴充自己的IP列表,爲入侵攻擊功能提供數量龐大的主機列表。

  1.1 通過搜索引擎搜索隨機字符串

  該線程會維持一個list列表,當列表中的數量小於等於200時,調用Random_Sting_1函數隨機生成字符串,並作爲GetList_FromYahooAndBing方法的參數,在Yahoo和Bing 搜索引擎中進行搜索。篩選出符合要求的,進行正則過濾,正則代碼如下[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\:[0-9]{1,5}。

  在List_Filter方法中會根據端口號對list中的目標主機進行分類,爲入侵攻擊功能提供攻擊目標。

  函數邏輯,如下圖所示:

  

  搜索隨機字符串

  1.2 通過搜索引擎搜索關鍵字擴充FTP列表

  

  ExpandFTPList()函數邏輯

  在GetIPList_keyWordString_FromBingAndYahoo方法中定義了一個數組array,如下圖所示:

  

  用於拼接的字符串數據

  拼接了兩個字符串

  String a = "domain:"+array[Random(array.Length)]+Random(10000).ToString

  String b = "site::"+array[Random(array.Length)]+Random(10000).ToString

  使用Bing搜索字符串a,添加符合要求的IP保存到list

  使用雅虎搜索字符串b,添加符合要求的IP保存到list

  UseIPList_FromBing回調使用Bing搜索”ip:”+list列表中的地址,篩選21端口的IP地址,調用AddFTPList回調將篩選後的IP加入FTP爆破的List中,用於入侵攻擊功能進行攻擊。

  1.3 通過與C&C通訊更新相應的列表

  Route_TCP_Connect函數從C&C服務器(hxxp://tz.gxout.com/ip/route_tcp.aspx)獲取DES加密後的路由IP地址列表,DES解密的key=” 20110520″,IV={32,17,5,32,33,1,88,72}。解密之後發起TCP連接,判斷7547端口是否存活,如果存活則添加到相應的List中。

  TCP_Connect函數與上述類似,只是請求的地址有所不同,通訊地址爲 (hxxp://tz.gxout.com/ip/tcp.aspx),主要篩選135、445、1433端口的IP地址。整體邏輯,如下圖所示:

  

  與C&C服務器通訊邏輯

  1.4 通過weblogs.com蒐集信息擴充1433端口IP列表

  蠕蟲會從http://rpc.weblogs.com/shortChanges.xml下載shortChanges.xml,對xml文件進行解析。調用GetWeblogList_AfterFilter函數過濾Xml的內容,調用GetUrl_FromList將WeblogList中的URL提取出來,調用UrlListFilter過濾以.xml、.rss、.pdf、.gz、和.doc結尾的URL。調用StringManipulationAndAddList函數篩選端口爲1433的IP地址,添加到1433爆破的List中。整體邏輯,如下圖所示:

  

  Weblogs蒐集信息邏輯

  2. 執行遠程惡意代碼

  通過訪問黑客的C&C服務器(ftp:// in.siolio.com),下載FTP上的exe並執行。該功能可以作爲一個後門功能,便於後續攻擊的展開。相關代碼,如下圖所示:

  

  下載可執行文件並執行

  FTP賬號及密碼,如下圖所示:

  

  FTP賬號密碼

  3. 修改註冊表關閉TCP/IP的連接數限制。

  修改註冊表,如下圖所示:

  

  修改連接數限制

  (二) 入侵攻擊功能

  蠕蟲會通過與C&C服務器(hxxp://api.gxout.com/ip/google.aspx)進行通訊獲取加密後的IP列表,解密過濾後,加入相應的List中。入侵攻擊功能分爲以下6個部分:FTP爆破、135端口爆破、445端口入侵、1433端口爆破、7547端口回連、代理服務器檢測,並且當斷網的情況下,會自動遍歷內網IP對內網的其他服務器進行爆破和漏洞攻擊。功能線程,如下圖所示:

  

  功能線程

  1. FTP爆破

  獲取被攻擊的IP列表功能中已經對FTP的列表進行了擴充,所以在入侵攻擊功能中直接開始爆破,內置的字典(部分),如下圖所示:

  

  登錄信息字典

  如果爆破成功則向目標IP上傳測試文件,對上傳路徑進行Http請求,刪除上傳的文件,比較內容,相同則返回全路徑,之後將網站的域名(ip地址)+ftp用戶名+ftp密碼+上傳文件的完整路徑進行URL編碼發送到C&C服務器(hxxp://tz.gxout.com/ftp/set.aspx)上。程序流程,如下圖所示:

  

  測試和發送流程

  2. 135端口爆破

  使用的賬號爲Administrator,密碼字典,如下圖所示:

  

  密碼字典

  爆破成功之後,會在目標服務器生成批處理文件並執行最終執行的批處理,如下圖所示:

  

  批處理內容

  3. 445端口入侵

  該蠕蟲除了爆破功能之外還會通過漏洞進行入侵,使用永恆之藍對服務器進行攻擊。 部分Payload,如下圖所示:

  

  永恆之藍Payload

  4. 1433端口爆破

  賬號默認sa,密碼字典(部分),如下圖所示:

  

  密碼字典

  爆破成功的行爲除了執行批處理命令之外還會執行腳本和數據庫操作,部分腳本如下:

  

  命令腳本

  此外還會對目標主機的註冊表進行操作,禁用CMD、映像劫持。註冊表操作,如下圖所示:

  

  註冊表操作

  5. 7547端口IP列表發送

  在獲取被攻擊的IP列表功能中已經對從C&C服務器獲取的路由器IP列表進行了過濾和檢測,入侵攻擊功能中對該列表進行DES加密URL編碼後發送到C&C服務器(hxxp://tz.gxout.com/ip/port_set.aspx)。通訊代碼,如下圖所示:

  

  HTTP連接

  6. 代理服務器檢測

  當端口不是135、445、1433、7547時,會檢測目標機器的IP地址和端口是否爲代理服務器,將其作爲代理服務器連接Yahoo,連接成功則進行DES加密發送給C&C服務器(hxxp://api.gxout.com/proxy/google.aspx)。邏輯流程,如下圖所示:

  

  代理服務器檢測

  同源性分析

  對黑客的C&C服務器進行溯源,可以發現該C&C服務器地址最早可以追溯到2017年6月23日,如下圖所示:

  

  VT上的分析結果

  當時從該網站上面下載的蠕蟲的名稱爲A11.exe,而我們分析的樣本名爲A22.exe,最近一次更新時間爲2018年7月23日。如下圖所示:

  

  黑客FTP上的內容

  由此可知,從2017年06月23日(甚至更早) 至今,該黑客組織一直使用該系列蠕蟲在全網進行大規模的信息收集,且一直保持對病毒的更新。

  預警

  該蠕蟲的目的是全網傳播並將蒐集到的相關信息發送到C&C服務器上,況且Worm/Sharp還有一個後門功能,黑客已經使用該系列的蠕蟲收集了一年多的時間,在未來很有可能會發動大規模的攻擊。

  附錄

  文中涉及樣本SHA256:

  

  *本文作者:火絨安全,轉載請註明來自FreeBuf.COM

相關文章