网络钓鱼电子邮件中的 HTML 附件
导语:在网络钓鱼电子邮件中使用嵌入式 HTML 文档是网络犯罪分子采用的标准技术。
在网络钓鱼电子邮件中使用嵌入式 HTML 文档是网络犯罪分子采用的标准技术。它消除了将链接放入电子邮件正文的需要,反垃圾邮件引擎和电子邮件防病毒通常可以轻松检测到这些链接。HTML 为伪装网络钓鱼内容提供了比电子邮件更多的可能性。
网络犯罪分子主要使用两种类型的 HTML 附件:带有指向虚假网站链接的 HTML 文件或成熟的网络钓鱼页面。在第一种情况下,攻击者不仅可以隐藏文件中的链接,还可以在用户打开此文件时自动将用户重定向到欺诈站点。第二种类型的 HTML 附件可以完全跳过创建网站并节省托管成本:网络钓鱼表单和收集数据的脚本直接嵌入在附件中。此外,HTML 文件(如电子邮件)可以根据目标受害者和攻击媒介进行修改,从而实现更加个性化的网络钓鱼内容。
带有 HTML 附件的示例电子邮件
网络钓鱼 HTML 附件的结构
HTML 附件中的网络钓鱼元素通常使用 JavaScript 实现,它处理将用户重定向到网络钓鱼站点或收集凭据并将其发送给诈骗者。
钓鱼 HTML 页面及其源代码
通常,HTML 页面将数据发送到脚本中指定的恶意 URL。一些附件完全(或大部分)由 JS 脚本组成。
在电子邮件源代码中,HTML 附件看起来像纯文本,通常是 Base64 编码的。
电子邮件源代码中的 HTML 附件
如果文件包含明文的恶意脚本或链接,安全软件可以快速解析并阻止它。为了避免这种情况,网络犯罪分子会采取各种手段。
JavaScript 混淆
JavaScript 混淆是用于伪装 HTML 附件的最常用技术之一。为了防止文件中的 URL 被快速发现和阻止,网络钓鱼者会混淆网络钓鱼链接本身或整个脚本,有时甚至是整个 HTML 文件。在某些情况下,网络犯罪分子会手动混淆代码,但他们通常使用现成的工具,其中许多工具是免费提供的,例如JavaScript Obfuscator。
例如,在文本编辑器中打开据称来自汇丰银行的钓鱼邮件中的 HTML 附件(见图 1),我们会看到一些相当混乱的 JS 代码,看起来既不提示打开链接,也不提示打开链接。任何其他有意义的动作。
HTML 附件中的混淆示例
然而,它实际上是一个将用户重定向到钓鱼网站的混淆脚本。为了伪装钓鱼链接,攻击者使用了现成的工具,让我们可以轻松地对脚本进行反混淆。
来自 HSBC 银行的电子邮件附件中的反混淆脚本:重定向用户的链接
如果脚本、链接或 HTML 页面被手动混淆,则恢复原始代码要困难得多。要检测此类文件中的网络钓鱼内容,可能需要进行动态分析,其中涉及运行和调试代码。
编码
有时攻击者会使用更有趣的方法。例如,在一封网络钓鱼电子邮件中,我们发现了一个不寻常的 HTML 附件。如上例所示,它包含 JavaScript。由于代码非常紧凑,人们可能会认为它与伪造的 HSBC 电子邮件中的代码相同——即将用户重定向到网络钓鱼站点。但是在运行它时,我们发现了一个用这个小脚本编码的完整的网络钓鱼页面。
使用 unescape() 方法的 HTML 文件——文件的源代码只包含五行,其中一行是空的
图 7. HTML 附件中的网络钓鱼页面
网络犯罪分子使用了一个有趣的技巧,其中涉及已弃用的 JS 方法 unescape()。此方法将“%xx”字符序列替换为传递给它的字符串中的 ASCII 等效项。运行脚本并查看结果页面的源代码,我们会看到纯 HTML。
图 8. 生成的 HTML 文件
JavaScript 现在使用 decodeURI() 和 decodeURIComponent() 方法代替 unescape(),但大多数现代浏览器仍然支持 unescape()。我们不能肯定为什么攻击者选择了一种已弃用的方法,但这可能是因为现代方法更有可能被反垃圾邮件引擎解释和检测到。
统计数据
2022 年前四个月,卡巴斯基安全解决方案检测到近 200 万封包含恶意 HTML 附件的电子邮件。其中近一半 (851,328) 在 3 月份被检测到并被阻止。1 月是最平静的月份,我们的反垃圾邮件解决方案检测到 299,859 封带有网络钓鱼 HTML 附件的电子邮件。
结论
网络钓鱼者使用各种技巧来绕过电子邮件拦截,并引诱尽可能多的用户访问他们的欺诈网站。一种常见的技术是带有部分或完全混淆代码的 HTML 附件。HTML 文件允许攻击者使用脚本、混淆恶意内容以使其更难检测,并将网络钓鱼页面作为附件而不是链接发送。
发表评论