前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Outlook Forms绕过VB宏,获取目标Shell

利用Outlook Forms绕过VB宏,获取目标Shell

作者头像
FB客服
发布2018-02-24 15:08:23
1.1K0
发布2018-02-24 15:08:23
举报
文章被收录于专栏:FreeBufFreeBuf

利用宏规则散布恶意程序已成为众所周知的途径,因此许多人都通过禁用宏规来保护信息安全。但如今,“宏”似乎变成了一个可以绕过的障碍。此前的Word 0-day漏洞就无需启用宏,只需打开文档便可植入恶意程序。而此次,Sensepost发现了一种利用Outlook Forms,成功绕过宏规则,获取目标shell的方法,有可能被攻击者恶意利用。但微软似乎并不认为这是一个程序漏洞。

Outlook Forms缘何得以“重用”?

一批白帽子研究人员另辟蹊径,找到了一种新的方法——利用Outlook Forms绕过宏规则,获取受害者的shell。

Sensepost表示微软在2016版的Outlook中修补了一些原有的漏洞,因此他们自己开发的“Ruler”工具已经无法发动攻击。同时,越来越多的机构都开始”禁用宏“,因此Sensepost试图寻找其他的攻击方式。

但来自Sensepost的Etienne Stalmans还是发现了Outlook一些有趣的功能,其中就包括Outlook Forms。Outlook Forms可以运行VB脚本内容,与此同时,表单的脚本引擎与VM 宏的脚本引擎是相互分离的,这就意味着,攻击者可以在不启用宏的情况下发动攻击。

如何利用Outlook Forms 获取用户shell?

Outlook Forms的说明文档还是2008年编写的——因此很明显表单功能在将近十年内都没有发生变化。

Sensepost官方博客中的文章提到,通过Outlook Forms,”我们有足够的VB脚本引擎”,演示的方法依旧是打开一个计算器Calc.exe:

Function Item_Open() CreateObject("Wscript.Shell").Run "calc.exe", 0, False End Function

要找到表单储存的位置还是花了不少功夫的(需要知道表单是如何通过MAPI获得储存的),这部分内容并没有记录到说明文档中。

“例如,将‘PidTagSendOutlookRecallReport’设置为true之后,表单就会从用户界面上消失。这就意味着,在自定义表单下设的新项目菜单中,不会出现新的表单。为了找到这个新的表单,用户需要在Outlook中前往高级选项卡,指向表单,选中收件箱,浏览表单列表(这是不现实的)。”

Stalmans列出了如下的表单模板,看起来会更为明确:

Function P() >>MAGIC<< End Function Function Item_Open() Call P() End Function Function Item_Reply(ByVal Response) Call P() End Function Function Item_Forward(ByVal ForwardItem) Call P() End Function Function Item_Read(ByVal Response) Call P() End Function

正如前文所说,攻击者在此有很多可以利用的地方,Sensepost表示,只要用户进行一些最基本的操作(例如回看信息,阅读信息,打开信息,回复信息或转发信息)就可以触发payload。Stalmans在文中提到:

“你需要一小部分的社工技巧,吸引用户打开消息或对其进行转发。其优势就在于,即便用户把邮件转发给应急响应团队,payload依然可以触发。”

微软:这不是什么漏洞

但微软不认为这是程序漏洞,微软在一份声明中表示:

“博客中提到的这项技术并非软件漏洞,而且其利用需要用到已经被入侵的帐号。我们鼓励用户采用强度更高的密码,不要在多个服务之间采用相同的密码,并启用类似多重身份认证等安全功能保证账户安全。”

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Outlook Forms缘何得以“重用”?
  • 如何利用Outlook Forms 获取用户shell?
  • 微软:这不是什么漏洞
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档