PerSwaysion 网络钓鱼又回来了,技术还是升级版
2022-1-21 15:19:0 Author: paper.seebug.org(查看原文) 阅读量:24 收藏

译者:知道创宇404实验室翻译组
原文链接:https://blog.scarletshark.com/perswaysion-threat-actor-updates-their-techniques-and-infrastructure-e9465157a653

PerSwaysion 网络钓鱼又回来了。PerSwaysion 背后的黑客正在使用更直接的钓鱼方法和更新的技术,旨在窃取微软365的凭证。

PerSwaysion 简述

2020年4月,安全公司 Group-IB 威胁情报小组发表了一份关于“ PerSwaysion 网络钓鱼攻击”的调查报告。这次攻击针对的是高层管理人员,攻击时间至少可以追溯到2019年8月。Group-IB 认为这些攻击很可能是由一个越南的黑客实施的。你可以在这里读到他们的报告

一年多以后,也就是2021年11月,SeclarityIO 发布了一份针对 PerSwaysion 的钓鱼工具包代码及其基础设施的深入分析

本文将重点介绍在我们观察到的最新的网络钓鱼中所使用的技术和当前基础设施的变化。

攻击链

在过去,PerSwaysion 网络钓鱼页面托管在文件共享网站或有试用版或免费版的托管网站。我们假设,网络钓鱼攻击能在网络钓鱼页面被撤下或试用期结束之前完成。

在他们最近的攻击中,这个攻击者已经从使用托管的钓鱼网站转变为一个附带钓鱼邮件的 HTML 文件。附加的文件会加载一系列的支持文件,以显示微软365的登录页面的副本。请参阅下面的攻击链图表。

钓鱼电子邮件ー诱惑

PerSwaysion 网络钓鱼邮件的截图

最新的电子邮件是通过亚马逊的简单电子邮件服务发送的,每封电子邮件都同时通过了 SDF 和 DKIM 的保护。

gemlacksresults[.]netrotarim50[.]com 被用作发送域。这两个发件人域名都通过 sav.com 网站注册,并在注册后不到30天内被使用。

之前的钓鱼邮件是使用被盗的谷歌邮件账户发送。

HTML 附件

钓鱼邮件的有效载荷是一个 HTML 附件。这个文件的内容是混淆的使用多层的 JavaScript 函数。我们推测,这是为了规避一些电子邮件过滤系统,以及防止有效载荷的因果分析。尽管如此,微软的 Exchange 在线高级威胁保护也检测到这些附件是恶意的。

混淆处理的第一层是 Base 64编码的文本,它使用内置的浏览器函数进行解码。然后将解码后的文本写入文档对象模型(DOM)。这是一个附有HTML 附件钓鱼电子邮件里常见的技术。通常可以看到,Base 64解码嵌套在文档 write 函数中,如下所示: document.write(atob(“[Base 64 Text]”));

下一层的模糊处理使用了修改过的 JavaScript 缩小器和 packer 函数,该函数最初由Dean Edwards开发。这个修改版本涵盖了额外的数组查找和替换,查找数组包含字符移位密码值。

尽管有了模糊处理层,附加的 HTML 页面却只是一个简单的包装器,它添加了反调试的 JavaScript 语句,并且只有一个指向外部 JavaScript 文件的链接。这个外部 JavaScript 文件加载额外的资源来向受害者显示钓鱼页面(为了便于引用,我们将这个文件称为 JavaScript 加载器文件)。

JavaScript 加载器文件托管在hXXps://valdia.quatiappcn[.]pw/[hex digits].js。以前的攻击活动使用hXXps://kifot.wancdnapp[.]page/[hex digits].js 托管这个文件。在我们发现的所有活动中,都有多个 JavaScript 加载器文件托管在这里,每个文件都有一个由十六进制数字组成的唯一文件名。

加载程序文件将反过来加载钓鱼工具包中使用的其他库文件。每个唯一的加载程序文件加载相同的库文件,除非一个文件对于每个加载程序文件名是唯一的。这个唯一的文件有一个文件名,它有32个十六进制字符和一个.Js 扩展名。它包含一个硬编码的字符串,看起来是 Base 64编码的文本,但不能解码为任何可识别的内容。这可能表明内容是加密的,或者它是 PerSwaysion 服务器上用来区分攻击活动和用户的 API 密钥。

JavaScript加载器文件加载以下这些钓鱼工具资源文件:

hXXps://rikapcndmmooz.firebaseapp.com/njtyzxntbfsdvxxz/themes/css/7f01272697919812996411ac56c3d204nbr1639582853.css hXXps://rikapcndmmooz.firebaseapp.com/njtyzxntbfsdvxxz/themes/css/069a654bc4a1e6e66a713098353bb534nbr1639582853.css hXXps://rikapcndmmooz.firebaseapp.com/njtyzxntbfsdvxxz/themes/7f01272697919812996411ac56c3d204nbr1639582853.js hXXps://rikapcndmmooz.firebaseapp.com/njtyzxntbfsdvxxz/themes/ab50d0179cfb0f7e29d68bebaaa0e399.js hXXps://rikapcndmmooz.firebaseapp.com/njtyzxntbfsdvxxz/themes/js/a3107e4d4ae0ea783cd1177c52f1e6301639582846.js

以及这些开源的 JavaScript 库:

hXXps://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js hXXps://cdnjs.cloudflare.com/ajax/libs/mobile-detect/1.3.6/mobile-detect.min.js hXXps://cdnjs.cloudflare.com/ajax/libs/vuex/2.3.1/vuex.min.js hXXps://cdnjs.cloudflare.com/ajax/libs/vee-validate/2.0.0-rc.3/vee-validate.min.js hXXps://cdnjs.cloudflare.com/ajax/libs/vue-i18n/7.0.3/vue-i18n.min.js hXXps://unpkg.com/[email protected]/dist/axios.min.js hXXps://unpkg.com/[email protected]/lodash.min.js hXXps://unpkg.com/[email protected]/dist/vue.min.js hXXps://unpkg.com/[email protected]/dist/vue-router.min.js

以前的攻击活动在另一个 Google Firebase 域名上托管这些文件:

hXXps://rikcndapplala.web.app/zxhjkmnjdbfxzvdzx/themes/css/5ec43dada25c716f7880b0b8e6ff5e61nbr1633368005.css hXXps://rikcndapplala.web.app/zxhjkmnjdbfxzvdzx/themes/css/26ee67cd59cf7ee7f6ca4f6e3a4695f9nbr1633368005.css hXXps://rikcndapplala.web.app/zxhjkmnjdbfxzvdzx/themes/5ec43dada25c716f7880b0b8e6ff5e61nbr1633368005.js hXXps://rikcndapplala.web.app/zxhjkmnjdbfxzvdzx/themes/a144f6f5e581d7026db3c04ffe1ab2da.js

托管 JavaScript 文件加载器文件的域似乎使用时间都不长,在调查的几个月中攻击者使用了不同的域。每个发现的域都使用 Cloudflare 来屏蔽实际的服务器 IP 地址。

然而,我们观察到的执行验证凭据的 IP 地址提供了与 Cloudflare 保护的域相同的文件。这是一个强有力的线索,表明托管 JavaScript 加载文件的服务器与执行凭证验证的服务器是同一个。此外,相同的 JavaScript 加载器文件即使域名改变仍然可以访问,这进一步表明,一个单独的服务器被用来提供加载器文件,捕获凭证,然后验证这些凭证。本文后面将讨论凭据捕获和验证。

钓鱼网页

打开附件的 HTML 将显示一个伪造的带有公司品牌的微软365登录页。这是对旧版钓鱼工具的一个升级,旧版钓鱼工具没有显示品牌。登录电子邮件地址是预先填写的,并与钓鱼电子邮件的收件人相匹配。品牌是基于电子邮件地址的域名,直接从微软365下载。

当加载钓鱼页面时,几条信息被发送到 PerSwaysion 服务器。这些信息包括预设受害者的电子邮件地址、凭证类型以及当前的时间和日期。这可能正说明,钓鱼网页正在被频繁使用。这可能是新的通知系统,而不是 SeclarityIO 文章中提到的电子邮件通知。在那篇文章中,SeclarityIO 发现,早期版本的钓鱼工具包向这个攻击者控制的地址发送通知邮件。获取这些电子邮件之后,安全研究人员可以更好地理解这个攻击者所使用的基础设施。在最新的工具包中,通过让电子邮件字段保持空白,直接电子邮件通知已经被有效地删除。

当受害者输入他们的凭据时,他们的电子邮件地址和密码都通过 POST 命令发送到 hXXps://iost.kogodemcnd[.]com/re/[Base 64 Like Text],其他观察到的变量将数据发送到 hXXps://riki.kogodemcnd[.]com/re/[Base 64 Like Text]。URL 末尾的看着像base64的文本被硬编码到一个网络钓鱼 JavaScript 文件中。

然后,受害者的凭证从52.156.67[.]141 开始实时验证。此 IP 对应于美国西部地区微软 Azure 托管的运行 Ubuntu Linux 的服务器。自2021-09-20以来,从这个 IP 地址可以观察到证书验证。

凭据收集器域使用的是 Cloudflare 反向代理,实际的服务器 IP 被屏蔽。但是,如果我们尝试访问凭据收集器域上用于 POST 数据的相同文件路径,访问到验证凭据的IP,我们会得到相同的响应。这表明 52.156.67[.]141 是 Cloudflare 代理背后的实际凭据收集服务器。正如上面提到的,这个服务器托管初始的链接到 HTML 附件的JavaScript 加载程序文件。

受害者研究

Group-IB 的研究人员指出,以前的攻击针对的是企业或机构的高层。在2021年发生的各种攻击中,我们发现攻击针对高级雇员和与这些雇员相关的账户。我们还观察到,在最近的活动中,人力资源和财务部门的雇员成为攻击目标。

在 Group-IB 的报告中,他们怀疑受害者是通过浏览LinkedIn 搜取信息获得的。在今年的攻击中,几百名受害者中,82% 有 LinkedIn 账户。尽管 LinkedIn 可能是一个来源,但它显然不是这个威胁者使用的唯一来源。

预防

与许多类型的网络钓鱼一样,混淆处理技术非常普遍,尤其是在使用 HTML 附件时。如果您的邮件过滤器允许对正则表达式进行阻拦,那么可以考虑阻拦那些包含文档 write函数和 Base 64编码字符串的附件。下面是一个与此模式匹配的正则表达式示例: document.write\s*\s*)

另一个建议是屏蔽过去30天内注册域名的电子邮件。这可以是一个内置函数,也可以通过创建新注册域的阻拦列表来实现。

总结

钓鱼和侦测是一个不断变化的领域,攻击者不断变化,并磨练他们的技术。大多数的改变都不是突然出现的,这使得威胁研究者可以将新的攻击归因于已知的攻击者。通过记录这些变化,安全专业人员可以更好地理解技术的日新月异,并利用这种理解来更好地保护他们的系统和用户。

通过最新的 PerSwaysion 攻击活动,我们可以看到这个攻击者使用组织品牌使他们的钓鱼网页看起来更合法,以及使用自定义发件人域名绕过电子邮件发件人保护。这增加了钓鱼邮件进入受害者邮箱的可能性。这个攻击者也从过去的错误中吸取了教训,加强了他们的操作安全性,并使用了一个新的通知系统,该系统不会暴露他们的电子邮件地址。

未来 PerSwaysion 的迭代版本可能会使用更多改进的策略和技术,安全专业人员应该跟踪这些行为和背后的威胁角色。

Indicators

hXXps://valdia.quatiappcn[.]pw/[hex digits].js — JavaScript Loader hXXps://kifot.wancdnapp[.]page/[hex digits].js — JavaScript Loader rikapcndmmooz.firebaseapp.com — PhishKit File Hosting hXXps://iost.kogodemcnd[.]com/re/[base64 text] — Credential Collector hXXps://riki.kogodemcnd[.]com/re/[base64 text] — Credential Collector 52.156.67[.]141 — Credential Verification gemlacksresults[.]net — Email Sender Domain rotarim50[.]com — Email Sender Domain


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1816/



文章来源: http://paper.seebug.org/1816/
如有侵权请联系:admin#unsafe.sh