在远程桌面上使用浏览器进行网络钓鱼

2022-02-25 15:37:00

窃取凭据并绕过2FA,方法是让用户通过HTML5 VNC客户端远程访问您的服务器,该客户端的浏览器在kiosk模式下运行。

最近我参加了一个活动,所有用户的电子邮件都启用了2FA。我像往常一样迅速地设置了大恶魔2。我情不自禁地查看了Github项目中一些悬而未决的问题,并意识到一些网站正在实施一些方法,以防止Evilginx2和其他MITM网络钓鱼工具发挥作用。例如,如果您尝试使用Gmail phishlet,您可能会遇到与下面所示类似的错误。

因此,我的使命是找到一种绕过2FA的新方法,最终实现这个有趣的&;非正统技术。

noVNC既是一个VNC客户端JavaScript库,也是一个构建在该库之上的应用程序。noVNC在包括移动浏览器(iOS和Android)在内的任何现代浏览器中都运行良好。本质上,noVNC允许web浏览器充当VNC客户端,远程访问机器。

那么,我们如何使用noVNC窃取凭证&;绕过2FA?使用noVNC设置服务器,在kiosk模式下运行Firefox(或任何其他浏览器),然后前往您希望用户进行身份验证的网站(例如accounts.google.com)。将链接发送给目标用户,当用户单击URL时,他们将访问VNC会话,而没有意识到这一点。而且因为你已经将Firefox设置为kiosk模式,所以用户将看到的只是一个网页,正如预期的那样。

用户断开连接后,从浏览器中获取会话令牌(右键单击>;检查>;应用程序>;cookie)

或者发挥创意,想出另一种方法(记住这是你的服务器)。

使用任何云服务提供商部署Linux机器。我将使用Ubuntu20.04进行这个演示,但当然,它可以是任何你喜欢的其他Linux风格。

首先,我们需要安装一个VNC软件。我测试了两个VNC软件:TightVNC&;TigerVNC。经过各种测试后,我选择了使用TigerVNC,你也应该这样做,因为这样以后你就不会头疼了。我用这个指南来设置TigerVNC。但如果你懒得阅读,下面是你需要运行的命令的TLDR:

sudo apt updatesudo apt install tigervnc standard server tigervnc xorg extension tigervnc viewersudo apt install ubuntu gnome desktopsudo systemctl enable gdmsudo systemctl start gdm

#!/bin/sh#启动Gnome 3桌面[-x/etc/vnc/xstartup]&&;exec/etc/vnc/xstartup[-r$HOME/.Xresources]&&;xrdb$HOME/。Xresourcesvncconfig-标志性&;dbus启动——退出会话gnome会话&;

最后,重新启动VNC服务器。请注意,VNC会话将使用2000x1000的固定屏幕分辨率。不要太担心这一点,本文稍后将演示noVNC自动缩放。

运行noVNC更容易。有两种选择:本地运行(用于测试目的)或公开运行。下面展示了这两种方法。

#在本地运行它#假设VNC正在端口5901上运行#通过运行vncserver-list检查端口/noVNC/utils/noVNC_proxy——vnc localhost:5901#要在本地访问它,请使用SSH隧道:SSH-L 6080:127.0.0.1:6080root@server#在端口80ufw上公开运行它允许http/noVNC/utils/noVNC_proxy--vnc 0.0.0.0:5901--listen 80

此命令需要在VNC会话中运行,否则会出现一个错误,表明未设置DISPLAY环境变量。

自动连接=真&;password=VNCPASSWORD将使用户自动进行身份验证。noVNC非常灵活。如果想重命名查询参数,可以修改vnc。html文件。

noVNC显示一个自定义加载页面、一个VNC控制栏和一些额外的不必要的视觉项目,这些项目应该被删除。打开vnc。html然后找到下面的div并添加显示的CSS样式。

<;!——隐藏不必要的项目-->&书信电报;部门id=";noVNC_控制_杆_锚#34;等级=";noVNC#U vcenter";风格=";显示:无">&书信电报;部门id=";noVNC#U状态";风格=";显示:无"></部门><;!——使加载页面变为白色-->&书信电报;部门id=";noVNC#u过渡";风格=";背景色:白色;颜色:白色和#34>;

到目前为止,我向你们展示的内容将使你们运行一个单一的网络钓鱼页面,如果你们计划使用矛式网络钓鱼,这已经足够好了。但是,如果您想运行大型网络钓鱼活动,并需要几个VNC实例,该怎么办?请记住,您不能向不同的用户发送相同的链接,因为他们将共享同一个VNC会话。这个解决方案非常简单,而且可以很容易地实现自动化。

首先,启动X个TigerVNC实例。我将保持简单,并启动两个实例。

第一个TigerVNC会话(端口5901)将在端口80上公开访问。第二个TigerVNC会话(端口5902)将在端口81上公开访问。

现在,通过添加查询参数&;端口=80或&;端口=81。下面显示了一个演示,其中端口80有Gmail登录页面,端口81有Facebook登录页面。

要使用noVNC的自动缩放功能,只需标记另一个查询参数&;调整大小=远程。URL如下所示:

别忘了禁用自动屏幕锁定,否则用户会点击你的钓鱼链接并点击锁定的屏幕。

这种技术不仅限于使用noVNC,因为许多其他解决方案通过浏览器提供远程访问,例如:

您正在远程访问您的机器!它不应该存储任何有价值的东西。任何记录的数据都应该被发送到远程机器。

不要使用root帐户。您应该设置一个使用VNC服务的受限用户帐户。

我无法让noVNC以实用的方式使用手机。

浏览器比以往任何时候都更强大,浏览器作为远程访问客户端的使用为攻击者窃取凭据、绕过2FA等提供了新的途径。我坚信,我在本文中所展示的只是这项技术的一小部分。和往常一样,你可以随意利用这项技术,或者在Twitter上发表评论和建议。