导读 肆虐全球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. 后续直接请求这个FID就进入上面所说的恶意流程

具体攻击结果如下:

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

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

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

解决方案

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

  1. 使用源码安装的Samba用户,请尽快下载最新的Samba版本手动更新;
  2. 使用二进制分发包(RPM等方式)的用户立即进行yum,apt-get update等安全更新操作;

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

漏洞来源:CVE-2017-7494.html:
====================================================================
== Subject:     Remote code execution from a writable share.
==
== CVE ID#:     CVE-2017-7494
==
== Versions:    All versions of Samba from 3.5.0 onwards.
==
== Summary:     Malicious clients can upload and cause the smbd server
==              to execute a shared library from a writable share.
==
====================================================================

===========
Description
===========

All versions of Samba from 3.5.0 onwards are vulnerable to a remote
code execution vulnerability, allowing a malicious client to upload a
shared library to a writable share, and then cause the server to load
and execute it.

==================
Patch Availability
==================

A patch addressing this defect has been posted to

  http://www.samba.org/samba/security/

Additionally, Samba 4.6.4, 4.5.10 and 4.4.14 have been issued as
security releases to correct the defect. Patches against older Samba
versions are available at http://samba.org/samba/patches/. Samba
vendors and administrators running affected versions are advised to
upgrade or apply the patch as soon as possible.

==========
Workaround
==========

Add the parameter:

nt pipe support = no

to the [global] section of your smb.conf and restart smbd. This
prevents clients from accessing any named pipe endpoints. Note this
can disable some expected functionality for Windows clients.

=======
Credits
=======

This problem was found by steelo <knownsteelo@gmail.com>. Volker
Lendecke of SerNet and the Samba Team provided the fix.

原文来自:http://www.yunweipai.com/archives/18633.html

本文地址:https://www.linuxprobe.com/360-linux-samba.html编辑员:郭建鹏,审核员:逄增宝