某智能设备的样本分析

之前接到的一个智能设备上发现的样本,抓捕非常不易,由于该样本是sh4指令集的遂记录一番。

样本运行之后首先进行一些初始化,

Main函数

首先调用getIp,在该函数中完成网络测试,获取本地ip,mac,和路由表,具体如下:

通过函数getsockname获取ip。

 

通过读取/proc/net/route文件,获取本地的路由表。

 

通过函数ioctl获取本地mac。

 

之后会通过函数initConnection尝试连接服务器,此处如果连接不成功话会一直尝试。

   

此处为远端的服务器地址104.255.65.207,端口为42。

 

此处为一个美国ip。

 

尝试登录,发现ftp可以登陆。

 

该php实现对样本的反馈的控制,如下面的DUP,LOLNOGTFO指令的处理。

 

之后会接受来自服务器的返回值。

 

在main函数中会处理部分指令ping,pong(见processcmd中的指令),此处介绍main特有的指令。

DUP

当为该指令是,样本会退出。

 

Processcmd

之后调用函数processcmd用于处理来自服务端的命令。

 

PING

ping命令,通过解析服务器返回的数据中是否包含ping,如果包含则通过函数sockprintf返回一个带pong的数据包。

 

GETLOCALIP

当解析到服务器返回的数据中包含该命令时,样本会返回本地的ip。

 

SCANNER

该命令是一个带参数的命令,含有两个参数OFF|ON,通过该功能可以实现改功能的开启和关闭。

 

当附加参数为OFF时,样本关闭。

 

当附加参数为ON时,会调用函数StartTheLelz,该函数为一个大循环(函数比较复杂),猜测是内网的一个扫描(结合解析出的大量弱口令)。

 

Ddos系列的指令

HOLD,JUNK,TCP,UDP实现四种不同的ddos攻击。如下图中的为HOLD的ddos。

 

KILLATTACK

该指令用于停止ddos攻击,简单来说就是stop ddos对应的进程。

LOLNOGTFO

用于停止样本。

posted @ 2016-02-25 18:19  goabout2  阅读(369)  评论(0编辑  收藏  举报