软件即服务(SaaS)在过去的十年中呈现爆炸式增长,企业无需再进行痛苦的安装部署、不需要再签订不灵活的合同,直接可以支付需要的专业软件的许可费。犯罪分子也采用了软件即服务的模式,努力达成多元化与专业化。这样做大大降低了网络犯罪的入门门槛,不懂技术的攻击者也可以购买到攻击所需的一切。
网络犯罪中自动化程度最高的莫过于网络钓鱼。IBM 在 2023 年的威胁情报报告中指出,网络钓鱼是主要的网络攻击感染媒介。网络钓鱼即服务(PhaaS)就是经验丰富的攻击者开发恶意代码并管理基础设施进行网络钓鱼,再将其出售给经验不足的攻击者。与合法的 SaaS 服务相似,也有各种付费方案(许可证、订阅制以及结果付款等)。本文以 Greatness 为例详细介绍 PhaaS 的工作原理,包括如何部署网络钓鱼工具包。
Greatness 是一个网络钓鱼工具,从 2022 年 11 月以来一直很活跃,主要用于窃取用户凭据和 Cookie 来盗窃 Microsoft 365 账户。甚至,该网络钓鱼工具还支持处理多因子(MFA)认证校验。
与任何 SaaS 应用程序一样,用户在提交付款后会获得许可证与登录凭据。首先,用户会被引导至管理面板,在其中输入密码就可以登录平台。
登录表单
登录后,主页会显示仪表盘。页面中,网络钓鱼攻击的运营方可以在此看到已窃取到的各种凭据,更便捷地衡量在 Greatness 上的投资回报。
仪表盘
Greatness 主要是个构建工具,用户可以使用其创建不同类型的攻击。例如,攻击者可以创建一个网络钓鱼邮件,其中包含一个恶意链接,该链接会跳转至伪造的钓鱼页面。或者也可以创建一个包含恶意附件的钓鱼邮件,用户打开后会下载恶意软件。
该网络钓鱼工具允许用户生成不同的攻击模板,以实现高效的网络钓鱼攻击。网络钓鱼工具会生成对应的 HTML 文件,攻击者可以将其作为邮件附件发送给受害者,或者与欺骗性 URL 相绑定。
创建钓鱼页面
下图显示了发票欺诈的示例。生成的 HTML 文件看起来是一个模糊的办公文档,上面覆盖着微软登录表单,要求用户提供凭据才能查看。该构建工具也提供了其他选项,例如对背景的修改,使其看起来像其他类型的文件(Word 文件或 PDF 文件)。该工具还提供了自动填充功能,允许攻击者提前配置目标账户,受害者只需要输入密码即可,这使虚假页面看起来更可信。
虚假页面
受害者输入密码后,该工具将会检查账户是否启用了多因子认证(MFA)。如果启用了 MFA,也会要求用户提供 SMS/OTP 发送的代码。最后,网络钓鱼工具会使用微软的 API 来获取有效的 Cookie。
Office 页面还提供了一系列配置选项。第一个选项是检查服务器状态,Greatness 网络钓鱼工具必须拥有有效的许可证密钥,并且必须能够在服务器进行校验。Greatness 还允许上传新的配置文件(httpd.grt),以及拦截 IP 地址的配置。
管理页面
Greatness 面板的最后一部分是配置页面。攻击者可以通过该页面配置控制面板的名称与密码,更重要的是配置恢复被窃凭据的替代方法。Greatness 面板能够通过 Telegram Bot、邮件或者二者兼而有之发送结果,以及所需要的客户端 API 密钥。
配置页面
Greatness 需要密码才能登录,但攻击者如何防止客户端源代码被窃取呢?首先就是对源代码的高度混淆,与很多商业软件类似,通过这种方式阻止其他人了解实现原理并防止被轻易复制。
混淆源代码
混淆并不是唯一的手段。当用户打开生成的 HTML 网页时,就会向中央服务器发送请求检查 API 密钥是否有效。如果 API 密钥有效,将会响应正确的 HTML 代码继续进行攻击。如果检查无效,中央服务器只会发送错误页面,如下所示:
校验失败页面
中央服务器是在 httpd.grt 中定义的,源代码反混淆后如下所示。攻击者还会通过混淆配置文件的方式来隐藏中央服务器地址,对其进行编码使其难以被发现。该服务会随着时间与部署位置的变化而变化:
未加密函数
Greatness 网络钓鱼工具包是网络钓鱼演进的一个案例。随着时间的推移,能够提供绕过 MFA 的攻击工具越来越多地出现在犯罪分子视野中。PhaaS 这种商业模式又将其交付给了任何愿意付钱的人,无论其攻击知识与攻击技能水平如何。
开发人员也必须要控制许可证才能确认网络钓鱼工具包的合规使用,这也为分析人员研究攻击者的攻击行动提供了机会。