10

Redis漏洞攻击植入木马逆向分析 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Redis漏洞攻击植入木马逆向分析

作者:梦特(阿里云云盾安全攻防对抗团队)

0x00 背景


2015年11月10日,阿里云安全团队捕获到黑客大规模利用Redis漏洞的行为,获取机器root权限,并植入木马进行控制,异地登录来自IP:104.219.xxx.xxx(异地登录会有报警)。由于该漏洞危害严重,因此阿里云安全团队在2015年11月11日,短信电话联系用户修复Redis高危漏洞,2015年11月14日,云盾系统检测到部分受该漏洞影响沦为肉鸡的机器进行DDOS攻击,发现后云盾系统已自动通知用户。

0x01 木马控制协议逆向分析


分析发现木马作者,有2个控制协议未完成。

  • Connect协议有处理函数,但没有功能,函数地址为0x8048545。

  • sniffsniff协议没有对应的处理函数,作者未实现该功能。

    完全逆向分析后得到控制协议如下表:

协议 协议格式 分析描述
kill kill 结束自身进程
dlexec dlexec IP filepath port 在指定IP下载文件并执行
qweebotkiller qweebotkiller 遍历进程PID为0到65535,查找对应文件,若匹配特征EXPORT %s:%s:%s,则删除文件
system system cmdline 调用系统的/bin/sh执行shell脚本
connect connect ips arg2 arg3 arg4 有处理函数,但作者把connect的功能给阉割了,并没有去实现connect协议的功能,因此我们只分析出协议1个参数的意议,另外3个参数不知道意义。
icmp icmp IPs attacktime PacketLen 发动icmp协议攻击
tcp tcp ips port attacktime flags packetlen 发动TCP的(fin,syn,rst,psh,ack,urg)DDOS攻击,攻击时间为秒。
udp udp ips port attacktime packetlen 发动UDP攻击。
sniffsniff sniffsniff 这个协议木马并没有实现功能。
  • 协议完成逆向后,我们用Python写了一个控制端,并实现全部协议控制木马,如下图:

0x02 木马概述


从逆向得到的协议分析可以发现,该木马的功能主要包括:

  • 发动DDoS攻击(ICMP、UDP、TCP)
  • 远程执行命令
  • 远程下载文件执行
  • 清除其他后门文件

文件MD5:9101E2250ACFA8A53066C5FCB06F9848

进程操作

  • 木马启动,木马接受1个参数,参数为要kill的进程PID。函数地址为0x8049C77.

  • 木马会启动一个孙子进程执行木马功能,然后当前进程退出。

文件操作

  • 暴力关闭文件,关闭0到0xFFFF的文件,调用系统调用sys_close(),函数地址为0x8049C77。

  • 自我删除,调用系统调用sys_readlink()读取/proc/self/exe获取文件路径,sys_unlink()进行删除,处理函数地址为0x80494F3。

网络操作

  • 连接8.8.8.8的53端口,探测网络是否连接到Internet,处理函数地址为0x8049B90。

  • 连接木马控制端37.xxx.xxx.x的53端口,处理函数地址为0x8049C77。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK