作者:ADLab
近期,啟明星辰ADLab與電信云堤發(fā)現(xiàn)了一款新型物聯(lián)網(wǎng)蠕蟲:鯨鯊蠕蟲,鯨鯊蠕蟲是首款利用物聯(lián)網(wǎng)設備來構(gòu)建大型代理網(wǎng)絡的蠕蟲病毒,主要感染對象包括路由器、網(wǎng)絡攝像頭、交換機等物聯(lián)網(wǎng)設備,我們當前所發(fā)現(xiàn)的該蠕蟲受控于一臺位于俄羅斯的主機服務器。
此蠕蟲并未實現(xiàn)任何可以用于網(wǎng)絡攻擊的模塊,從我們目前的分析結(jié)果來看,該蠕蟲僅僅實現(xiàn)了一個 TCP 流量轉(zhuǎn)發(fā)的功能,黑客可以利用該功能向任何指定 IP 地址發(fā)送 TCP 數(shù)據(jù)包。因此我們推測,該黑客試圖利用蠕蟲來建立一個大型的網(wǎng)絡代理平臺,并利用該平臺管理的網(wǎng)絡設備來轉(zhuǎn)發(fā)其流量,以實現(xiàn)如下目的。
該蠕蟲具備以下特點:
mips
、x86
、arm
、power pc
、Hitachi
的不同的 CPU 架構(gòu),兼容大端和小端的字節(jié)順序。在軟件環(huán)境方面,該蠕蟲適配帶 busybox 程序的環(huán)境和不帶 busybox 程序環(huán)境、適配帶 echo 程序的環(huán)境和帶 printf 程序的環(huán)境、適配帶 wget/tftp/echo/printf
的二進制回顯重定向的下載模式。可以看出,該蠕蟲與其他類型的物聯(lián)網(wǎng)僵尸(如 Mirai
、Hajime
、Qbot
、KTN-RM
等)相比具有控制更加靈活、感染成功率更高、隱蔽性更好等優(yōu)點。因而我們將這款新型的蠕蟲命名為“鯨鯊蠕蟲”。
在發(fā)現(xiàn)鯨鯊蠕蟲后,我們監(jiān)測了鯨鯊蠕蟲最近一個月(2017年6月)的活躍IP數(shù)據(jù)并以周為單位進行了統(tǒng)計分析,如下圖所示。
此外,我們還對全國的感染設備數(shù)量做了進一步的監(jiān)測統(tǒng)計,繪制了如下鯨鯊蠕蟲的全國感染分布圖。
23
和 2323
端口的 telnet 服務,利用弱口令攻擊目標設備的 telnet 服務,嘗試感染并控制目標設備。下圖為受感染設備的 TCP 連接列表的信息,我們從第三列的 rem_address
可以看到設備嘗試連接了大量 IP 的 0x0017(23,telnet)
端口。/dev
、/etc
、/var
、/var/tmp
上尋找一個可讀寫的目錄,下載一個 81c4603681c46036.*
(根據(jù)目標CPU架構(gòu)的不同,有 armv4l
、mips
、i586
、sh4
等不同后綴名。)的蠕蟲文件。10000
和 20000
端口,保證只有一個蠕蟲的主進程在運行。23
端口,防止被別的進程占用(禁止 telnet 服務再次被打開,或者被別的蠕蟲利用弱口令進入)。6745
端口進行登錄驗證。6755
端口,6765
端口)。6765
端口,進行登錄驗證。23/2323
端口是否打開。wget/tftp/echo/printf
程序下載蠕蟲。蠕蟲向主控服務器的 6765
端口發(fā)送特定的 TCP 數(shù)據(jù)包,主控服務器根據(jù)驗證結(jié)果,給蠕蟲下發(fā)驗證結(jié)果。
如果登錄驗證通過,蠕蟲程序會從主控服務器獲取弱口令數(shù)據(jù)。
蠕蟲掃描隨機產(chǎn)生的 IPv4 地址并且嘗試連接它們的 23/2323
端口,如果連接成功,再嘗試使用主控端提供的 300 組密碼進行隨機嘗試。
蠕蟲程序通過 dump 目標設備 busybox 程序的22字節(jié)的 elf 文件頭,來判斷目標設備的 CPU 架構(gòu)。根據(jù)不同的 CPU 架構(gòu),下載不同的蠕蟲程序。
蠕蟲程序在軟件環(huán)境適配方面做了很大的工作,可以適配多種目標設備的軟件環(huán)境。
測試根目錄、/dev
、/etc
、/var
、/var/tmp
目錄的讀寫能力,尋找可以讀寫的目錄。
在目標設備上通過 wget 或 tftp 下載對應設備 CPU 架構(gòu)的蠕蟲,并修改程序的可執(zhí)行權(quán)限,然后運行蠕蟲。
如果目標設備不存在 wget 或 tftp 程序,則通過 echo 或 printf 方式向目標設備推送下載器,然后在目標設備執(zhí)行下載器程序,下載并運行蠕蟲程序。
蠕蟲程序內(nèi)嵌下載器包括了 arm
、mips
、power pc
及 sh架構(gòu)
。
下載器可以通過 HTTP GET 請求的方式從黑客服務器上下載“鯨鯊蠕蟲”執(zhí)行。
蠕蟲的感染子進程會將目標 IP 的攻擊結(jié)果上報給主控服務器。
6755
端口,與主控服務器進行登錄驗證,利用報文校驗值進行認證。蠕蟲向主控服務器的 6755
端口發(fā)送特定的 TCP 數(shù)據(jù)包,主控服務器根據(jù)驗證結(jié)果,給蠕蟲下發(fā)驗證結(jié)果,驗證通過后繼續(xù)后續(xù)流程。
從主控服務器接收要轉(zhuǎn)發(fā)的數(shù)據(jù)及目標 IP 和端口號。
一旦接收到主控服務器發(fā)來的攻擊目標的 IP 和端口號,蠕蟲程序會主動連接目標。
蠕蟲可以將從主控服務器接收到的數(shù)據(jù),發(fā)送到目標IP。
蠕蟲將目標返回的流量數(shù)據(jù)轉(zhuǎn)發(fā)給主控服務器。
根據(jù)以上的分析可以看出,鯨鯊蠕蟲既沒有提供攻擊模塊,也沒有提供擴展組件的下載執(zhí)行,因此對于鯨鯊蠕蟲本身而言,黑客當前的目的并不在于攻擊而是在于利用蠕蟲傳播的手段來搭建一個代理網(wǎng)絡平臺。此外,鯨鯊蠕蟲還會將掃描感染階段的所有設備信息都上傳到主控端,無論是已成功感染還是未成功感染的設備,這樣黑客可以依據(jù)這些信息來制定更有針對性的弱密碼表進行下發(fā),以感染更多的設備。該蠕蟲構(gòu)建的網(wǎng)絡最大的威脅可能在于,被利用來作為惡意攻擊的地下網(wǎng)絡,使得原攻擊者難以被追蹤。