亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

Mirai物聯(lián)網(wǎng)僵尸攻擊深度解析

美國(guó)大面積的網(wǎng)絡(luò)癱瘓事件

2016年10月21日,美國(guó)東海岸地區(qū)遭受大面積網(wǎng)絡(luò)癱瘓,其原因?yàn)槊绹?guó)域名解析服務(wù)提供商Dyn公司當(dāng)天受到強(qiáng)力的DDoS攻擊所致。Dyn公司稱此次DDoS攻擊涉及千萬級(jí)別的IP地址(攻擊中UDP/DNS攻擊源IP幾乎皆為偽造IP,因此此數(shù)量不代表僵尸數(shù)量),其中部分重要的攻擊來源于IOT設(shè)備,攻擊活動(dòng)從上午7:00(美國(guó)東部時(shí)間)開始,直到下午1:00才得以緩解,黑客發(fā)動(dòng)了三次大規(guī)模攻擊,但是第三次攻擊被緩解未對(duì)網(wǎng)絡(luò)訪問造成明顯影響。

此次攻擊是一次跨越多個(gè)攻擊向量以及互聯(lián)網(wǎng)位置的復(fù)雜攻擊,F(xiàn)lashpoint與Akamai的分析確認(rèn)攻擊流量的來源之一是感染了Mirai僵尸的設(shè)備,因?yàn)椴糠蛛x散攻擊IP地址來自Mirai僵尸網(wǎng)絡(luò)。

Mirai僵尸在黑客Anna-senpai公布源碼后,被黑客利用并快速的形成了大量的僵尸網(wǎng)絡(luò),其中部分黑客參與了此次攻擊,目前不排除黑客Anna-senpai也參與了本次攻擊,其擁有大概30萬-40萬的Mirai僵尸肉雞。

啟明星辰ADLab分析發(fā)現(xiàn),Mirai僵尸借鑒了QBOT的部分技術(shù),并在掃描技術(shù)、感染技術(shù)等方面做了優(yōu)化,大大提升了感染速度。

Mirai僵尸重要事件回溯

此次針對(duì)Dyn域名服務(wù)器的攻擊讓古老的DDoS技術(shù)再一次震撼了互聯(lián)網(wǎng),其中最引人注目是物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)的參與,物聯(lián)網(wǎng)概念流行了近7年,大量的智能設(shè)備正不斷地接入了互聯(lián)網(wǎng),其安全脆弱性、封閉性等特點(diǎn)成為黑客爭(zhēng)相奪取的資源。目前已經(jīng)存在大量針對(duì)物聯(lián)網(wǎng)的僵尸網(wǎng)絡(luò),如QBOT、Luabot、Bashlight、Zollard、Remaiten、KTN-RM等等,并且越來越多的傳統(tǒng)僵尸也開始加入到這個(gè)物聯(lián)網(wǎng)行列中。

通過啟明星辰ADLab的調(diào)查分析,Mirai僵尸網(wǎng)絡(luò)有兩次攻擊史,其中一次是針對(duì)安全新聞工作者Brian Krebs的網(wǎng)站,攻擊流量達(dá)到665Gbps。

Brian

另一次是針對(duì)法國(guó)網(wǎng)站主機(jī)OVH的攻擊,其攻擊流量達(dá)到1.1Tbps,打破了DDoS攻擊流量歷史記錄。

2016年9月30日,黑客Anna-senpai公開發(fā)布Mirai僵尸源碼。其公布源碼的目的一則是發(fā)現(xiàn)有關(guān)機(jī)構(gòu)正在清理其掌控的僵尸設(shè)備;二則是為了讓更多的黑客使用該僵尸進(jìn)行擴(kuò)散,掩人耳目,隱藏自己的蹤跡。

OVH

Mirai僵尸重要事件回顧

1.2016年8月31日,逆向分析人員在malwaremustdie博客上公布mirai僵尸程序詳細(xì)逆向分析報(bào)告,此舉公布的C&C而惹怒黑客Anna-senpai。
2.2016年9月20日,著名的安全新聞工作者Brian Krebs的網(wǎng)站KrebsOnSecurity.com受到大規(guī)模的DDOS攻擊,其攻擊峰值達(dá)到665Gbps,Brian Krebs推測(cè)此次攻擊由Mirai僵尸發(fā)動(dòng)。
3.2016年9月20日,Mirai針對(duì)法國(guó)網(wǎng)站主機(jī)OVH的攻擊突破DDoS攻擊記錄,其攻擊量達(dá)到1.1Tpbs,最大達(dá)到1.5Tpbs4.2016年9月30日,Anna-senpai在hackforums論壇公布mirai源碼,并且嘲笑之前逆向分析人員的錯(cuò)誤分析。
5.2016年10月21日,美國(guó)域名服務(wù)商Dyn遭受大規(guī)模DDoS攻擊,其中重要的攻擊源確認(rèn)來自于Mirai僵尸。

在2016年10月初,Imperva Incapsula的研究人員通過調(diào)查到的49,657個(gè)感染設(shè)備源分析發(fā)現(xiàn),其中主要感染設(shè)備有CCTV攝像頭、DVRs以及路由器。根據(jù)這些調(diào)查的設(shè)備IP地址發(fā)現(xiàn)其感染范圍跨越了164個(gè)國(guó)家或地區(qū),其中感染量最多的是越南、巴西、美國(guó)、中國(guó)大陸和墨西哥。

地區(qū)分布

直到2016年10月26日,我們通過Mirai特征搜索shodan發(fā)現(xiàn),當(dāng)前全球感染Mirai的設(shè)備已經(jīng)超過100萬臺(tái),其中美國(guó)感染設(shè)備有418,592臺(tái),中國(guó)大陸有145,778臺(tái),澳大利亞94,912臺(tái),日本和中國(guó)香港分別為47,198和44,386臺(tái)。

分布

在該地圖中顏色越深,代表感染的設(shè)備越多,可以看出感染Mirai最多的幾個(gè)國(guó)家有美國(guó)、中國(guó)和澳大利亞。

Mirai源碼分析Mirai源碼是2016年9月30日由黑客Anna-senpai在論壇上公布,其公布在github上的源碼被star了2538次,被fork了1371次。

Mirai通過掃描網(wǎng)絡(luò)中的Telnet等服務(wù)來進(jìn)行傳播,實(shí)際感染到設(shè)備bot并不充當(dāng)感染角色,其感染通過黑客配置服務(wù)來實(shí)施,這個(gè)服務(wù)被稱為L(zhǎng)oad。黑客的另外一個(gè)服務(wù)器C&C服務(wù)主要用于下發(fā)控制指令,對(duì)目標(biāo)進(jìn)行實(shí)施攻擊。

通過我們對(duì)僵尸源碼的分析發(fā)現(xiàn),該僵尸具備如下特點(diǎn):

(1)黑客服務(wù)端實(shí)施感染,而非僵尸自己實(shí)施感染。

(2)采用高級(jí)SYN掃描,掃描速度提升30倍以上,提高了感染速度。

(3)強(qiáng)制清除其他主流的IOT僵尸程序,干掉競(jìng)爭(zhēng)對(duì)手,獨(dú)占資源。比如清除QBOT、Zollard、Remaiten Bot、anime Bot以及其他僵尸。

(4)一旦通過Telnet服務(wù)進(jìn)入,便強(qiáng)制關(guān)閉Telnet服務(wù),以及其他入口如:SSH和web入口,并且占用服務(wù)端口防止這些服務(wù)復(fù)活。

(5)過濾掉通用電氣公司、惠普公司、美國(guó)國(guó)家郵政局、國(guó)防部等公司和機(jī)構(gòu)的IP,防止無效感染。

(6)獨(dú)特的GRE協(xié)議洪水攻擊,加大了攻擊力度。

Mirai感染示意圖:

Mirai感染示意圖

上圖簡(jiǎn)單顯示了Mirai僵尸的感染過程,與普通僵尸感染不同的是,其感染端是通過黑客服務(wù)端實(shí)施的,而不是靠bot來實(shí)施感染。

感染到設(shè)備端的 bot程序通過隨機(jī)策略掃描互聯(lián)網(wǎng)上的設(shè)備,并會(huì)將成功猜解的設(shè)備用戶名、密碼、IP地址,端口信息以一定格式上傳給sanListen,sanLiten解析這些信息后交由Load模塊來處理,Load通過這些信息來登錄相關(guān)設(shè)備對(duì)設(shè)備實(shí)施感染,感染方式有echo方式、wget方式和tftp方式。這三種方式都會(huì)向目標(biāo)設(shè)備推送一個(gè)具有下載功能的微型模塊,這個(gè)模塊被傳給目標(biāo)設(shè)備后,命名為dvrHelper。最后,dvrHelper遠(yuǎn)程下載bot執(zhí)行,bot再次實(shí)施Telnet掃描并進(jìn)行密猜解,由此周而復(fù)始的在網(wǎng)絡(luò)中擴(kuò)散。這種感染方式是極為有效的,Anna-senpai曾經(jīng)每秒會(huì)得到500個(gè)成功爆破的結(jié)果。

一、bot分析

bot是mirai僵尸的攻擊模塊,其主要實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)服務(wù)設(shè)備(掃描過程不只針對(duì)IOT設(shè)備,只要開啟Telnet服務(wù)的網(wǎng)絡(luò)設(shè)備均不會(huì)放過)的Telnet服務(wù)的掃描并嘗試進(jìn)行暴力破解,其會(huì)將成功破解的設(shè)備ip地址、端口、用戶名、密碼等信息發(fā)送給黑客配置的服務(wù)器。并且同時(shí)接收C&C服務(wù)器的控制命令對(duì)目標(biāo)發(fā)動(dòng)攻擊。

1、IOT設(shè)備防重啟

由于Mirai的攻擊目標(biāo)主要設(shè)計(jì)來針對(duì)IOT設(shè)備,因此其無法將自身寫入到設(shè)備固件中,只能存在于內(nèi)存中。所以一旦設(shè)備重啟,Mirai的bot程序就會(huì)消失。為了防止設(shè)備重啟,Mirai向看門狗發(fā)送控制碼0x80045704來禁用看門狗功能。

IOT

通常在嵌入式設(shè)備中,固件會(huì)實(shí)現(xiàn)一種叫看門狗(watchdog)的功能,有一個(gè)進(jìn)程會(huì)不斷的向看門狗進(jìn)程發(fā)送一個(gè)字節(jié)數(shù)據(jù),這個(gè)過程叫喂狗。如果喂狗過程結(jié)束,那么設(shè)備就會(huì)重啟,因此為了防止設(shè)備重啟,Mirai關(guān)閉了看門狗功能。這種技術(shù)常常被廣泛應(yīng)用于嵌入式設(shè)備的攻擊中,比如曾經(jīng)的海康威視漏洞(CVE-2014-4880)攻擊代碼中就采用過這種防重啟技術(shù)。

這里有個(gè)小插曲,2016年8月31日,一位逆向分析人員將此代碼判定錯(cuò)誤,認(rèn)為這是為了做延時(shí)而用,黑客Anna-senpai在Hackforums論壇公布源碼時(shí)嘲笑并斥責(zé)了該逆向分析人員的錯(cuò)誤。

2、進(jìn)程名隱藏

Mirai為了防止進(jìn)程名被暴露,在一定程度上做了隱藏,雖然這種隱藏并不能起到很好的作用。Mirai的具體做法是將字符串進(jìn)行了隨機(jī)化。

隨機(jī)名

3、防止多實(shí)例運(yùn)行

Mirai同大多數(shù)惡意代碼一樣,需要一種互斥機(jī)制防止同一個(gè)設(shè)備多個(gè)實(shí)例運(yùn)行。但Mirai采用的手段有所不同,其通過開啟48101端口來防止多個(gè)實(shí)例運(yùn)行,具體做法是通過綁定和監(jiān)聽此端口,如果失敗,便會(huì)關(guān)閉已經(jīng)開啟此端口的進(jìn)程確保只有一個(gè)實(shí)例運(yùn)行。這個(gè)特點(diǎn)是檢測(cè)網(wǎng)絡(luò)設(shè)備中是否存在Mirai的最高效的檢測(cè)方法。

監(jiān)聽

4、重綁定技術(shù)防止外來者搶占資源

Mirai有一個(gè)特點(diǎn)就是具有排他性,設(shè)備一旦感染,其會(huì)通過端口來關(guān)閉Telnet(23)、SSH(22,編譯時(shí)可選刪除項(xiàng))、HTTP(80,編譯時(shí)可選刪除項(xiàng))服務(wù)并且會(huì)阻止這些服務(wù)進(jìn)行重啟,其主要實(shí)現(xiàn)方法是通過kill強(qiáng)制關(guān)閉這三個(gè)服務(wù)進(jìn)程,并強(qiáng)行占用這些服務(wù)開啟時(shí)所需要的端口。此舉Mirai既可以防止設(shè)備被其他惡意軟件感染,也可以防止安全人員從外部訪問該設(shè)備,提高M(jìn)irai的取證難度。此功能實(shí)現(xiàn)在killer.c文件中。

Telnet服務(wù)的重綁定實(shí)現(xiàn)如下圖,SSH和HTTP服務(wù)采用類似的方式實(shí)現(xiàn)。

ssh

SSH服務(wù)的重綁定實(shí)現(xiàn):

ssh進(jìn)程

HTTP服務(wù)的重綁定實(shí)現(xiàn):

http服務(wù)

通過對(duì)實(shí)際樣本的分析我們發(fā)現(xiàn),大部分黑客并沒有對(duì)SSH和HTTP進(jìn)行重綁定操作,絕大部分都只針對(duì)于Telnet服務(wù)進(jìn)行了重綁定。

5、干掉競(jìng)爭(zhēng)對(duì)手,獨(dú)占資源

Mirai會(huì)通過一種 memory scraping的技術(shù)干掉設(shè)備中的其他惡意軟件,其具體做法是搜索內(nèi)存中是否存在QBOT特征、UPX特征、Zollard蠕蟲特征、Remaiten bot特征來干掉對(duì)手,以達(dá)到獨(dú)占資源的目的。

zollard

此外,Mirai如果發(fā)現(xiàn)anime惡意軟件,同樣也會(huì)強(qiáng)行干掉它。

anime

6、可感染設(shè)備探測(cè)

Mirai僵尸隨機(jī)掃描網(wǎng)絡(luò)中IOT設(shè)備的Telnet服務(wù)并通過預(yù)植的用戶名密碼進(jìn)行暴力破解,然后將掃描得到的設(shè)備IP地址、端口、設(shè)備處理器架構(gòu)等信息回傳給Load服務(wù)器。這里要注意的是,Mirai的隨機(jī)掃描是有一個(gè)過濾條件的,其中比較有意思就是他會(huì)過濾掉通用電氣公司、惠普公司、美國(guó)國(guó)家郵政局、國(guó)防部等公司和機(jī)構(gòu)的IP地址。

可感染

Mirai僵尸中內(nèi)置有60余個(gè)用戶名和密碼,其中內(nèi)置的用戶名和密碼是加密處理過的,加密算法是通過簡(jiǎn)單的單字節(jié)多次異或?qū)崿F(xiàn),其密鑰為0xDEADBEEF, 解密密鑰為0xEFBEADDE。

密鑰

Mirai使用高級(jí)SYN掃描技術(shù)對(duì)網(wǎng)絡(luò)中的設(shè)備進(jìn)行掃描破解,其速度僵尸程序QBOT所采用的掃描技術(shù)快80倍,資源消耗減少至少達(dá)20倍。因此具備強(qiáng)大的掃描感染能力,黑客在收集肉雞過程中,曾經(jīng)每秒可新增500個(gè)IOT設(shè)備。

Telnet服務(wù)掃描實(shí)現(xiàn)如下:

Telnet

當(dāng)Mirai掃描到Telnet服務(wù)時(shí),會(huì)連接Telnet并進(jìn)行暴力登錄嘗試。Mirai首先會(huì)使用內(nèi)置的用戶名和密碼嘗試登錄,之后通過發(fā)送一系列命令來判定登錄成功與否。如果成功則試圖進(jìn)行一些操作,比如開啟shell等操作,其發(fā)送的命令被初始化在一個(gè)Table中,如下表所示:

命令操作類型 Index 有效? 功能描述
TABLE_SCAN_CB_DOMAIN 18 yes domain to connect to
TABLE_SCAN_CB_PORT 19 yes Port to connect to
TABLE_SCAN_SHELL 20 yes ‘shell’ to enable shell access
TABLE_SCAN_ENABLE 21 yes ‘enable’ to enable shell access
TABLE_SCAN_SYSTEM 22 yes ‘system’ to enable shell access
TABLE_SCAN_SH 23 yes ‘sh’ to enable shell access
TABLE_SCAN_QUERY 24 yes echo hex string to verify login
TABLE_SCAN_RESP 25 yes utf8 version of query string
TABLE_SCAN_NCORRECT 26 yes ‘ncorrect’ to fast-check for invalid password
TABLE_SCAN_PS 27 no “/bin/busybox ps”
TABLE_SCAN_KILL_9 28 no “/bin/busybox kill -9 “

以上表格中只有TABLE_SCAN_PS和TABLE_SCAN_KILL_9進(jìn)行了初始化而未對(duì)目標(biāo)設(shè)備進(jìn)行預(yù)執(zhí)行操作。從20到26的操作均是在發(fā)送用戶名和密碼后的登錄驗(yàn)證操作。其中TABLE_SCAN_CB_DOMAIN和TABLE_SCAN_CB_PORT為黑客配置的Load服務(wù)器,該服務(wù)器用于獲取有效的Telnet掃描結(jié)果,掃描結(jié)果中包含IP地址、端口、Telnet用戶名和密碼等信息。發(fā)送信息的格式如下:

zero(1個(gè)字節(jié)) IP地址(4bytes) 端口(2bytes) 用戶名長(zhǎng)度(4bytes) 用戶名(muti-bytes) 密碼長(zhǎng)度(4bytes) 密碼(muti-bytes)

7、連接C&C,等候發(fā)動(dòng)攻擊

Mirai的攻擊類型包含UDP攻擊、TCP攻擊、HTTP攻擊以及新型的GRE攻擊。其中,GRE攻擊就是著名安全新聞工作者Brian Krebs的網(wǎng)站KrebsOnSecurity.com遭受的主力攻擊形式,攻擊的初始化代碼如下:

UDP

C&C會(huì)被初始化在一張表中,當(dāng)Mirai回連C&C時(shí),會(huì)從表中取出C&C進(jìn)行連接。

C&C

連接C&C成功后,Mirai會(huì)進(jìn)行上線,其上線過程非常簡(jiǎn)單,自身簡(jiǎn)單向C&C發(fā)送4個(gè)字節(jié)的0。

上線

接下來會(huì)等候C&C的控制命令,司機(jī)對(duì)目標(biāo)發(fā)動(dòng)攻擊。對(duì)于接受控制命令處做了一些處理,比如首先會(huì)進(jìn)行試讀來做預(yù)處理(控制指令長(zhǎng)度判定等等),最后才會(huì)接受完整的控制命令。

當(dāng)接受到控制命令后,Mirai對(duì)控制命令做解析并且執(zhí)行。控制命令格式如下:

type Attackstruct {

Duration???uint32

Type???????uint8

Targets????map[uint32]uint8??? //Prefix/netmask

Flags??????map[uint8]string??? // key=value

}

其中,前4個(gè)字節(jié)為攻擊時(shí)長(zhǎng),接下來的4個(gè)字節(jié)為攻擊類型(攻擊ID),然后是攻擊目標(biāo),攻擊目標(biāo)格式如下:

目標(biāo)數(shù)(4個(gè)字節(jié)) IP地址(4個(gè)字節(jié)) MASK(一個(gè)字節(jié)) IP地址(4個(gè)字節(jié)) MASK(一個(gè)字節(jié)) IP地址….MASK…

最后是Flags,F(xiàn)lag是一系列的鍵值對(duì)數(shù)據(jù),結(jié)構(gòu)類似于攻擊目標(biāo)的格式。下面列出Mirai僵尸網(wǎng)絡(luò)攻擊功能列表。

攻擊類型(32位) 類型值 攻擊函數(shù)
ATK_VEC_UDP 0 attack_udp_generic
ATK_VEC_VSE 1 attack_udp_vse
ATK_VEC_DNS 2 attack_udp_dns
ATK_VEC_UDP_PLAIN 9 attack_udp_plain
ATK_VEC_SYN 3 attack_tcp_syn
ATK_VEC_ACK 4 attack_tcp_ack
ATK_VEC_STOMP 5 attack_tcp_stomp
ATK_VEC_GREIP 6 attack_gre_ip
ATK_VEC_GREETH 7 attack_gre_eth
ATK_VEC_PROXY 8 attack_app_proxy(已經(jīng)被取消)
ATK_VEC_HTTP 10 attack_app_http

這其中的GRE攻擊也就是2016年。

二、scanListen分析

ScanListen主要用于處理Bot掃描得到的設(shè)備信息(ip、端口、用戶名、密碼),并將其轉(zhuǎn)化為如下格式后將其輸入給Load處理。

scanListen

三、Load分析

Load模塊的主要功能是處理scanListen的輸入并將其解析后針對(duì)每個(gè)設(shè)備實(shí)施感染。其感染實(shí)現(xiàn)方法如下:

(1)首先通過Telnet登陸目標(biāo)設(shè)備。

(2)登陸成功后,嘗試運(yùn)行命令/bin/busybox ps來確認(rèn)是否可以執(zhí)行busybox命令。

busybox

(3)遠(yuǎn)程執(zhí)行/bin/busybox cat /proc/mounts;用于發(fā)現(xiàn)可讀寫的目錄。

mounts

(4)如果發(fā)現(xiàn)可用于讀寫的文件目錄,進(jìn)入該目錄并將/bin/echo拷貝到該目錄,文件更名為dvrHelpler,并開啟所有用戶的讀寫執(zhí)行權(quán)限。

dvrHelpler

(5)接下來通過執(zhí)行命令”/bin/busybox cat /bin/echo\r\n”來獲取當(dāng)前設(shè)備架構(gòu)信息。

busybox cat

(6)如果獲取架構(gòu)信息成功,樣本試圖通過三種方式對(duì)設(shè)備進(jìn)行感染,這三種方式分別為echo方式、wget方式、tftp方式。

wget

(7)接下來通過Telnet遠(yuǎn)程執(zhí)行下放的程序。

Telnet2

(8)最后遠(yuǎn)程刪除bot程序。

bot

總 結(jié)
僵尸網(wǎng)絡(luò)已成為全球面臨的共同問題,其攻擊不同于其他以竊密、遠(yuǎn)控控制為主的惡意代碼,其通過掌握著的巨型僵尸網(wǎng)絡(luò)可以在任何時(shí)候?qū)θ魏文繕?biāo)發(fā)動(dòng)DDoS攻擊。僵尸的感染對(duì)象已經(jīng)從服務(wù)器、PC、智能手機(jī),擴(kuò)展向攝像頭、路由器、家居安防系統(tǒng)、智能電視、智能穿戴設(shè)備,甚至是嬰兒監(jiān)視器,任何互聯(lián)網(wǎng)連接的設(shè)備都可能成為一個(gè)潛在的目標(biāo)。而一般用戶是很難注意到被感染的狀況的。Mirai僵尸由于源碼的開放可能正在迅速的擴(kuò)散,其攻擊的流量特征也可能快速變化而難以監(jiān)測(cè)。由于受感染目標(biāo)多以IOT設(shè)備為主,所有的密碼均固化在固件中,因此即便重啟后Mirai從內(nèi)存中消失也無法杜絕二次感染,并且隱藏在這種嵌入式設(shè)備中是極難判定其是否受到惡意感染。

緩解措施:

(1)如果感染Mirai,請(qǐng)重啟設(shè)備,并且請(qǐng)求設(shè)備廠商更新固件剔除Telnet服務(wù)。

(2)不必要聯(lián)網(wǎng)的設(shè)備盡量不要接入到互聯(lián)網(wǎng)中。

(3)通過端口掃描工具探測(cè)自己的設(shè)備是否開啟了SSH (22), Telnet (23)、 HTTP/HTTPS (80/443)服務(wù),如果開啟,請(qǐng)通知技術(shù)人員禁用這些服務(wù)。

來源:?jiǎn)⒚餍浅紸Dlabs

上一篇:被盜的iPhone是如何一步步被黑客解鎖的

下一篇:關(guān)于mirai僵尸網(wǎng)絡(luò)控制主機(jī)的數(shù)據(jù)分析