漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-096482
漏洞标题:小蚁摄像头命令执行补丁绕过
相关厂商:上海小蚁科技有限公司
漏洞作者: 路人甲
提交时间:2015-02-10 20:29
修复时间:2015-03-27 20:30
公开时间:2015-03-27 20:30
漏洞类型:命令执行
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-02-10: 细节已通知厂商并且等待厂商处理中
2015-02-13: 厂商已经确认,细节仅向厂商公开
2015-02-23: 细节向核心白帽子及相关领域专家公开
2015-03-05: 细节向普通白帽子公开
2015-03-15: 细节向实习白帽子公开
2015-03-27: 细节向公众公开
简要描述:
事情是这样的,上周在微博上围观了某安全实验室与某厂摄像头的撕逼大战,看了公开的一个老版本漏洞顿时被震惊了啊,所以就想看看人家手里捂着那个漏洞是怎么回事,四处求人无果,正在这时候,摄像头在微博发布了补丁升级,说修改了安全漏洞,这么看来确实是存在漏洞了,狗我就想能不能拿到固件分析补丁来找到漏洞在哪。那知道这一分析被我发现…….呜呜呜…..补丁哪能这么打….醉了。
详细说明:
狗我的摄像头的固件版本是 1.8.5.1B ,新发布的补丁固件版本是1.8.5.1C
首先向办法拿到固件,通过本机架热点的办法抓包发现升级包地址是
http://yi-version.qiniudn.com/@/familymonitor/1.8.5.1C_201514062136home
(1.8.5.1C_201514062136 是全版本号,在app里面看得到)
他在版本后面加了个home,这样也得到了之前固件的地址:
http://yi-version.qiniudn.com/@/familymonitor/1.8.5.1B_201513211614home
ok,就拿这俩分析下吧:
先用firmware-mod-kit解开固件,发现里面修改的文件还比较多,本狗用周末抽空分析比较了这些文件,发现一个可疑修改点,在goolink文件中,新版本的文件中对这个haystack做了过滤,过滤了字符串 telnet,reboot,和字符 | & ; > < 空格等 (想不通为啥要过滤telnet和reboot啊,醉了)
还要求包含字符串 http://yi-version.qiniudn.com/@/familymonitor/
等等,这不是下载固件那个网址么,
然后在后面将这个字符串拼接命令并执行,
到这里应该就很明确了,这个命令执行漏洞就在摄像头固件的升级的地方,通过在固件url中注入命令实现命令执行。
不过。。。。这补丁也太草率了,看本狗怎么绕它
漏洞证明:
首先的问题是怎么篡改url,本狗采用的办法是劫持篡改app版本查询接口的返回结果。
再来个清晰的图
(反引号)
Wireshark 抓包就能看到执行结果
Whoami返回结果root
不过限制了url长度,想想我能干什么 ….halt…rm\t-rf\t/……?
而且,这个地方这个字符串会在通过命令在三个程序中传递 goolink->getLoadFile->cloudAPI,就意味着会进行两次shell解析虽然限制比较大,但还是有非常大的想象空间的。
修复方案:
不能这样过滤啊,过滤telnet,reboot算什么事啊。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:9
确认时间:2015-02-13 21:03
厂商回复:
非常感谢这位白帽子以及所有关心这个漏洞的热心人对小蚁科技的关注!
正如这位白帽子所言,这个漏洞实际上就是之前的一个漏洞的延续。我们的工程师在修复漏洞时思考的不够全面,导致了补丁没有完全生效。
这个漏洞本质上是手机所在的网络被劫持导致的,但是考虑到
1,手机用户处于一个非常分散的网络环境中,因此很难出现大量的连接摄像头的手机被劫持的可能性;
2,因为摄像头本身做了一些限制,因此无法利用这个漏洞获取用户的视频和音频,也无法获取用户的wifi密码信息;
3,摄像头仅在做升级操作时,才有可能引发此漏洞,正常使用中是无法利用这个漏洞的;即使升级时,被人利用这个漏洞恶意的注入了指令,导致摄像头异常,也可以通过手动升级对摄像头进行修复。
因此我们认为这个是一个在非常特定的场合下才会出现的漏洞,对极个别的用户可能会造成一定的影响。
谢谢大家的关注!再次感谢这位热心的白帽子!
最新状态:
暂无