一、概述
Satan勒索软件自2017年初首次出现,从那时起,威胁行为者不断改进恶意软件,以更加有效地感染受害者,并最大化其利润。例如,FortiGuard实验室发现了一项恶意活动,该恶意活动还利用加密货币恶意软件作为额外的Payload,以最大限度地从受害者身上获取利润。
这个文件加密恶意软件,除了同时支持Linux和Windows平台之外,还利用众多漏洞,通过公开和外部网络进行传播。实际上,FortiGuard实验室已经发现了一个新的变种,它所利用的特定漏洞数量再次有所增加。
本文详细描述Satan恶意软件如何从内部网络和外部网络中找到新的目标。
二、新型漏洞利用
该恶意软件的初始传播工具,Windows上的conn.exe和Linux上的conn32/64,能够通过内部网络和外部网络实现传播。在较旧的恶意软件系列中,其Linux组件(conn32/64)仅通过非A类的专用网络传播。但是,经过不断更新后,目前最新版本的恶意软件已经支持私有网络和公共网络的同时传播。对于Windows组件(conn.exe)来说,并没有太多改变,其中甚至还包含永恒之蓝漏洞利用(来自NSA,EternalBlue)和开源应用程序Mimikatz。
这一更新版本中,仍然利用了此前发现的大多数漏洞,但Apache Struts2远程代码执行漏洞(S2-045和S2-057)已经被删除,具体原因不明。该恶意软件利用的一些漏洞包括:
· JBoss默认配置漏洞(CVE-2010-0738)
· Tomcat任意文件上传漏洞(CVE-2017-12615)
· WebLogic任意文件上传漏洞(CVE-2018-2894)
· WebLogic WLS组件漏洞(CVE-2017-10271)
· Windows SMB远程代码执行漏洞(MS17-010)
· Spring Data Commons远程代码执行漏洞(CVE-2018-1273)
我们观察到恶意软件的主要更新,是添加了几个Web应用程序远程代码执行漏洞,这些漏洞也同时在Linux版本中实现。下面是该恶意软件利用的新漏洞:
· Spring Data REST补丁请求(CVE-2017-8046)
· ElasticSearch(CVE-2015-1427)
· ThinkPHP 5.X远程执行代码(无CVE编号)
三、传播方式分析
接下来,我们来深入分析该恶意软件的传播方式。如上所述,该传播工具可以通过内部网络和公共网络传播,该工具将会执行IP地址遍历,并尝试针对稽查发现的每个IP地址进行扫描,并针对下面描述的硬编码端口列表,执行特定的漏洞利用尝试。为了提高效率,该恶意软件实现了多线程,针对每个目标IP和每个端口的单次传播尝试都将使用一个单独的线程。
四、目标网络
针对私有网络,该恶意软件会检索受害者网络中所有可能的IP地址。无论是哪种类型的网络,Windows版本的传播工具都会尝试传播到私有网络中的主机。相反,Linux版本则会避免使用A类私有网络。
Linux传播工具检查私有IP地址:
传播工具将遍历网络中所有子网的全部IP地址,试图扫描网络中的所有主机。下图展现了迭代目标IP地址的Linux版本恶意软件代码。Windows版本中也使用相同的实现方法。
传播到私有网络(conn32):
在针对公网IP为目标的情况下,传播工具从其C2服务器检索目标,如下图所示。在该位置,会对目标IP地址进行迭代,范围为xxx.xxx.xxx.1到xxx.xxx.xxx.254。在我们的监控中,该恶意活动中提供的所有目标IP都位于中国。
从C2服务器接收目标公网IP
五、漏洞利用
在Windows组件中,实现了永恒之蓝漏洞利用、Mimikatz凭据窃取、SSH暴力破解攻击以及许多用于传播的Web漏洞。除了永恒之蓝漏洞和Mimikatz之外,其他的漏洞利用也同样包含在Linux版本之中。
该恶意软件还包含其尝试利用的服务和应用程序常用的目标端口的硬编码列表。针对每个TCP端口,它会尝试扫描并执行其完整的漏洞利用列表。同时,为了提高效率,将会为每个端口生成子线程。
针对Windows组件,如果端口号为445(SMB/CIFS),则执行永恒之蓝漏洞利用。如果端口号为22(SSH),则使用硬编码的用户名和密码列表执行SSH暴力破解。如果实际开启的端口不是上述端口,则会尝试执行Web应用程序漏洞利用。
针对Windows进行目标端口检查:
针对Linux系统,不会进行445端口(SMB)的检查,其他端口稽查和漏洞利用的方案与Windows版本大致相同。
针对Linux进行目标端口检查:
从现在开始,恶意软件开始执行标准的漏洞利用过程,找到运行特定易受攻击服务或应用程序的主机,并尝试进行漏洞利用。每个目标Web应用程序都有自己定义的URL,恶意软件会尝试访问该URL,然后触发针对目标主机的攻击。
扫描Web应用程序并进行利用:
接下来,恶意软件会将其针对目标主机执行的每个漏洞利用程序通知C2服务器。
将漏洞利用执行报告发送至C2服务器:
我们还观察到,恶意软件试图扫描一些应用程序,例如Drupal、XML-RPC、Adobe等,但没有相应的漏洞利用Payload。该恶意软件只是通知其C2服务器是否存在相应的应用程序。最有可能的一种推断是,其目的在于收集可以在未来的攻击中使用的应用程序的使用情况,并进行统计。恶意软件的作者可以轻松更新其传播工具,以便在他们观察到有大量客户端在使用这一应用的时候,立即采取行动,针对特定应用程序实施攻击。
六、总结
Satan恶意软件的传播规模日渐扩大。通过扩展其作为目标的易受攻击Web服务和应用程序的数量,恶意软件的作者可以大幅增加成功攻击的概率,并拥有产生更多收益的机会。此外,Satan恶意软件还采用了“勒索软件即服务”(RaaS)的方式,将恶意软件开放给更多威胁参与者使用,这意味着将会产生更多攻击和更多非法收入。
FortiGuard实验室将持续监控该恶意软件的发展,并及时发布最新研究成果。
七、防护方案
FortiGuard的反病毒服务将该恶意样本检测为W32/ShadowBrokers.AE!tr、Linux/CoinMiner.FE!tr和Linux/Filecoder.R!tr。
FortiGuard的Webfilter服务阻止C2服务器,并将相应地址判断为恶意网站。
针对新增的Web应用程序漏洞,FortiGuard的IPS签名检测规则如下:
(1) Spring Data REST Patch Request (CVE-2017-8046) – Pivotal.Spring.PATCH.Request.Handling.Remote.Code.Execution
(2) ElasticSearch (CVE-2015-1427) – ElasticSearch.Dynamic.Script.Arbitrary.Java.Execution
(3) ThinkPHP 5.X Remote Code Execution – ThinkPHP.Request.Method.Remote.Code.Execution
用户可以选用安全服务产品组合,同时可以注册每周的威胁简报。除此之外,还可以使用专业的安全评级服务,该服务可以提供安全审计和最佳实践的建议。
八、IoC
恶意样本SHA-256:
54a1d78c1734fa791c4ca2f8c62a4f0677cb764ed8b21e198e0934888a735ef8 – W32/ShadowBrokers.AE!tr
02e1a05fdfdf4f8685d92ba09d698b8be66ae6d020dc402ff2119501dda9597c – Linux/CoinMiner.FE!tr
51F2E919A7ECFB3B096DDCB71373E86E81883B4B59848D2F6F677F9E317A8468 – Linux/Filecoder.R!tr
C2服务器:
111.90.159.103
111.90.159.104
111.90.159.105
111.90.159.106
111.90.159.106/d/conn32
111.90.159.106/d/cry32
转自:https://www.4hou.com/typ/18136.html
转载请注明:jinglingshu的博客 » 内网公网全覆盖、Win/Linux两开花:深入分析Satan勒索软件的传播技术