Samba 于2017年5月24日发布了一个严重的远程代码执行漏洞,漏洞编号为CVE-2017-7494,该漏洞影响了Samba 3.5.0(发布于2010年3月1日) 之后和包括4.6.4、4.5.10、和4.4.14在内的版本。Samba 在 Unix 和 Linux 系统中提供基于 Windows 的文件和打印服。经WE安全研究分析,确认属于严重漏洞,可以造成远程代码执行,强烈建议立即采取应对措施。关于漏洞详细信息,可登录Samba官网查看: 。
很多家用和企业网络存储系统都有运行Samba,由于通常情况下都是默认安装在Linux系统中的,因此一些用户自己都不知道其系统中有运行Samba。安装了Samba,Unix 和 Linux 系统便可以按Windows的文件分享方式进行文件分享。WannaCry 勒索病毒影响的是Windows 系统,不过易于被察觉,且有清晰的修复步骤;而 Samba 漏洞会对 Linux 和 Unix 系统造成影响,在找出并部署修复方案上是个技术难题,因为相关设备无法通过常规打补丁进行修复,且用户无法在操作层面上进行补丁修复。
漏洞影响
如果某台设备运行了存在远程代码执行漏洞的 Samba版本,那么恶意攻击者可以往该设备的writable share上传共享library,随后被攻击的服务器便会进行加载并执行。
据Rapid7 扫描结果发现,目前有超过10.4万台暴露在互联网上的终端运行着存在漏洞的Samba版本,其中,90%(也就是92,570台)的终端所运行的Samba版本目前还没有直接补丁。
技术分析
如官方所描述,该漏洞只需要通过一个可写入的Samba用户权限就可以提权到samba所在服务器的root权限(samba默认是root用户执行的)。
从Patch来看的话,is_known_pipename函数的pipename中存在路径符号会有问题:
再延伸下smb_probe_module函数中就会形成公告里说的加载攻击者上传的dll来任意执行代码了:
具体攻击过程:
构造一个有’/’ 符号的管道名或路径名,如 “/home/toor/cyg07.so”
通过smb的协议主动让服务器smb返回该FID
后续直接请求这个FID就进入上面所说的恶意流程
具体攻击结果如下:
1. 尝试加载“/home/toor/cyg07.so” 恶意so
2. 其中so 代码如下(加载时会调用samba_init_module 导出函数)
3. 最后我们可以在/tmp/360sec中看到实际的执行权限(带root权限)
解决方案
Samba已发了补丁更新:。此外,官方还发布了Samba 4.6.4、4.5.10 和4.4.14的安全版本。稍旧 Samba 版本的补丁下载地址:。
WE安全建议使用受影响版本的用户立即通过以下方式来进行安全更新操作:
使用源码安装的Samba用户,请尽快下载最新的Samba版本手动更新;
使用二进制分发包(RPM等方式)的用户立即进行yum,apt-get update等安全更新操作;
权宜之计:用户可以通过在 smb.conf 的[global]节点下增加nt pipe support = no 参数,然后重启 smbd。这样一来,用户可以避免进入任何命名管道终端。不过,这对于Windows客户端来说,会导致有些功能会无法使用。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777