【高危预警】Samba远程代码执行漏洞(CVE-2017-7494)分析

阅读量349057

|

发布时间 : 2017-05-25 15:18:12

http://p5.qhimg.com/t011e22a7cb40237dfa.jpg

作者: cyg07 && redrain

概述

Samba是在Linux和UNIX系统上实现SMB协议的一个软件。2017年5月24日Samba发布了4.6.4版本,中间修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本。360网络安全中心 和 360信息安全部的Gear Team第一时间对该漏洞进行了分析,确认属于严重漏洞,可以造成远程代码执行。


漏洞简述

漏洞编号:CVE-2017-7494

危害等级:严重

影响版本:Samba 3.5.0 和包括4.6.4/4.5.10/4.4.14中间版本

漏洞描述:2017年5月24日Samba发布了4.6.4版本,修复了一个严重的远程代码执行漏洞,该漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本。

技术分析

如官方所描述,该漏洞只需要通过一个可写入的Samba用户权限就可以提权到samba所在服务器的root权限(samba默认是root用户执行的)。

从Patch来看的话,is_known_pipename函数的pipename中存在路径符号会有问题:

http://p7.qhimg.com/t01f2c9deafb91b742f.png

再延伸下smb_probe_module函数中就会形成公告里说的加载攻击者上传的dll来任意执行代码了:

具体攻击过程:

构造一个有’/’ 符号的管道名或路径名,如 “/home/toor/cyg07.so”

通过smb的协议主动让服务器smb返回该FID

后续直接请求这个FID就进入上面所说的恶意流程

具体攻击结果如下:

1.尝试加载 “/home/toor/cyg07.so” 恶意so

http://p6.qhimg.com/t01089d1b0ac140ffd5.png

2.其中so 代码如下(加载时会调用 samba_init_module 导出函数)

http://p5.qhimg.com/t011b1f8dece98aef04.png

3.最后我们可以在/tmp/360sec中看到实际的执行权限(带root权限)

http://p1.qhimg.com/t01e7b7576e57263daa.png

PoC

暂不公开

解决方案

360网络安全响应中心和360信息安全部建议使用受影响版本的用户立即通过以下方式来进行安全更新操作,

1.使用源码安装的Samba用户,请尽快下载最新的Samba版本手动更新;

2.使用二进制分发包(RPM等方式)的用户立即进行yum,apt-get update等安全更新操作;


缓解策略:用户可以通过在smb.conf的[global]节点下增加 nt pipe support = no 选项,然后重新启动samba服务, 以此达到缓解该漏洞的效果。

本文由360GearTeam原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/86165

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
360GearTeam
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66