Linux 系统上的“WannaCry”:你如何保护自己?

GAD*_*D3R 73 linux security samba linux-kernel

根据Rapid7 的一篇文章,有一些易受攻击的Samba版本允许在 Linux 系统上远程执行代码:

虽然WannaCry勒索蠕虫影响了 Windows 系统并且很容易识别,但有明确的修复步骤,但Samba漏洞将影响 Linux 和 Unix 系统,并可能为获得或部署适当的修复带来重大的技术障碍。

CVE-2017-7494

从 3.5.0 开始的所有版本的 Samba 都容易受到远程代码执行漏洞的攻击,恶意客户端可以将共享库上传到可写共享,然后导致服务器加载并执行它。

可能的攻击场景:

从两个因素出发:

  • Samba 漏洞在某些 Linux 发行版上尚未修复。
  • 某些 Linux 内核版本(例如 4.8.0-41-generic Ubuntu 内核上的 CVE-2017-7308)存在未打补丁的本地提权漏洞。

攻击者可以访问 Linux 机器并使用本地漏洞提升权限以获得 root 访问权限并安装未来可能出现的 ramsomware,类似于适用于 Linux 的 WannaCry 勒索软件模型 。

更新

最新文章“警告!黑客开始使用“SambaCry 漏洞”来破解 Linux 系统”演示了如何使用 Sambary 漏洞来感染 linux 机器。

该预测结果非常准确,因为卡巴斯基实验室的研究人员团队建立的蜜罐捕获了一个恶意软件活动,该活动利用 SambaCry 漏洞感染带有加密货币挖掘软件的 Linux 计算机。

另一位安全研究员 Omri Ben Bassat? 独立发现了同一个活动并将其命名为“EternalMiner”。

据研究人员称,在 Samba 漏洞被公开披露一周后,一群不知名的黑客开始劫持 Linux PC,并安装了“CPUminer”的升级版本,这是一种挖掘“Monero”数字货币的加密货币挖掘软件。

在使用 SambaCry 漏洞入侵易受攻击的机器后,攻击者在目标系统上执行两个有效载荷:

INAebsGB.so — 为攻击者提供远程访问的反向外壳。

cblRWuoCc.so — 包含加密货币挖掘实用程序 CPUminer 的后门。

TrendLab 于 2017 年 7 月 18 日发布的报告:Linux 用户敦促更新作为新威胁利用 SambaCry

如何保护 Linux 系统以防止受到攻击?

Rui*_*iro 101

这个 Samba 新漏洞已经被称为“Sambacry”,而漏洞利用本身提到了“永恒的红色 Samba”,在 twitter 上(耸人听闻)宣布为:

Samba 错误,要触发的 metasploit one-liner 只是: simple.create_pipe("/path/to/target.so")

可能受影响的 Samba 版本是从 Samba 3.5.0 到 4.5.4/4.5.10/4.4.14。

如果您的 Samba 安装满足下面描述的配置,则应尽快完成修复/升级,因为已经存在漏洞利用、python 中的其他漏洞利用和 metasploit模块。

更有趣的是,honeynet项目中已经有一个已知蜜罐的附加组件,dionaea和 WannaCry 和SambaCry 插件。

Samba Cry似乎已经被(ab)用来安装更多的加密矿工“EternalMiner”,或者在未来加倍作为恶意软件投放器。

卡巴斯基实验室的研究人员团队建立的蜜罐捕获了一个恶意软件活动,该活动利用 SambaCry 漏洞来感染带有加密货币挖掘软件的 Linux 计算机。另一位安全研究员 Omri Ben Bassat? 独立发现了同一个活动并将其命名为“EternalMiner”。

在更新之前安装了 Samba 的系统(也存在于 CVE 通知中)的建议解决方法是添加到smb.conf:

nt pipe support = no
Run Code Online (Sandbox Code Playgroud)

(并重新启动 Samba 服务)

这应该禁用打开/关闭与 Windows IPC 命名管道服务进行匿名连接的功能的设置。来自man samba:

开发人员使用此全局选项来允许或禁止 Windows NT/2000/XP 客户端连接到 NT 特定的 SMB IPC$ 管道。作为用户,您永远不需要覆盖默认值。

但是从我们的内部经验来看,似乎修复与旧版本不兼容?Windows 版本(至少是一些?Windows 7 客户端似乎无法与nt pipe support = no.

更具体地说,此修复禁用了来自 Windows 客户端的共享列表,如果应用,他们必须手动指定共享的完整路径才能使用它。

其他已知的解决方法是确保使用该noexec选项安装 Samba 共享。这将阻止执行驻留在挂载的文件系统上的二进制文件。

官方的安全性源代码补丁是在这里从samba.org安全页面。

Debian 昨天 (24/5) 已经推送了一个更新,以及相应的安全通知DSA-3860-1 samba

要验证漏洞是否在 Centos/RHEL/Fedora 和衍生版本中得到纠正,请执行以下操作:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset
Run Code Online (Sandbox Code Playgroud)

现在有一个nmap检测脚本:samba-vuln-cve-2017-7494.nse 用于检测 Samba 版本,或者一个更好的nmap脚本来检查服务是否易受攻击,网址为http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse,复制到数据库/usr/share/nmap/scripts然后更新nmap,或者如下运行:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>
Run Code Online (Sandbox Code Playgroud)

关于保护 SAMBA 服务的长期措施: 不应将 SMB 协议直接提供给整个 Internet。

不言而喻,SMB 一直是一个复杂的协议,这些类型的服务应该被防火墙设置并限制在内部网络 [它们所服务的] 内。

当需要远程访问家庭网络或特别是公司网络时,最好使用 VPN 技术来完成这些访问。

像往常一样,在这种情况下,仅安装和激活所需的最少服务的 Unix 原则确实值得。

取自漏洞利用本身:

Eternal Red Samba 漏洞利用 - CVE-2017-7494。
导致易受攻击的 Samba 服务器在根上下文中加载共享库。
如果服务器有访客帐户,则不需要凭据。
对于远程利用,您必须至少拥有一个共享的写权限。
Eternal Red 将扫描 Samba 服务器以获取它可以写入的共享。它还将确定远程共享的完整路径。

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }
Run Code Online (Sandbox Code Playgroud)

众所周知,启用了 SELinux 的系统不易受到攻击。

查看7 年前的 Samba 缺陷,黑客可以远程访问数千台 Linux PC

根据 Shodan 计算机搜索引擎,超过 485,000 台启用 Samba 的计算机在 Internet 上暴露了端口 445,据 Rapid7 的研究人员称,超过 104,000 个暴露在 Internet 上的端点似乎在运行易受攻击的 Samba 版本,其中 92,000 个是运行不受支持的 Samba 版本。

由于 Samba 是在 Linux 和 UNIX 系统上实现的 SMB 协议,所以一些专家说它是 WannaCry 勒索软件使用的“Linux 版 EternalBlue”。

...或者我应该说SambaCry?

考虑到易受攻击的系统的数量和利用此漏洞的难易程度,Samba 漏洞可以通过蠕虫功能被大规模利用。

带有网络附加存储 (NAS) 设备 [也运行 Linux] 的家庭网络也可能容易受到此缺陷的影响。

另请参阅一个可蠕虫的代码执行错误已经在 Samba 中潜伏了 7 年。立即补丁!

这个存在七年的漏洞,索引为 CVE-2017-7494,只要满足几个条件,只需一行代码就可以可靠地利用它来执行恶意代码。这些要求包括易受攻击的计算机:

(a) 使文件和打印机共享端口 445 可在 Internet 上访问,
(b) 将共享文件配置为具有写入权限,以及
(c) 为这些文件使用已知或可猜测的服务器路径。

当这些条件得到满足时,远程攻击者可以上传他们选择的任何代码并使服务器执行它,可能具有不受限制的 root 权限,具体取决于易受攻击的平台。

鉴于漏洞利用的简易性和可靠性,这个漏洞值得尽快堵上。攻击者开始主动瞄准它可能只是时间问题。

Also Rapid 7 - 在 Samba 中修补 CVE-2017-7494:这是生命的循环

以及更多SambaCry:WannaCry 的 Linux 续集。

须知事实

CVE-2017-7494 的 CVSS 分数为 7.5 (CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)3。

威胁范围

shodan.io 对“port:445 !os:windows”的查询显示大约有 100 万台非 Windows 主机对 Internet 开放了 tcp/445,其中一半以上存在于阿拉伯联合酋长国(36%)和美国(16%)。虽然其中许多可能正在运行修补版本,具有 SELinux 保护,或者不符合运行漏洞利用的必要标准,但此漏洞的可能攻击面很大。

PS SAMBA github项目中的提交修复似乎是提交02a76d86db0cbe79fcaf1a500630e24d961fa149

  • 据我所知,nmap 脚本只检查 samba 的版本,而不是你是否容易受到攻击。AFAICT,要利用该漏洞,需要能够将文件上传到服务器。所以这个漏洞并不像 Eternalblue Windows 那样严重。如果您允许在没有身份验证的情况下通过 Internet 上传文件,那么您将面临 samba 是否易受攻击的问题。 (9认同)
  • 与 Windows 不同的是,Samba 在大多数 Linux 发行版中默认不启用,对吗? (6认同)
  • 不客气。我想补充一点,在我的时区,我昨天上午 9 点左右对 Debian 安全通知采取了行动 (2认同)

小智 21

我们大多数在外面运行 Samba 服务器的人可能是在 LAN 内运行它,在防火墙后面,并且不会将其端口直接暴露给外部世界。

如果你这样做,那将是一种糟糕的做法,而且当有像 OpenVPN 这样的简单、有效和免费(如啤酒和语音)VPN 解决方案时,这是不可原谅的。SMB 在设计时并未考虑开放 Internet(见鬼,TCP/IP 甚至在该协议中是事后才出现的),因此应如此对待。另外的建议是实际的文件共享主机上运行的防火墙规则的白名单上的所有SMB端口只本地(最终VPN)网络不会忽略(139/TCP,445/TCP,137/UDP和138/UDP)。

此外,如果您的用例允许,您应该考虑以非特权方式运行 Samba(例如,samba不是 的别名的用户root)。我知道通过这种设置将 NT ACL 的限制与 POSIX ACL 结合起来并不容易,但如果可以在您的特定设置中这样做,那么它就是要走的路。

最后,即使有这样的“锁定”,如果可以的话,仍然建议应用补丁(因为有可能无法使用的 NAS 盒),并测试您的特定用例是否适用于nt pipe supportset to no。

  • “它只能在 Intranet 上访问”可能是 WannaCry 传播公司的一些管理员的想法。 (4认同)