频道栏目
首页 > 安全 > 杀毒防毒 > 正文

针对路由器的MIPS架构Linux木马详解

2015-12-09 10:06:46         来源:腾讯电脑管家  
收藏   我要投稿

因为Windows操作系统大多安装在个人用户的电脑上,而Linux系统则在服务器上应用较多,所以Linux系统上的木马相对Windows系统较少。又因MIPS架构的应用局限性,所以MIPS架构上的Linux木马更是少之又少。

近日哈勃分析平台发现了一批针对路由器的MIPS架构Linux木马。木马使用者首先尝试利用漏洞等方式,入侵用户路由器,然后在路由器中植入此木马。被植入木马的路由器就变成了“肉鸡”,可以接受远程服务器的控制命令,对指定网络IP发起DDoS攻击。 

一. 基本信息

文件格式:ELF
系统平台:MIPS 32位系统

二. 危害简介

接受远程指令,进行flooding攻击。

 

三. 简要分析

MIPS api调用方式说明:

syscall的参数是一个api序列号,此样本中没有使用动态链接库的方式调用系统api,都是使用下述方式自己封装的,后续分析不再赘述。

 

4170查表可得是connect函数。

 

 

1. 获取IP地址和路由表信息

先发起一个向google的连接。

 

调用getsockname获取本地IP地址,并保存。

 

连接建立后读/proc/net/route中的连接信息,拿到路由表信息。

 

 

2. 通过ioctl获取mac地址

依靠ioctl 命令字SIOCGIFHWADDR获取mac地址。

 

 

3. 连接黑客远程服务器

 

远程服务器地址为:

 

 

4. 接受和预处理远程服务器的命令

接受远程服务器的信息。

 

进行字符串切分等预处理。

 

 

5. 最终的远程服务器命令字处理

a. PING: 远程服务器ping本地,检测连接是否有效。


 

本地处理:本地向远程服务器发送“PONG”作为回应。

 

b. GETLOCALIP:远程服务器要求本地上传IP。


 

本地处理:上传之前获取的IP地址。

 

c. Source : Source命令字负责向本地客户端传递被攻击的IP地址,调用atoi从字符串中转出目标IP。


 

本地处理:进行攻击,回传flooding信息。

 

d. SUDP : 设置flooding攻击方式


 

本地处理:如上图所示,根据是否接受到SUDP命令字,选择tcp和udp两种攻击方式。
其中udp的攻击方式会fork子进程,根据服务器传来的时间sleep,然后去调用sendto向目标发送数据进行flooding。

 

e. SYN : 使用TCP syn flooding的命令字(SUDP方式此命令字无效)


 

本地处理:进入入发送syn的分支。tcp攻击方式,创建SOCK_RAW的socket,将socket设置为IPPROTO_IP层传输。


 

自己填充IP头部。


 

计算tcp校验和。


 

最终发送这个数据包的方式和udp flooding是一致的。

f. KILLATTK:停止flooding攻击。


 

本地处理:flooding攻击都是采用fork子进程的方式,所以停止攻击就是杀掉fork出来的子进程。


 

向远程服务器发送成功杀掉子进程,停止flooding攻击的信息。

 

g. LOLNOGTFO:远程服务器由于没有拿到相应的回传数据或者停止攻击之后要求木马客户端恢复初始状态。


 

本地处理:若攻击子进程已经被杀掉了,拿到LOLNOGTFO重置初始状态,如果拿到的不是LOLNOGTFO,则说明木马客户端和远程服务器通信出现错误,木马客户端进程直接退掉。

相关TAG标签 路由器 架构 木马
上一篇:化险为夷:QQ音乐“虫洞”历险记
下一篇:来自地狱犬的追踪:深度分析Labrador病毒
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站