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

路人甲 2015-11-17 14:24:00

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

0x00 背景


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

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


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

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

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

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

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

评论

野驴 2015-11-17 21:43:07

孙子进程:)

S

Sakura丶小樱 2015-11-20 20:41:03

然并卵系列=。=

路人甲

真正的路人甲.

twitter weibo github wechat

随机分类

浏览器安全 文章:36 篇
PHP安全 文章:45 篇
企业安全 文章:40 篇
APT 文章:6 篇
memcache安全 文章:1 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

0

0x0dee

标题写错了,是ASX to MP3 3.1.3.7 - '.m3u' Local

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

H

HHHeey

好的,谢谢师傅的解答

Article_kelp

a类中的变量secret_class_var = "secret"是在merge

目录