导语:中间人(MitM)网络钓鱼攻击则表明攻击者可以绕过传统防御。
我们可能或多或少都知道一些如何避免网络钓鱼的方法,比如注意拼写错误或其他会提醒我们诈骗者存在的错误。然而,这个建议只对传统的网络钓鱼技术有帮助。中间人(MitM)网络钓鱼攻击则表明攻击者可以绕过传统防御。
MitM网络钓鱼攻击是一种最先进的网络钓鱼攻击类型,能够攻击双因素身份验证(2FA),同时避免许多基于内容的网络钓鱼检测引擎。MitM攻击不是显示目标登录页面的欺骗版本,而是使用反向代理服务器将原始登录页面直接中继到用户的浏览器。
截至2022年11月,多起网络钓鱼攻击使用MitM策略来攻击商业电子邮件帐户,并成功窃取组织的机密信息。有几个流行的MitM网络钓鱼工具包,让黑客只需点击几下即可轻松发起他们自己的MitM钓鱼攻击。
这些工具包不断扩展其功能集,同时变得更加直观和易于使用。许多人已经采用了复杂的伪装技术,使他们能够逃避传统网络钓鱼检测系统的检测。因此,我们预计这些MitM网络钓鱼攻击的流行率将在不久的将来继续上升。
你可以通过高级URL过滤实时阻止MitM钓鱼页面,从而免受本文中讨论的攻击。
传统的网络钓鱼攻击
钓鱼攻击的目的是建立一个虚假的登录页面,诱使用户输入登录凭证。
在传统的网络钓鱼攻击中,攻击者通常会创建自己的网络钓鱼页面来模仿合法的登录页面。他们可能会将其托管在新创建的域上,破坏合法域并将其网络钓鱼页面托管在该域上,或者使用现有的SaaS平台托管其网络钓鱼内容。
“网络钓鱼工具包”简化了创建和部署网络钓鱼攻击的过程,提供了一套标准程序或脚本,这样即使是没有经验的攻击者也可以发起自己的网络钓鱼攻击。这些工具通常使用模板化的网页,模仿目标公司的实际登录页面。基于web的网络钓鱼即服务(PhaaS)平台的攻击服务则更进一步,如Caffeine(如图1所示)和Robin Banks,通过提供易于使用的界面,允许攻击者配置和部署网络钓鱼攻击。
网络钓鱼即服务(PhaaS)平台Caffeine的主页于2022年10月首次公布
在传统的网络钓鱼攻击中,网络钓鱼页面通常直接托管在恶意或受损的服务器上,且不一定是合法登录页面的完美副本。例如,如果攻击者要创建一个模仿GitHub登录的网络钓鱼页面,他们可能不想重新创建围绕核心登录功能的所有其他功能,例如“忘记我的密码”链接。
专家或细心的观察者可能会注意到合法的GitHub登录页面和欺骗的钓鱼页面之间的细微差异,并意识到欺骗的页面是非法的。下图显示了钓鱼页面与原始目标登录页面的不同之处。
类似地,基于内容的自动网络钓鱼预防引擎可能会注意到这些非法登录页面包含可疑内容的迹象(例如断开的链接或拼写错误),并将其标记为可能的网络钓鱼网站。
左图:网络钓鱼攻击中使用的假冒Microsoft登录页面示例,右图:截至2022年11月21日的原始Microsoft登录页面
即使有这些缺陷,这些网络钓鱼活动中的收件人数量之多意味着一些目标仍然可能成为这些攻击的受害者。双因素身份验证(2FA),也称为多因素身份验证,已成为一种日益流行的添加额外安全层以防止成功的网络钓鱼攻击的方式。
双因素身份验证实际应用的一个例子是,除了要求用户名和密码外,合法的登录网站还要求额外的身份验证形式,例如发送到用户注册电子邮件地址的一次性密码(OTP)。即使攻击者通过成功的钓鱼攻击获得了受害者的用户名和密码,他们也无法以该用户身份登录,因为他们无法检索在恶意登录尝试期间发送的OTP。
MitM网络钓鱼攻击
MitM网络钓鱼攻击是一种绕过基于内容的防御和双因素身份验证的新型网络钓鱼攻击。与传统的网络钓鱼攻击不同,MitM攻击显示的是合法登录页面的独立但虚假的版本,它向用户显示的内容与他们在合法登录页面上看到的内容完全相同。MitM服务器没有托管合法登录页面的副本,而是简单地获取合法站点上呈现的内容并将其转发给最终用户,如下图所示。
换句话说,MitM服务器充当目标和合法登录页面之间的代理。当目标将其凭据输入到代理页面时,MitM服务器将凭据存储起来,并将其转发到合法的登录页面,从而成功登录。从受害者的角度来看,一切看起来就像他们登录到了合法页面。
此外,这两个连接(MitM服务器到合法站点,受害者到MitM服务器)都是通过HTTPS协议提供的,因此受害者将根据web浏览器地址栏中的挂锁图标看到连接是“安全的”。
MitM网络钓鱼攻击的可视化表示
由于显示给目标的内容与他们在合法登录页面上看到的内容完全相同,这种基于代理的方法使受害者更难从视觉上辨别出可疑的事情正在发生,并且使基于内容的网络钓鱼检测引擎很难注意到任何可疑的事情。
MitM网络钓鱼攻击就像通过隐藏得很好的镜子观看原画。 MitM攻击除了上述好处外,还有其他几个好处。例如,如果用户设置了双因素身份验证,这种基于代理的方法允许MitM服务器自动绕过这个双因素身份验证。 在MitM服务器将用户名和密码转发到合法站点后,合法站点将按照其正常行为向其客户端发送OTP。如果被欺骗,目标将在MitM网络钓鱼页面中输入一次性密码。这允许MitM服务器将密码中继到合法站点,从而完全完成登录尝试。
此时,MitM服务器将从合法站点接收一个真实的会话cookie。这种持久的登录允许受害者继续正常浏览网站(尽管仍然通过攻击者的web服务器),从而进一步保持网络钓鱼攻击的合法性。
真实发生的MitM网络钓鱼攻击
在撰写本文时,黑客可以使用几个工具轻松地部署他们自己的MitM网络钓鱼攻击。与传统的钓鱼套件类似,这些MitM钓鱼套件提供了一组脚本,或者在某些情况下,甚至是图形用户界面(GUI),使攻击者可以轻松配置和发起MitM钓鱼攻击。
接下来,我们将介绍一些流行的MitM钓鱼工具包。这些工具包都采用了将原始登录页面传递给受害者浏览器的核心策略,但它们在实现细节和附加功能(例如,隐身和TLS证书生成)方面有所不同。 例如Evilginx2,生成唯一的标记化URL(又名“诱饵”),必须直接访问以显示钓鱼内容。对任何其他路径的请求都会导致重定向到良性站点。
1.Evilginx2 ,2018年7月(2017年5月发布的第一个版本)首次发布,功能丰富的MitM钓鱼工具包,具有易于使用的命令行界面。具有内置隐藏功能。生成URL中必须存在的唯一令牌(诱饵),此工具的命令行界面如下图所示。
2.Modlishka ,2019年1月发布,自动化几个配置步骤和攻击后的操作,例如使用被盗的会话cookie启动一个插入指令的Chrome实例。
3.Muraena,2019年5月发布,barebones MitM工具包。与其他自动创建TLS证书的工具包不同,Muraena要求攻击者提供自己的证书。
4.EvilnoVNC, 2022年9月发布,使用真实的web浏览器在攻击服务器上渲染登录页面,并通过VNC将内容提供给受害者的浏览器。
5.EvilProxy,2022年9月发布,MitM网络钓鱼攻击的网络钓鱼即服务平台。提供一个易于使用的GUI,攻击者可以设置和管理他们自己的MitM网络钓鱼活动。
使用Evilginx2命令行界面来启动和执行MitM钓鱼攻击的屏幕截图
在今年之前,与MitM相关的策略已经被用来成功地模拟大型软件组织,暴露数亿用户的个人数据,并从新兴初创公司窃取数百万美元。然而,这些攻击并不一定使用网络钓鱼本身作为其主要攻击载体。现在,基于MitM的网络钓鱼攻击已经开始占据中心位置。
2022年中MitM网络钓鱼活动
2022年7月,微软报告了一起使用Evilginx2窃取目标微软证书的网络钓鱼活动。该活动向潜在受害者发送电子邮件,促使他们下载一个重要的附件。在打开附件并通过一系列重定向路由之后,受害者将到达如下图所示的MitM钓鱼页面。在攻击者成功拦截身份验证cookie后,他们会登录到受攻击的Outlook帐户,并不断搜索与金融相关的电子邮件和附件,以寻找欺诈的机会。
MitM凭证窃取页面,这是微软在2022年7月报告的一部分
为了避免被发现,该活动使用了各种隐藏技术,以确保只有当受害者通过原始HTML附件导航到页面时,钓鱼内容才会加载。到微软的威胁情报文章发表时,在几个月的时间里,已有超过10000个组织成为了这次活动的目标。
根据Palo Alto 网络高级URL过滤日志,他们的高级URL过滤服务早在2021年9月就已经开始阻止对攻击者域上托管的标记化钓鱼URL的网络流量(例如login[.]mcrsfts-passwdupdate[.]com/HMxVQmxZ)。
2022年底MitM网络钓鱼活动
2022年9月,另一个活动被发现使用MitM网络钓鱼策略窃取目标的GitHub登录凭据。几个域被用来模拟CircleCI登录页面,提示受害者使用GitHub凭据登录。
ci[.]com.2022年9月GitHub钓鱼活动的示例登录页面,点击“登录GitHub”,用户会看到一个MitM凭证窃取页面,它反映了GitHub的实际登录页面。
上图中网页链接到的MitM凭证窃取页面,该网页不托管在网络钓鱼服务器上,而是从GitHub本身转发
对于已经设置了基于OTP的双因素身份验证的目标,MitM服务器还会提示他们输入OTP,然后将其转发到GitHub,从而允许成功登录。从那里,攻击者将通过快速创建个人访问令牌(pat)或将他们自己的SSH密钥添加到受害者的帐户来坚持他们的访问权限。这样,即使受害者更改了用户名和密码,攻击者也可以继续访问被泄露的帐户。
Dropbox在2022年11月成为MitM网络钓鱼攻击的受害者,攻击者可以攻击并复制130个私人存储库。这表明,这些MitM网络钓鱼攻击已经在实际活动中产生了重大影响。在Dropbox对这次攻击的回应中,他们计划将双因素身份验证协议从OTP转移到WebAuthn,这是一种更能抵御网络钓鱼的双因素身份验证形式。
最近几周,Palo Alto 的高级URL过滤服务检测到更多的MitM钓鱼URL,像Microsoft 365这样的企业登录是主要目标。
Palo Alto 的高级URL过滤服务检测到以Microsoft为目标的MitM网络钓鱼页面
随着MitM网络钓鱼工具包越来越受欢迎,并继续扩展其功能集,MitM网络钓鱼攻击的流行程度也会增加。事实上,Evilginx 3.0预计很快就将发布,同时还将提供如何成功执行MitM网络钓鱼攻击的在线课程。
总结
MitM网络钓鱼攻击已经在现实世界中造成了严重破坏,随着MitM网络钓鱼工具包的不断普及,预计其流行程度将会上升。因此,对于各类组织来说,保护自己免受这类网络钓鱼攻击变得越来越重要。
目前,终端用户可以采取的保护自己免受MitM网络钓鱼攻击的措施包括:
1.在输入任何凭证之前验证URL的有效性,例如,确保一个URL真的是“github[.]com”,而不是“github-impersonator[.]org”。
2.使用密码管理器存储和输入凭据,如果你发现自己处于密码管理器无法识别的网站上的MitM钓鱼页面,密码管理器将在输入凭据之前发出警告。
3.使用最先进的MFA方法,如硬件安全密钥或网络认证双因素身份验证。
4.使用高级URL过滤服务的用户可以通过产品的内嵌网络钓鱼URL检测(包括本文中提到的MitM网络钓鱼URL)免受MitM网络钓鱼攻击。高级URL过滤会实时分析网络流量,在攻击到达目标之前阻止攻击。这样,即使MitM钓鱼攻击使用隐藏的URL(如Evilginx2的情况),高级URL过滤也可以在凭证被盗之前阻止攻击。