标签:
之前接到的一个智能设备上发现的样本,抓捕非常不易,由于该样本是sh4指令集的遂记录一番。
样本运行之后首先进行一些初始化,
首先调用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用于处理来自服务端的命令。
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
用于停止样本。
标签:
原文地址:http://www.cnblogs.com/goabout2/p/5217976.html