用户
搜索
  • TA的每日心情
    擦汗
    2019-1-31 10:58
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    官方账号

    Rank: 7Rank: 7Rank: 7

    231

    主题

    233

    帖子

    1962

    魔法币
    收听
    0
    粉丝
    1
    注册时间
    2018-12-21

    i春秋认证

    发表于 2019-11-20 19:35:47 01200

    22.png

    介绍

    我想分享最近发现的一个有趣现象,提前说明,这是我基于最新的Windows 10操作系统以及最新的的MS Office 365所发现的。这也是我在开发网络钓鱼工具PhishAPI时偶然发现的。

    大多数用户都知道,在打开文档时,经常会出现“受保护视图”模式。该模式会防御很多以前出现的Office安全问题,导致诸如IP地址、操作时间戳、操作系统/Office版本,甚至NTLMv2等信息被窃取!

    背景

    在Microsoft Office文档中嵌入隐藏的HTTP和UNC调用并不是一种新技术,正如大多数人所知道的那样,像Word文档(docx)这样的文件实际上是包含xml数据的压缩文件。如要自己确定这点,只需用压缩软件打开docx文件,或者将其重命名为.zip,然后直接打开。

    33.png

    这些压缩文件往往包含多种资源,例如图像以及引用它们的xml文件。当然也可以使用外部的图像,这就是HTTP调用存在的意义。你可以直接引用一个外部URI,而不是文件内部的物理路径。

    你也可以将图像设置为隐藏,这样就不会在文档中看到。红队团队经常使用这种技术配合Netcat设置一个监听端口(类似于nc -lv 0.0.0.0 80),来判断目标是否上钩。

    通过PhishAPI,我能为新文档自动创建xml信息,以及为现有文档插入一个钩子。不需要手动更改xml或或Word文档,一切都可以快速轻松地完成。

    PhishAPI会生成一个Web服务来监听这些请求,并捕获IP地址、user-agent、凭证(比如Phishery,通过使用basic-auth)等。如果是通过UNC调用发出的SMB请求,还能抓取到hash。

    如果你想手工操作,以下就是Word文档中的xml部分:

    44.png

    为了防御这种威胁,微软在2010版本后的Office文档中增加了一个名为“受保护视图”的功能。你必须点击顶部的“启用”才能更改或运行动态内容。在这种模式下,宏和其他动态/远程内容都不会运行。实际上,当这个文档来自本地之外的某个地方时,就会设置一个标志来启用受保护视图。一旦你手动覆盖它一次,这个标志就会被重置,将不会再次提示。也就是把这个文件标记为安全。

    55.png

    一般来说,PhishAPI会试图欺骗用户点击“启用编辑”,否则你很难收集到任何信息。

    发现

    我使用PhishAPI中的默认模板生成了一个新钓鱼文档,就像我以前做过的钓鱼测试一样。当我准备把它发给了另一个同事时,惊讶地发现这个文档已经发回了信息。但这是一个从互联网上下载的文档,本应处于“受保护视图”模式,我也从没打开过!

    66.png

    我很快意识到这是因为我在Windows 10的文件管理器中使用了“预览窗格”。只是突出显示文档就会导致内部的payload在Windows上运行。因为这只是一个“预览”,所以不受“受保护的视图”影响。这对我来说很有趣,因为我之前一直以为文档的预览不会触发动态或远程内容。

    77.png

    你可以从上面的图片中看到,尽管这个文件还没有打开,我依然收到了通知。不过当我直接打开它时,仍然会提示“受保护视图”。

    好的,HTTP请求的确可以,那么发出SMB请求会导致泄露NTLMv2么?我在本地监听了445/139端口,在测试中也成功收到了我自己的hash!

    88.png

    为了更全面的测试,我还改造了Excel,往其中插入了宏,但貌似并不可以:

    99.png

    最后,我注意到另一件事,Office 365(在Web浏览器中处理)也不存在“受保护视图”,会正常触发HTTP请求。因此,如果你的目标正在使用Office 365,那么这是很好的钓鱼方式。不过目前我还无法窃取到hash。

    虽然“预览窗格”不可能总是会在目标的机器上启用,但这是一种新的攻击角度。我注意到当上传文件到网站时,主流浏览器(至少包括Firefox和Chrome)默认启用预览。以下截图是我在文件浏览器中禁用预览窗格并通过Firefox和Chrome (Slack)上传文件后的截图,你可以在第二幅图像的背景中看到提示信息。

    100.png

    110.png

    结论

    如果日常的钓鱼攻击中,目标可能会在处理恶意文档时会产生一种错误的安全感,认为只要不打开文档就安全,或者打开文件但不点击许可就安全。但是,就像我刚才演示的那样,类似于“浏览”之类的功能有可能会触发payload。只要恶意文档还留在目标的机器中,就一直有中招的可能。这也解释了为什么我的一些钓鱼文档在测试结束后几个月才返回信息。

    我已经将该漏洞发送给微软的MSRC团队。但不幸的是,经过一周多的等待,他们认为这是一个计划在未来解决的问题,并不会给我奖励,也不打算给出解决时间。这对我来说真是个坏消息,但对红队的人来说,他们可以长期使用Office文档的这个“特征”了。

    我们的团队确定此问题不需立刻修复。不过它将是未来版本中的改进点之一。目前我们不会提供任何安全更新,这个问题的讨论就结束。
    
    微软未将你的报告确认为安全漏洞。尽管所有缺陷都是漏洞,但这并不需要立刻修补。
    

    虽然我的发现没有完全绕过“受保护视图”,但我认为这仍然存在敏感信息泄露的风险。某种程度上它比直接绕过更为严重,因为这甚至不需要打开文件。我希望这篇文章能缩短这个问题的解决时间。

    本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3195.html
    来源:https://medium.com/@curtbraz/getting-malicious-office-documents-to-fire-with-protected-view-4de18668c386
    
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册