SambaCry卷土重来,这一次的目标是物联网设备

发布日期:2017-07-20首页 > IT资讯

今年五月,Samba修复了一个有七年历史的漏洞,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,它是Windows用于文件和打印机共享的SMB协议的开源实现。但最近被发现这一存在近七年的漏洞目前仍然可以被利用。根据该公司发布的安全提示所说,该漏洞允许攻击者上传可写入的共享到共享库,导致服务器加载并执行它。如果该漏洞被成功利用,攻击者可以在存在该漏洞的设备中打开一个shell命令,并控制它。目前已知该漏洞会影响自3.5.0起的所有版本Samba。

事实上,因为与WannaCry利用的SMB漏洞相似,该漏洞(CVE-2017-7494)被称为SambaCry。2007年6月,当 cryptocurrency miner EternalMiner/CPUMiner 使用它来破坏Linux机器和Monero矿井时其实就已经被检测到了。之前我们获得的案例显示,SambaCry仅用于定位服务器,而payload仅仅是加密货币的挖矿恶意软件。而现在,最近的数据显示攻击者正在利用SambaCry进行其他目的。

这个更新的恶意软件被检测为ELF_SHELLBIND.A并且在7月3日被发现。和之前在野外使用SambaCry的报告情况类似,它也会在目标系统上打开一个shell命令。但ELF_SHELLBIND.A后续的做法却和SambaCry有明显的差异,使得能够将其与SambaCry区分开。一方面,它主要针对物联网(IoT)设备,特别是中小企业青睐的网络存储(NAS)设备。ELF_SHELLBIND还针对不同的架构,如MIPS,ARM和PowerPC。这是我们第一次看到SambaCry被利用而没有加密货币作为payload。

恶意软件分析 

在Shodan中找到使用Samba的设备是非常容易的:用“samba”字符串搜索端口445将会创建一个可行的IP列表。然后,攻击者只需要创建一个可以自动将恶意文件写入列表中每个IP地址的工具。将文件写入公用文件夹后,具有SambaCry漏洞的设备就可能会成为ELF_SHELLBIND.A受害者。 

如图1所示,ELF_SHELLBIND.A通常作为恶意共享对象(.SO)文件传入共享文件夹,这与之前的挖矿恶意软件利用SambaCry漏洞的情况相似。我们还可以看到,它也在尝试利用SambaCry,因为它通过导出函数samba_init_module进行调用时,那些存在漏洞的Samba服务器就会自动加载该库。 

将.SO文件上传到Samba共享文件夹后,攻击者需要猜测绝对本地文件名,并发送一个IPC请求,以欺骗服务器加载和运行本地存储的程序文件。

SambaCry卷土重来,这一次的目标是物联网设备

一旦通过所述导出功能加载恶意软件,它将通过调用Samba守护程序(特定于SMBv2)所需的函数change_to_root_user开始,以root身份或当前用户的EUID运行。然后,恶意软件将自身从其运行的任何父进程(Samba服务器进程)分离出来,并通过函数detach_from_parent守护进程。这之后是恶意软件发送所谓的Knock消息,我们假设它是东非的命令和控制(C&C)服务器“169 [。] 239 [。] 128 [。] 123”over TCP,port 80。那么Knock消息就只包括:

HEAD / HTTP / 1.0

服务器会读取这一响应,但不会以任何方式使用它。在这个点上套接字已经关闭,而到这个阶段,攻击者已经获得了系统的IP地址。

然后恶意软件会删除与iptable通过TCP / 61422匹配的所有接受的通信的链规则,并再次添加,以便防火墙接受所有端口上的所有TCP通信。在之后,恶意软件会在侦听模式下通过端口61422打开TCP套接字,接受来自攻击者的连接。一旦攻击者连接到此套接字,恶意软件就会发送消息:

Welc0me to shell
Enter password:

恶意软件希望攻击者输入密码:

 
Q8pGZFS7N1MObJHf

如果攻击者使用所述密码进行回复,恶意软件会发送消息:

Access granted

如果是不正确的密码,那么它就会退回去。

一旦成功建立连接并验证身份验证,攻击者将在被感染系统中有一个开放的shell命令,在那里他可以发出任何数量的系统命令,并且基本上控制该设备。恶意软件使用位于/ bin / sh的系统shell执行任何它通过此套接字(stdin,stdout和stderr都重定向到套接字)。

结论和解决方案

目前已经为此漏洞发布了系统补丁,这可能会限制受害者的数量。并且由于攻击者还需要对目标系统中的共享位置进行可写访问以提供payload,所以这一点可能阻止感染率的另一个限制因素。

由于这个漏洞在5月已经被修补,所以经常更新的用户没有任何问题。然而,基于Unix或Linux的设备(包括大多数IoT设备)其实更难保护。如果Samba被启用,并且制造商没有发送补丁,那么这些设备就会是易受攻击的。所以我们建议用户应主动更新或咨询具体的制造商。

ELF_SHELLBIND.A的SHA256 :

c27594b1a1ecee6a62adbaee5b00bad8e3540fe98ff3bac17fef03e0ebd62914
516bafdede5e7a019a71028a7125f98190ee7ab71d03bc3041c9943324a78df5
11f47c90393082e7fdc4213d3b888ef8b7c121a86658077465b03bb7857bc540