mirai變種之infeno分析
簡述
- 名稱
- infeno
- 覆蓋平臺(tái)
- arm(armv5,armv6,armv7)
- mips
- x86_64
- 關(guān)聯(lián)的域名/ip
- 178.128.11.199
- 69.90.132.124
- thotnet.pw
- 發(fā)現(xiàn)過程
- 某云發(fā)現(xiàn)被持續(xù)掃描攻擊,從掃描攻擊的payload中提取樣本
逆向分析
該樣本類似于mirai,具有設(shè)置watchdog等功能,但是沒有設(shè)置反adb調(diào)試,相應(yīng)的代碼卻被替換為解析cnc地址的函數(shù),有點(diǎn)奇怪。

1.png
第一處與miral不同之處在于,mirai的cnc地址經(jīng)過xor加密,放置在table_init函數(shù)中。在需要的時(shí)候需要解密。而在此處樣本中,cnc地址則明文存放在resolv_cnc_addr函數(shù)中。如圖

2.png
可以看出,首先調(diào)用resolv_lookup函數(shù)去解析cnc地址thotnet.pw。如果解析失敗則跳轉(zhuǎn)至loc_C9F8位置,設(shè)置cnc地址為ip 69.90.132.124。
其他地方都與mirai類似,設(shè)置watchdog防止設(shè)備重啟,初始化攻擊等。但是在main函數(shù)中,竟然初始化自定義的攻擊函數(shù)exploit_worker。這讓該變種具備了使用exp去攻擊的功能。
exploit_worker函數(shù)很簡單,直接調(diào)用各個(gè)子攻擊函數(shù),如圖

3.png
每個(gè)攻擊函數(shù)在調(diào)用之前,都要針對性的生成IP,例如GPON80_IPGen等等,然后再調(diào)用exp函數(shù)。下面以
exploit_socket_huawei為例。首先調(diào)用HUAWEI_IPGen生成目標(biāo)IP,如圖

4.png

5.png
調(diào)用random生成隨機(jī)數(shù),然后通過sprintf生成完整的ip地址。一共成成5組。這與mirai不同之處在于,mirai生成隨機(jī)IP后,會(huì)刻意避開部分IP地址。但是在這些函數(shù)中,沒有避開任何IP。而在該樣本的scanner_init中,卻又引用了原版mirai的生成IP算法,如圖

15.png
生成這5組隨機(jī)IP地址后,再調(diào)用
exploit_socket_huawei去攻擊。exploit_socket_huawei函數(shù)如圖所示
6.png
可以看出該函數(shù)很簡單,建立socket鏈接,發(fā)送包含exploit代碼的http請求,然后關(guān)閉socket鏈接。在包含exploit代碼的http中,包含了wget下載該樣本的shell代碼,也就是說如果目標(biāo)設(shè)備存在漏洞的話,則直接下載該mirai樣本。這樣降低了exploit函數(shù)的復(fù)雜度。
可以粗略的看一下,該樣本包含了數(shù)種exp代碼,如圖

7.png
危害程度甚至比mirai還大。不過可疑的是,在搜索引擎中,發(fā)現(xiàn)該exploit代碼早已被人上傳pastebin網(wǎng)站上。經(jīng)過比對,發(fā)現(xiàn)只有個(gè)別之處不一樣,其他大部分都相同。該文件上傳者還收集mirai變種樣本。目前暫未發(fā)現(xiàn)該文件上傳者與此樣本有關(guān)

8.png
在table_init函數(shù)中,存放該樣本一些重要配置信息,例如cnc端口等。這里的加密為簡單的異或加密,加密密鑰存放在data段。加密密鑰和解密函數(shù)如圖

9.png

10.png
可以根據(jù)此寫一個(gè)解密腳本
def decode_str(s):
res = []
key = 0xdedefbaf
a = key & 0xff
b = (key >> 8) & 0xff
c = (key >> 16) & 0xff
d = (key >> 24) & 0xff
for i in s:
i = ord(i)
i ^= a
i ^= b
i ^= c
i ^= d
res.append(chr(i))
res = "".join(res)
print(res)
解析出cnc的端口為961,另外還有一串奇怪的字符串1gba4cdom53nhp12ei0kfj。我們可以使用nc去鏈接cnc,不過由于不知道用戶名和密碼,所以作罷。我們將這串奇怪的字符串使用google搜索。竟然發(fā)現(xiàn)了該樣本的代碼。

11.png
將源碼下載下來,發(fā)現(xiàn)大部分都與此樣本相似,只有個(gè)別極少的內(nèi)容不一致。

12.png
該樣本與mirai類似,只不過魔改了一下。在網(wǎng)站中可以發(fā)現(xiàn)該網(wǎng)站管理員的instgram。點(diǎn)進(jìn)去發(fā)現(xiàn)這人經(jīng)常在幾種炫耀自己ddos攻擊。不過因?yàn)榇舜a已經(jīng)公開,不確定此人是否與該樣本有關(guān)。如圖

14.jpg

13.jpg
解決方案
1.及時(shí)升級(jí)路由器等智能設(shè)備的固件
2.不要隨便鏈接公網(wǎng),設(shè)置好防火墻等