导读 肆虐全球Windows设备的“永恒之蓝”勒索病毒攻击余波未平,一个Linux版的“永恒之蓝”又出现了。360官方博客紧急发布了Samba远程代码执行漏洞警报(CVE-2017-7494)。

Samba是在Linux和Unix系统上实现SMB协议的开源软件,正广泛应用在Linux服务器、NAS网络存储产品以及路由器等各种IoT智能硬件上。

360方面介绍,与Windows版的“永恒之蓝”相比,Samba漏洞相对比较简单、更容易被攻击,而且同样威力巨大,可以远程执行任意代码。其漏洞攻击工具也已在网上公开,很可能被不法分子恶意利用。

对普通个人用户来说,Samba漏洞会对各种常用的智能硬件造成严重威胁。例如,全球流行的路由器开源固件OpenWrt就受到Samba漏洞影响,可能导致路由器被黑客控制,劫持或监听网络流量,甚至给上网设备植入木马。此外,包括智能电视等设备中,Samba文件共享也是常用的服务。

针对各类智能硬件用户,建议用户及时关闭路由器、智能电视等设备的Samba文件共享服务,等待固件进行安全更新后再开启Samba。

针对使用Samba的服务器管理员,360方面也提出了安全更新建议。

概述

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第一时间对该漏洞进行了分析,确认属于严重漏洞,可以造成远程代码执行。

技术分析

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

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

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

具体攻击过程:

  1. 构造一个有’/’ 符号的管道名或路径名,如 “/home/toor/cyg07.so”
  2. 通过smb的协议主动让服务器smb返回该FID
  3. 后续直接请求这