<% dim ModuleName,InfoID,ChannelShortName,CorrelativeArticle,InstallDir,ChannelDir,Keyword,PageTitle,ArticleIntro,Articlecontent Keyword=stripHTML("OLEOutlook,一封邮件,企业安全") PageTitle=stripHTML("OLEOutlook利用:一封邮件绕过所有企业安全防控") ArticleIntro=stripHTML("在本文中,我会向大家展示如何通过Email将一个可执行文件嵌入到公司网络。伪装成一份Word文档,绕过防火墙,目前该问题还没有任何补丁发布!") Articlecontent=stripHTML("           今天早些时候,我写OLE Package还是packager.dll的时候,一个Windows特性回溯到Windows 3.1,在之后的W…") ModuleName = stripHTML("exploits") InfoID = stripHTML("222081") ChannelShortName=stripHTML("漏洞") InstallDir=stripHTML("http://www.77169.com/") ChannelDir=stripHTML("exploits") %> OLEOutlook利用:一封邮件绕过所有企业安全防控 - 华盟网 - http://www.77169.com
您现在的位置: 华盟网 >> 漏洞 >> 最新漏洞 >> 其它漏洞 >> 正文

[图文]OLEOutlook利用:一封邮件绕过所有企业安全防控

2015/12/29 作者:鸢尾 来源: 网络收集
导读 <% if len(ArticleIntro)<3 then Response.Write Articlecontent 'Response.Write "Articlecontent" else Response.Write ArticleIntro 'Response.Write "ArticleIntro" end if %>

        

  今天早些时候,我写OLE Package还是packager.dll的时候,一个Windows特性回溯到Windows 3.1,在之后的Windows版本中也存在,它允许在文档中嵌入任何内容!

  当时我就强调,你可以将恶意内容放到Word文档,再转换成富文本格式来绕过大多数企业邮件过滤系统。

  Microsoft Outlook.

  没错,Microsoft Outlook从2003版本起就开始支持OLE Package。默认情况下Outlook,通过Email接收的OLE Package是不允许打开可执行代码的。你无法点击图标

  这项策略非常伟大!

  但是,如果你将该邮件保存为.msg文件,然后将其作为邮件的附件,用户就可以打开这个包了!

  到目前为止我尝试了所有魔力象限(Magic Quadrant)所列举的邮件过滤解决方案,没有一款能够检测到其中内容。

  编译Package

  你需要:

Microsoft Outlook 2003之后版本, 包括 Outlook 2016。

  你需要打开一个新的电子邮件,最大化窗口,之后单击插入 -> 对象 -> 向下滚动找到Package。然后选择你想要嵌入的内容,这里我们以Windows计算器为例:

  

  现在单击文件 -> 另存为,给它取一个名称,例如testing.msg

  然后新建一个邮件,告诉用户记得查看附件,将testing.msg作为附件增加到邮件中,并发送给公司的员工。

  用户接收到邮件,如果他打开testing.msg文件,就会打开可执行文件,以及你在其中写下的提示!

  没事,我们的防御系统能够阻止

  这个脸是打的不要不要的,例如交换层保护装置守护使(SOPHOS),纯消息策略就无法应用到OLE Packages中,如果你过滤掉.exe文件,他也只能眼睁睁的看着你从眼前飘过!Outlook自身对于OLE Packages也会忽略危险文件类型,并故作从容的允许它轻松的打开。

  

  更糟糕的是Outlook.exe作为中等完整性运行,并生成可执行文件(或批处理文件,或者其他你嵌入的内容)都是中等完整性,所以你就跳出了Outlook以及Windows的沙盒的保护。

  做事要有始有终

  接下来便是用一个警告标志来替换calc.exe。

  在Outlook中你无法点击“作为图标显示”复选框,这就需要你改变图标和描述了…

  除了Outlook 2013,你可以转换HTML消息格式转换为富文本格式,然后返回插入 -> Package

  勾选“显示为图标”选项,然后选择一个新的图标—— Winword.exe和Excel.exe都是很好的选择,之后在下面窗口重命名附件,例如invoice.docx。

  

  然后将消息类型换回HTML(重要),然后保存邮件:

  

  在上面的例子中,通过安全提醒盲目的你打开了Invoice.docx,之后弹出了Firefox安装程序

  保护

  3个途径:

  其一便是应用白名单,然而对于嵌入的签名的带参数可执行文件要非常小心了。例如许多微软数字签名工具就可以拿来作为其他内容的跳板,由于是微软的签名,可能你现在对那些签名是信认的不能再信任了。

  其二为你的Office版本部署注册表ShowOLEPackageObj键值,默默的禁止Outlook中的OLE Package函数。这里没有更全面的禁用方法,然而攻击者依旧可以在Word, Excel以及PowerPoint中嵌入恶意内容。

  

  其三是EMET,如果你运行Microsoft EMET(或者像Palo-Alto TRAPS的类似产品),可以为Outlook.exe增加以下规则:

<Mitigation Name="ASR" Enabled="true">
        <asr_modules>packager.dll</asr_modules>
      </Mitigation>

  通过阻止packager.dll,你是可以粗暴的解决该问题!

  总结

  该问题需要Microsoft好生去整理,这里没有办法阻止用户跳出沙盒保护或者控制,点击一个用Word图标伪装的Invoice.docx文件,之后生成未知的代码。

  问答时间

  Q:你今天讲的不就是BadWinmail (CVE-2015–6172 MS15–131 KB3116111)么?可参考《Microsoft Outlook曝严重漏洞,可导致远程代码执行

  A:不,这是一个不同于Haifei所发现的问题

  Q:你可以提供一份预先构建好的测试文件么?

  A:完全可以,看看这份文件。其仅打开Firefox安装程序(官方版本),你看将其作为邮件附件发送给你的同事,似乎这才是最好的诠释方式!

漏洞栏目相关内容

    没有相关漏洞