最近,Sophos 发现一个未知攻击者利用 11 年前 Adobe ColdFusion 9 的一个古老漏洞来对 ColdFusion 服务器进行攻击,部署 Cring 勒索软件并进行横向平移。
已经发现了在野攻击成功的案例,但部分数据可以恢复。
ColdFusion 9 服务器运行的是 Windows Server 2008 操作系统,微软于 2020 年 1 月终止了该操作系统的维护更新,而 Adobe 早在 2016 年就宣布了 ColdFusion 9 的生命周期终止。因此,该软件没有安全补丁可打,这也提醒管理员不能将过时的关键业务暴露给互联网。
攻击者并未因使用的漏洞老旧就马虎操作,还是使用了相当复杂的技术来隐藏文件、将代码注入内存,并且删除了相关的日志来掩盖攻击痕迹。
通过分析服务器的日志可知,攻击者利用分配给乌克兰 ISP Green Floid 的 IP 地址,在当地时间上午 10 点前开始扫描目标网站,使用自动化工具扫描目标网站上的 9000 多个路径。
用了 76 秒确定 Web 服务器部署了 ColdFusion 的安装文件和特定 URI,如/admin.cfm
、/login.cfm
和/CFIDE/Administrator/
。
三分钟后,攻击者利用 ColdFusion 中的一个目录遍历漏洞(CVE-2010-2861)发起攻击。该漏洞支持远程用户检索不公开的 Web 目录文件,攻击者请求了名为 password.properties
的文件。
接着,攻击者利用了 ColdFusion 中的另一个漏洞 CVE-2009-3960,该漏洞允许攻击者滥用 ColdFusion 的 XML 处理协议来注入数据。利用该漏洞,攻击者通过 HTTP POST 请求将文件上传到 ColdFusion 服务器的 /flex2gateway/amf
中。
该文件为一个 WebShell,将参数传递给 Windows 的 cmd.exe 执行。
攻击者从 c:\windows\temp\csa.log
到E:\cf9_final\cfusion\wwwroot\CFIDE\cfa.css
写入以 base64 编码的 WebShell。
随后,攻击者通过 WebShell 将 Cobalt Strike Beacon 加载执行。
紧接着,攻击者用乱码覆盖了包含 WebShell 的文件,以阻碍调查分析。
大约在 62 小时后,攻击者就又回来了。使用 Beacon 在失陷主机上上传文件并执行命令,文件被放入https://image.3001.net/images/20210925/1632547634_614eb332c7f01c3ab118f.png!small
同时传递一组十六进制编码参数来执行。
解码参数如下所示:
-IsErIK
函数将拉取新的脚本并进行持久化。
几个小时后,攻击者在名为 cfiut.cfm 的 ColdFusion /CFIDE/ 目录中放置了第二个WebShell。利用该 WebShell 导出了许多注册表配置并写入 .png
的文件中,然后存储到可公开访问的路径下。
大约在五个小时后,攻击者调用 WMIC 从白俄罗斯的 IP 地址下载名为01.css
和02.css
的文件。此外,攻击者还创建了一个名为agent$
的帐户,密码为P@ssw0rd
,并授予其管理员权限。
随后,攻击者配置域管理员权限,然后进行横向平移分发 Cobalt Strike Beacon。攻击者禁用 Windows Defender 和其他安全软件后,发现该服务器部署了虚拟机管理程序,于是关闭了虚拟机。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Get-VM | % {Stop-VM $_ -TurnOff}
最后,在入侵 ColdFusion 服务器大约 79 小时后,攻击者部署了 Cring 勒索软件对数据文件进行加密。攻击者删除了卷影副本,清除了事件日志并重启了安全软件。
勒索信息会显示在 Windows 登录屏幕上,而不是作为桌面上的文本文件。
Sophos