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

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

根据一篇rapid7文章有一些脆弱的桑巴舞允许在 Linux 系统上远程执行代码的版本:

虽然想哭勒索蠕虫影响了 Windows 系统,并且很容易识别,并且有明确的补救步骤,桑巴舞该漏洞将影响 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 系统”演示如何使用 Sambacry 缺陷来感染 Linux 机器。

事实证明,这一预测非常准确,因为由来自英国的研究人员团队建立的蜜罐卡巴斯基实验室捕获了一个恶意软件活动,该活动利用 SambaCry 漏洞通过加密货币挖掘软件感染 Linux 计算机。

另一位安全研究员 Omri Ben Bassat 独立发现了同样的活动并将其命名为《永恒的矿工》

据研究人员称,在 Samba 缺陷被公开披露后仅一周,一个身份不明的黑客组织就开始劫持 Linux PC,并安装“CPUminer”的升级版本,这是一种挖掘“门罗币”数字货币的加密货币挖掘软件。

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

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

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

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

如何保护 Linux 系统免受攻击?

答案1

这个 Samba 新漏洞已经被称为“Sambacry”,而该漏洞本身提到了“Eternal Red Samba”,在 Twitter 上(耸人听闻)宣布为:

Samba bug,触发的metasploit单行代码只是: simple.create_pipe("/path/to/target.so")

可能受影响的 Samba 版本为 Samba 3.5.0 至 4.5.4/4.5.10/4.4.14。

如果您的 Samba 安装符合下面描述的配置,则应尽快完成修复/升级,因为已经有功绩, 其他python 中的漏洞利用元漏洞那里有模块。

更有趣的是,已经有来自已知蜜罐的附加组件蜜网项目,捕蝇草属既想哭又想哭SambaCry 插件

桑巴哭声似乎已经被(滥用)用于安装更多加密货币矿工“永恒矿工”或未来将作为恶意软件投放者加倍努力

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

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

nt pipe support = no

(并重新启动Samba服务)

这应该禁用一个设置,该设置打开/关闭与 Windows IPC 命名管道服务建立匿名连接的能力。从man samba

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

但是从我们的内部经验来看,该修复似乎与旧版本不兼容? Windows 版本(至少有一些?Windows 7 客户端似乎无法使用nt pipe support = no),因此在极端情况下修复途径可以是安装甚至编译 Samba。

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

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

官方的安全源代码补丁是这里来自samba.org 安全页面

Debian 昨天(24/5)已经推出了更新,以及相应的安全通知DSA-3860-1 桑巴舞

要验证 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

现在有一个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>

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

不言而喻,SMB 一直是一个复杂的协议,并且这些类型的服务应该受到防火墙的保护并仅限于[它们所服务的]内部网络。

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

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

取自漏洞利用本身:

永恒红色桑巴漏洞利用 - 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 */
    }

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

已有 7 年历史的 Samba 漏洞可让黑客远程访问数千台 Linux PC

据 Shodan 计算机搜索引擎显示,超过 485,000 台启用 Samba 的计算机在互联网上暴露了 445 端口;而据 Rapid7 的研究人员称,超过 104,000 个暴露在互联网上的端点似乎正在运行存在漏洞的 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 权限,具体取决于易受攻击的平台。

考虑到漏洞利用的简便性和可靠性,这个漏洞值得尽快修复。攻击者开始积极瞄准它可能只是时间问题。

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项目中的提交修复似乎是commit02a76d86db0cbe79fcaf1a500630e24d961fa149

答案2

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

如果你这样做,那将是一种糟糕的做法,而且当有像 OpenVPN 这样简单、有效和免费(就像啤酒和语音)的 VPN 解决方案时,这种做法是不可原谅的。 SMB 在设计时并未考虑到开放互联网(哎呀,TCP/IP 甚至是该协议中事后才想到的),因此也应如此对待。其他建议是在实际文件共享主机上运行防火墙规则,仅将所有 SMB 端口( 、 和 )上的本地(最终是 VPN)网络地址139/TCP列入445/TCP137/UDP名单138/UDP

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

最后,即使有这样的“锁定”,如果可以的话,仍然建议应用补丁(因为有 NAS 盒子可能无法做到这一点),并测试您的特定用例是否可以设置nt pipe supportno.

相关内容