导语:勒索病毒GlobeImposter频频在行业专网肆虐,究竟是如何入侵、如何传播的?我们的AF\SIP\EDR又是如何防御的?效果如何?本文将详细解读~
近两年,勒索病毒肆虐全球,影响波及众多行业和机构,已经成为最受关注的网络安全问题之一。其中的勒索病毒家族GlobeImposter在我国广泛传播,其变种也多种多样,为了深入的防御该种勒索病毒的侵入,深信服安全攻防团队对勒索病毒家族GlobeImposter的传播方式进行了研究,并且进行了深度的还原,旨在能够帮助用户做到更好的防御。
病毒分析
GlobeImposter从首次出现到现在,基本就是3个大版本,更多是其2.0版本的变种,传播方式也基本没有大的变化。我们根据8件有代表性的真实攻击事件中采集到的样本进行分析对此,汇总了GlobeImposter勒索病毒的攻击特点:
从分析结果可以看出,GlobeImposter勒索病毒的主要传播途径:
钓鱼邮件:通过发送附带恶意附件或恶意链接的钓鱼邮件,打开文件或链接之后,下载或运行勒索病毒。
RDP爆破:通过RDP弱口令爆破或获取本地RDP的密码记录存储获取系统的登录凭证,然后登录系统。一般用来打开攻击口。
JaveScript脚本:案例中发现GlobeImposter通过javascript混淆脚本的方式进行了传播,该传播方式比传统的更为隐蔽以及更难检测。
SMB共享传播:基于Windows网络共享协议进行病毒传播。
横向渗透:通过一些漏洞扫描器进行渗透攻击,该方法门槛与成本都比较低。
攻击复现
为了清楚的掌握勒索病毒的攻击过程及危害,我们对一个真实的用户案例进行复现,搭建了如下的拓扑图:
整个内网中有三个子网:运维区、DMZ区和内网办公区。各区域之间进行了网络隔离(本拓扑中采用下一代防火墙的应用控制策略实现),各区域的访问权限如下:
1) 运维区允许访问内网办公区和DMZ区域,不允许访问外网。
2) 内网办公区允许访问运维区的ftp服务器和samba服务器,允许访问DMZ区的Web服务器和邮件服务器;不允许访问外网。
3) DMZ区域对外业务发布web服务器、邮箱服务器,同时对外开放了web服务器的远程桌面端口;DMZ区不允许主动访问其他区域。
PS.此拓扑来源于真实的客户环境,为了监测并记录勒索病毒的攻击链,我们预先部署了深信服下一代防火墙、深信服威胁探针,仅开启检测并记录日志,不拦截攻击数据。
攻击过程复现
1、扫描到公网开放的远程桌面端口后,对Web服务器进行口令暴破,获取口令后,通过downloader下载病毒样本及攻击工具到服务器。(黑客入侵的第一步往往都是通过企业对外发布的服务器入手,本环境是通过RDP爆破,也可以通过web漏洞入侵,如利用Struts2漏洞、SQL注入等。)
Tips.本场景中,攻击者可以从入侵web服务器开始就进行内部横向传播,但由于加密web服务器文件后会很快被发现,因此采取了后续钓鱼邮件的入侵方式。
2、投放完成病毒样本后,伪装成求职者向该单位的HR邮箱发送求职邮件,将简历信息及证书照片等压缩后放到附件之中,引诱HR打开附件
Tips.邮箱仿冒的攻击方式有许多种,常见的有:
1) 发件人伪造:是一种由来已久的攻击手段。利用的主要是SMTP等协议的一些设计缺陷,或针对服务器的一些漏洞,伪造发件人的邮箱信息。
2) 仿冒发件人别名:利用邮件账号的别名字段属性,使用公用邮箱(比如Gmail)仿冒他人账号,此类仿冒邮件占比最高,同时因为实际发件人地址真实存在,可以进行交互式诈骗。
Example
From: Steve Jobs <[email protected]>(而不是[email protected])
3) 相似域名仿冒:抢注相似域名,比如sangfor(不是o,是数字0),然后就可以按照套路操作了。缺点是注册域名、配置邮件服务等太麻烦,而且容易留下作案痕迹;而且大公司都有brand监控服务,相似域名已经抢注或在监控范围内了(域名注册商有这项服务)。
Example
From: Steve Jobs [email protected]
4) 冒仿身份:冒充上司身份,攻击者利用邮箱,伪装成上司的身份,对员工提出看似正常并且合理的要求,接收到邮件的人,没有进行仔细的确认,就很容易受骗。冒充同事身份,攻击者冒充是某个不愿透露姓名的同事,发送表白邮件,或者是一些较为不明确的信息。例如,“猜猜我是谁”,“有东西想给你看“,“点开你就知道是什么”,利用了人的好奇心等等其他心里。达到攻击者的目的。
冒充其他等等许多合理的身份。
这里,我们使用的是冒仿身份的方式。
3、HR收到邮件后,打开邮件内的附件,会发现里面的一些简历及证书文件被自动解压到当前目录下,正当HR称赞求职者细心周到的时候,压缩包内的js脚本已经被启动,这些脚本自动到Web服务器下载之前植入的病毒样本及攻击工具,并保存在C:\Program Files\evil文件夹下面,全部下载成功之后,js已经开始悄悄的运行它们。
下载的病毒样本等恶意文件:
4、在HR阅读所谓的求职信息时,右下角任务栏内的程序被一一关闭,直到弹出报错的弹窗界面,HR才发现有什么不对,这时候主机上的文件已经被勒索病毒完成了加密,无法打开。于此同时,勒索病毒在不断扫描内网其他主机并进行横向扩散。
HR主机被勒索病毒感染:
5、一脸懵逼的HR赶紧求助网管小哥,正当网管小哥想在HR面前秀一手时,发现自己的电脑突然弹到了登录窗口,再次登录后发现,电脑上的文件已经被加密,无法打开了,没等他反应过来,一大波电话、消息袭来…
网管小哥的电脑中招后自动弹出到登录界面:
再次登录后发现电脑文件已经被加密,无法打开:
至此,勒索病毒已经成功扩散到整个单位内网。
攻击详细分析
1、 该场景下,由于内网均无法直接上网,因此攻击者预先将病毒脚本上传到DMZ区域的web服务器上,在内网搭建了一个病毒服务器。
2、 在正式攻击开始前,先构建了一个js下载器,用于下载web服务器上放置的病毒样本等恶意软件。为了隐藏攻击者真实的意图,在真实环境中攻击者在使用下载器的时候往往使用各种混淆或加密的方法去使自己的脚本看起来很复杂。本次为了重现攻击编写的下载器就只包含了最核心的两个功能,下载与运行,会分别运行勒索和传播程序。
3、 Js下载器构建完毕后,我们还需要对内网主机进行扫描,发现可以攻击的目标,因此需要一个RDP端口扫描工具,自动扫描内网开启了RDP服务的所有对象,并作为攻击目标:
4、 扫描到攻击目标后,采用知名工具hydra实现RDP爆破
5、 爆破成功的主机,需要将病毒传播上去,这里使用attack.bat脚本,对爆破出来的结果进行读取,并完成病毒传播。attack.bat作用是将下一步需要进行的操作写入到result.bat中,然后调用result.bat。具体步骤如下:
1) 从文件里读取上一步爆破出的IP、用户名、密码。
2) 用net use建立IPC连接
3) 在远程机器上建立目录,并将恶意的js脚本写入到相应目录
4) 用wmic远程执行,用wscript执行js脚本
5) 将上述命令写入到result.bat中,然后运行result.bat
6、 仅仅是上述过程的话,还不足以实现完全自动化的内网横向传播,因此还需要借助蠕虫方式实现自动化运行攻击工具,实现内网的自动传播,这里构建了一个worm.exe程序,主要实现发现目标、攻击目标、传播病毒三个功能。
最后运行attack.bat传播病毒。
其中对hydra的调用也实现了自动化操作,将弱口令存在1.txt文件中,使用“hydra –C 1.txt RDP”指令执行RDP爆破。
整个流程看起来很复杂,但在具体的攻击时,攻击者只需要寻找到突破口,如本案例中的3389爆破,或者是一个可利用的漏洞,接下来的事情都可以自动化完成了。
总结:
通过此次的攻防演练事件我们可以看到,如果内网主机一旦遭受入侵,威胁到的是将是整个内网的安全。并且,在已发现的GlobeImposter勒索病毒中,病毒入侵方式也十分灵活的,邮件,RDP爆破,SMB共享传播,攻击者的横向渗透等等。为了应对多变的GlobeImposter勒索病毒,安全功防团队会持续跟进该病毒的最新动态,及时研究其攻击链以及攻击原理,做到更为立体的防御。
安全意识小建议:
· 不要点击来源不明的邮件以及附件
· 及时给电脑打补丁,修复漏洞
· 对重要的数据文件定期进行非本地备份
· 安装专业的终端/服务器安全防护软件
· Globelmposter勒索软件之前的变种会利用RDP(远程桌面协议),因此建议用户关闭相应的RDP(远程桌面协议)
· 尽量关闭不必要的文件共享权限以及关闭不必要的端口,如:445,135,139,3389等