Samba是Linux和UNIX系统的SMB协议服务软件,可以实现与其他操作系统(如:微软Windows操作系统)进行文件系统、打印机和其他资源的共享。此次漏洞最早影响到7年前的版本,黑客可以利用漏洞进行远程代码执行。
CVE-2017-7494
Samba 3.5.0到4.6.4/4.5.10/4.4.14的中间版本
攻击者利用漏洞可以进行远程代码执行,具体执行条件如下:
1. 服务器打开了文件/打印机共享端口445,让其能够在公网上访问
2. 共享文件拥有写入权限
3. 恶意攻击者需猜解Samba服务端共享目录的物理路径
满足以上条件时,由于Samba能够为选定的目录创建网络共享,当恶意的客户端连接上一个可写的共享目录时,通过上传恶意的链接库文件,使服务端程序加载并执行它,从而实现远程代码执行。根据服务器的情况,攻击者还有可能以root身份执行。
Samba漏洞让人联想到前阶段席卷全球的WannaCry漏洞,研究人员怀疑该漏洞同样具有传播特性。
在WannaCry所利用的漏洞刚刚出现时,很多人认为它不会造成很大的影响,因为大部分人不会把文件/打印机分享端口开放在公网,但之后持有这种想法的人被迅速打脸,WannaCry病毒造成的危害超出了大家的想象。
而根据Phobus安全公司创始人Dan Tentler称,有477,000安装了Samba的计算机暴露了445端口,虽然我们不知道有多少运行着可以被攻击的Samba版本。Tentler引用的是Shodan返回的搜索结果。Rapid7的研究人员同样做了统计,他们检测到有110,000台计算机运行着官方不再提供支持的Samba版本,也就是说不会有针对这些版本的补丁。因此,此次Samba漏洞能够造成的影响可想而知。
不过与Windows不同,Samba的SMB功能默认不打开,必须手动打开。
一种可能的攻击场景是,黑客先攻击家庭网络中的NAS设备,因为NAS更可能将文件分享端口暴露于公网,随后黑客再进一步攻击局域网。
msf已经新增了专门的模块,可以使用这个msf模块进行检测。
最安全的方法还是打补丁或者升级到Samba 4.6.4/4.5.10/4.4.14任意版本。
如果暂时不能升级版本或安装补丁,可以使用临时解决方案:
在smb.conf的[global]板块中添加参数:nt pipe support = no
然后重启smbd服务。
*参考来源:ArsTechnica,本文作者:Sphinx,转载请注明来自FreeBuf(FreeBuf.COM)