研究人员以屏幕分享软件绕过MFA防护发动网络钓鱼攻击

一名研究人员近日分享利用Linux屏幕分享软件noVNC绕过多因素验证(MFA),以行使钓渔网站攻击的方法。

为防止钓渔网站攻击,像Google、微软及安全厂商倡导用户激活双因素(2FA)或多因素验证(MFA)保护账号,因为即使用户在钓渔网站输入帐密,但仍需要有寄给用户的一次性验证码才能完全接手账号。不过又有其他工具出现来绕过2FA/MFA,像是Evilginx2,它是一种类似web proxy的工具,可诱使用户点击URL以流经这个proxy,它能利用中间人攻击(MITM)手法取得用户帐密或凭证等信息。现在一些网站拉高防御,实例了防止Evilginx2及其他MITM工具的防护。不过代号为mr.d0x的研究人员设计的方法可以突破2FA/MFA防护。

他的方法是使用noVNC和现代浏览器设置。noVNC是一种VNC(virtual network computing,远程桌面连接或屏幕分享软件)用户端软件JavaScript函数库,也是写在函数库上的App。noVNC可在任何现代浏览器,包括PC机或iOS/Android手机浏览器上执行。使用noVNC让浏览器可作为VNC用户端来访问远程机器。noVNC另一好处是可以在GitHub下载,执行起来也很方便,可于本地网络或在开放互联网执行。

在其设计中,只要架一台具备noVNC的服务器,再安装浏览器(例如Firefox)以kiosk模式执行以显示邮件登录提示画面(例如Gmail)。通过noVNC,这个提示画面会显示在用户浏览器上。

最后,只要将这台服务器的连接发送给用户即可。当用户点入连接,会在不知情下访问VNC连接。研究人员指出,这种手法可进行的攻击有“无数多”,像是在用户浏览器注入JavaScript、设立连到浏览器的HTTP proxy以记录所有信息(如帐密)、等用户完成验证后关闭VNC连接,用户断线后从浏览器截取连接资料,或是在背景执行键盘监听程序。

研究人员说明,这个方法已经可用于执行精准钓鱼攻击,他甚至也示范了大规模网络钓鱼攻击的做法。他并指出,除了noVNC,甚至Apache Guacamole、TeamViewer及Chrome Remote Desktop都可以套用上述手法。

不过媒体指出防范钓鱼攻击的方法放诸四海皆准:不要随意点击陌生人传来或连向奇怪域名的连接,尤其应小心要你登录账号的URL。