开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 本文讲的是SambaCry卷土重来,这一次的目标是物联网设备,今年五月,Samba修复了一个有七年历史的漏洞,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,它是Windows用于文件和打印机共享的SMB协议的开源实现。
+关注继续查看
本文讲的是SambaCry卷土重来,这一次的目标是物联网设备今年五月,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



原文发布时间为:2017年7月20日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用Fusioncharts实现后台处理进度的前台展示
本文要解决两个问题: 1、在ajax的数据交互中,如何获得后台的处理进度? 2、在前台界面中,如何使用图形化的方式展示后台处理进度?   关于第一个问题,不是本文的重点,简单说一下思路。因为HTTP协议实际上是无状态的协议,前台的请求提交给后台之后,一般情况下都是后台处理完成才会向前台返回处理结果。
823 0
余承东高举AI手机回应AT&T“逃婚”:痛失在美销售主要渠道,但华为永远朝向美国消费者
刚刚,华为消费者BG CEO余承东在CES 2018发表主旨演讲,正式宣布华为Mate 10 Pro进军美国市场。虽然此前爆出AT&T突然取消合作,但余承东表示,这是华为的损失,是美国运营商的损失,更是美国消费者的损失。
1297 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记13 Drawing绘制、UIColor颜色、Fonts字体
上一话介绍了视图绘制的一些基本原理,这一话继续展开。UIBezierPath可以绘制许多有趣的图形。
786 0
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记11 View视图
一个view(视图)是IOS中UIView的子类,标示了屏幕上的一个长方形区域,定义了一个坐标系空间来绘图,并且处理触摸的操作。
546 0
SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系
SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系
0 0
我的SAP Hybris学习笔记
我的SAP Hybris学习笔记
0 0
企业级运维之云原生与Kubernets实战课程 - 第一章第2讲 容器和K8s核心概念(下)
本小节主要内容为K8s核心概念、Kubernetes功能、Kubernetes的架构、Kubernetes核心组件(Master、Worker、Pod)等内容。
0 0
对象存储 OSS 静态网站托管功能|学习笔记
快速学习对象存储 OSS 静态网站托管功能
0 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
文章排行榜
最热
最新
相关电子书
更多
短距离无线系统与航空无 线电系统攻击
立即下载
手机取证的 新问题和新发展
立即下载
手机取证的新问题和新发展
立即下载