01
介绍
低权限用户持久化技术非常有价值。我们一直喜欢研究新奇的技术,这些技术很少有人涉猎,蓝队对它们也很感兴趣。本文将讲到Outlook的持久化技术,但目前,很多蓝队没有关注该技术。
此前,已经有多位研究人员研究过基于 Outlook 的持久化这个话题,包括Dave Hartley和Nick Landers,他们详细介绍了如何使用Outlook规则来实现持久化。
但在本文中,我们会重点介绍使用Outlook的VbsProject.OTM文件,通过不同的操作来实现相似的结果。虽然这个技术尚未得到普及,但之前Cobalt Kitty就把它当作命令和控制通道用过。
02
分析
与大多数Microsoft Office产品一样,Outlook能够启用“开发人员”选项卡,通过VB编辑器创建基于VBA的宏。打开编辑器,创建一个简单的宏,就能找到一个名为“ ThisOutlookSession”的Outlook特定模块:
保存这个宏会导致%APPDATA%\Roaming\Microsoft\Outlook目录创建VbaProject.OTM文件:
但是,以默认配置执行宏会失败,默认配置为“数字签名宏的通知,所有其他宏均已禁用”。
利用以下值创建安全性注册表项来修改这个配置:
Level值用以下值定义宏安全性配置:
4 = 在不弹出通知的情况下禁用所有宏
3 = 如果有数字签名的宏,则弹出通知,禁用其他宏
2 = 给所有宏弹出通知
1 = 启用所有宏
若要宏不通知用户,隐蔽运行,需要设置Level值,在操作期间启用所有宏。
检查VbaProject.OTM文件时,我们发现它是标准的Microsoft复合文档文件(CDF):
dmc@deathstar ~ ✗ file ~/VbaProject.OTM
进一步的分析oledump.py,发现它包含宏代码的OLE流:
dmc@deathstar ~ ✗ python oledump.py ~/VbaProject.OTM
现在,我们知道VbaProject.OTM是启用了标准OLE宏的文档,所以,创建、混淆、清除和重载这些文件的传统工具和技术仍然适用。如果把它拖放到磁盘上,要确保其静态安全。
接下来,我们会深入研究如何持久化和武器化。
03
武器化
把VBA代码作为事件的结果执行。ThisOutlookSession模块能让我们订阅Outlook里的不同事件,有不同的机会执行代码。
持久化可能包括由用户驱动的某些事件(例如,打开Outlook),或者由攻击者决定的某些事件(例如接收特定邮件)。在演示武器化时,我们会重点讨论后者,并说明如何利用带有特定主题的邮件来执行任意VBA。
若要设置收到新邮件的时间,可以在Outlook启动时,先订阅默认收件箱的事件,这能通过以下方法来实现:在注册事件时,给默认收件箱文件夹(olInboxItems)设置一个变量:
Option Explicit
然后,利用用户对收件箱的引用,在新邮件到达时,借助“ ItemAdd ”回调函数接收事件:
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
我们只关注电子邮件的接受,所以需要优化回调,让它仅触发新的邮件项目。这要验证条目,确保其类型为“ MailItem ”:
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
如果不希望在每个接收到的邮件上执行,可以用电子邮件地址,主题,正文内容等条件来过滤接收到的邮件。扩展上述代码,当收到特定主题(MailItem.Subject)的邮件时,执行代码,随后用MailItem.Delete方法删除电子邮件:
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
把上述代码放在一起,然后弹出计算器:
Option Explicit
弹出计算器只是概念证明,可以利用武器化的方式生成一个 Beacon,具体的实现方式留给各位读者尝试。
04
检测
从终端角度来看,可以通过以下两个关键指标来检测该技术:
1.检测creation/modification events (Sysmon event ID 11) for the %APPDATA%\Roaming\Microsoft\Outlook\VbaProject.OTM文件。
2.检测注册表 HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security 键和 Level 值的创建、修改事件(Sysmon 事件 ID 12)。
本文作者是Dominic Chell。
木星安全实验室(MxLab),由中国网安·广州三零卫士成立,汇聚国内多名安全专家和反间谍专家组建而成,深耕工控安全、IoT安全、红队评估、反间谍、数据保护、APT分析等高级安全领域,木星安全实验室坚持在反间谍和业务安全的领域进行探索和研究。