打开可疑的 HTML 文件(例如电子邮件附件)是否安全?

信息安全 恶意软件 电子邮件 网络钓鱼 html
2021-08-25 16:31:11

如果我收到一封带有类似附件的电子邮件,safe-link.html打开此文件是否安全?

显然,HTML 文件可能嵌入了恶意脚本,这些脚本可以在使用浏览器打开时运行。但是,我想知道在下载文件然后在记事本/其他基本文本编辑器而不是网络浏览器中打开它时是否会发生任何违规行为?

背景

我只是问,因为我工作的公司喜欢不时发送“测试”网络钓鱼电子邮件,而最新的有一个 HTML 附件。我立即怀疑这封电子邮件(所以没有在浏览器中点击打开附件),但我很想看看它是否真的是另一个测试!

所以我建议同事用记事本打开文件。我们都足够精通阅读 HTML,所以会立即发现通常的“如果这不仅仅是一个测试,你的计算机就会受到损害!”,但他们非常担心我曾想过与文件进行交互.

我有理由相信 html 文件中的任何恶意脚本都必须在 Web 浏览器中打开才能生效。

是我的同事过于谨慎,还是我过于热心?

我是“安全胜于遗憾”的倡导者,所以我认为他们不打开它是不对的;我只是也不相信用记事本之类的东西打开是完全不安全的。我很想知道!

我知道的“陷阱”:

我相信在更复杂的网站开发工具中编辑它(实际上是在预览中呈现页面)可能很危险。

另外,我知道只需双击文件(即使默认的“打开方式”设置为文本编辑器)可能很危险。这是因为类似的东西readme.txt实际上可能是readme.txt.exe隐藏在 Windows 文件资源管理器之类的东西中的文件扩展名。

4个回答

编辑器和编辑器使用的常用库可能存在缓冲区溢出等漏洞。您的攻击者需要知道(或猜测)您使用的编辑器,并专门为该编辑器设计一个漏洞利用(不同的编辑器不太可能具有相同的漏洞,除非该漏洞位于它们共同的库中)。攻击可能针对流行的编辑器并发送给尽可能多的人,本质上将其变成“spray-n-pray”攻击。


攻击面

像 Microsoft 的记事本这样非常简单的编辑器比更高级的编辑器(如 Visual Studio Code)具有更小的攻击面。更多的代码通常意味着更多的潜在漏洞。


缓解措施

某些缓解技术,例如地址空间布局随机化 (ASLR)数据执行保护和带有“漏洞利用阻止程序”的防病毒软件(这些通常能够识别基本的溢出攻击等)可能有助于使某些攻击无效。

软件更新

当然,所有这些技术都不能替代使您的软件(我可能添加的所有软件)保持最新状态。保持软件更新是最好的安全策略。由于缺乏反馈,这有时会被忽视或轻视。防病毒软件对您大喊“您受到保护!” 比在后台默默修补漏洞的软件更新发出的信号要强得多。我倾向于将防病毒程序与将手指伸入堤坝孔中以防止水流过的人进行比较。它尽最大努力阻止洪水,但很可能没有足够的手指来填满所有的洞(或完全错过一些洞)。软件补丁修复了这些漏洞。


底线

通过在任何类型的程序中打开任何类型的文件,您永远无法确定自己不会有糟糕的一天。然而,一些程序(如编辑器)由于占用空间小或设计安全而更难攻击,因此不太可能成为大规模攻击的目标(尤其是因为攻击者可能认为他们的邪恶 .html 文件将被在浏览器中打开,而不是在编辑器中)。

哦,这些答案对于您的情况来说太复杂了。假设您的 IT 部门知道您使用的是什么编辑器,那么您的 IT 部门不太可能使用一些奇特的解决方法,他们的重点不是真正搞砸您的系统。无论如何,记事本不会对任何图像或附件做任何事情,而且您看到的文本肯定不会对您的系统造成任何应受谴责的事情。即使这是一次真正的攻击,也不太可能发生,因为编辑器是非常个人化的工具,为了产生任何可检测的效果,必须覆盖很多很多的工具。

告诉你的同事不要让你失望,自己要更加小心。让我指出,尽管你把自己挖进了这个洞,却取得了与预期相反的结果……。如果您没有宣布您看过和看到了什么,那么显然对 IT 安全一无所知的人就不会骚扰您并对此感到优越。相反,他们中的一些人会打开附件并看到消息,并受到一些惩罚。所以你一直搞砸了 IT 的测试,强调了邓宁-克鲁格效应,这无疑是发出这些测试的原因。停下来!

好的,所以,从技术上讲,你永远不会 100% 安全。是的,您的文本编辑器/ASCII 查看器可能会受到攻击。是的,有人可能会以某种方式神奇地将 DLL 偷偷带入您的临时目录,以扰乱 MS 记事本延迟加载。

实际上,当您在网络钓鱼电子邮件中收到 HTML 文件时,它会包含一些恶意 JavaScript,或者更有可能将您重定向到试图说服您交出信用卡详细信息/登录信息的在线网站。

因此,在实践中,在 Notepad++ 中检查这样的文件是查看发送给您的内容的完全合理的方式。你同事的反应似乎不公平,除非你在核筒仓里工作……如果你的工作真的任务/安全至关重要,为什么还有电子邮件?为什么会有互联网接入?而且,如果没有,您为什么需要网络钓鱼审核/测试/蜜罐?某个地方的某个人过于偏执。

我们可以尝试将风险降低到零,但实现这一目标的唯一方法是不使用计算机。

尽管如此,你总是不得不和愚蠢的人打交道,所以下次也许把这个活动留给自己。;)

一般来说,这是不安全的,因为如果您收到可疑或意外的电子邮件,无论附件是什么,都不应该打开它。这是最安全的做法。特别是如果你在 Windows 上,它以执行不应该执行的东西而臭名昭著,并且它是攻击者最有针对性的操作系统,运行着最具针对性的应用程序。

但是,如果您仍然想打开它,可能是因为您是 INFOSEC 爱好者,或者您认为自己(或想要)比普通用户更聪明,这里有一些建议:

  • 考虑阅读电子邮件的源代码,而不是打开它。您可以直接从 webmail 界面执行此操作,或者通过阅读服务器上的文本文件等方式执行此操作。
  • 考虑通过复制和粘贴其 base64 表示来从源下载附件。这只是简单的 ASCII 文本。然后,您可以使用一些工具将其转换回二进制文件。
  • 考虑重命名文件,将其保存为潜在恶意.txt 而不是 .html 或它具有的任何名称和扩展名。
  • 考虑使用非常基本的文本编辑器,甚至是十六进制编辑器,或者甚至使用仅显示 ASCII 字符的命令行上可用的非常简单的基本工具来打开 txt 文件。一个例子可能是cat file.txt | less在 Linux 上。(注意:为什么cat之前less?因为我注意到less有时默认情况下会解析和转换一些东西,比如将 PDF 转换为 TXT。所以要小心,最好检查一下这些命令在您的系统上默认执行的操作)。
  • 考虑在虚拟机中打开文件,该文件应该是最新的并且与网络断开连接。
  • 考虑在家里做大部分事情,永远不要告诉你的老板或同事。他们可能会将其视为危险行为、违反安全策略或可能会给您带来麻烦的事情。