7.10 VNC认证口令绕过漏洞攻击

RealVNC(简称VNC)有免费版、个人版及企业版3个版本,它与pcAnywhere远程控制软件的功能类似,也是一款世界知名的跨平台远程控制软件,其4.1.1以前的版本均存在RealVNC远程认证绕过漏洞。

RealVNC采用RFB(远程帧缓冲区)协议允许客户端与服务端协商合适的认证方法,但协议的实现上存在设计错误,远程攻击者可以绕过认证,无须口令实现对服务器的访问。由于其功能强大,因此深受入侵者和网络管理人员的喜爱,国外用户颇多。RealVNC分为客户端和服务器端,只要知道服务端的IP地址、服务开放端口及访问口令即可完全实施控制,其服务端的默认端口为5900。

本案例通过VNC漏洞利用工具直接扫描开放5900端口的计算机,该工具在扫描过程中可以自动识别RealVNC远程认证绕过漏洞,并将扫描结果保存在VNC_bypauth.txt文件中。通过本案例读者可以了解VNC密码验证绕过漏洞,学会如何利用VNC密码验证绕过漏洞利用工具软件溢出存在漏洞的计算机。

7.10.1 扫描开放5900端口的计算机

本案例使用VNC漏洞利用软件扫描开放5900端口的IP地址。在DOS或者DOSShell下输入“vnc”命令后,会给出使用帮助,其命令格式为“vnc -i IPaddress1- IPaddress2 -p 5900 -vnc”。

在本例中,对64.141.178.98-64.255.255.255网段进行扫描的命令为“vnc -i 64.141.178.98-64.255.255.255 -p 5900 -vnc”,如图7-110所示,输入命令后按“回车”键开始扫描。

0317-1

图7-110 扫描开放5900端口的IP地址

说明

(1)如果是通过Radmin的Telnet来执行扫描命令,只要扫描命令开始运行,即使关掉Telnet也不会影响扫描。VNC会继续在肉机上进行扫描,扫描时会提示扫描的IP地址数、比例及扫描所花费的时间等,如图 7-111所示。

0317-2

图7-111 扫描情况

(2)vnc.exe扫描完成以后会在当前扫描目录中生成扫描结果文件VNC_bypauth.txt,该文件会记录开放5900端口的IP地址及VNC的状态,如图7-112所示。VNC的状态有patched、banned及VULNERABLE 3种,只有VULNERABLE状态是可以利用的。

0318-1

图7-112 5900端口的扫描结果

7.10.2 整理开放5900端口的IP地址

使用UltraEdit编辑器编辑VNC_bypauth.txt,过滤存在“:5900 vnc4:VULNERABLE”的IP地址,如图7-113所示。

0318-2

图7-113 整理IP地址

技巧

使用UltraEdit的“替换”和“清除行后空格”功能可以快速整理扫描后的VNC_bypauth.txt文件。

7.10.3 整理扫描批处理命令

在扫描结果文件VNC_bypauth.txt中替换字符串“:5900 vnc4:VULNERABLE”,并去掉行尾的空格。使用UltraEdit的“块选”功能,在IP地址前面加入link命令,编辑完毕后将文件另存为59-vnc.txt,如图7-114所示。

0319-1

图7-114 编辑VNC连接批处理命令

说明

在link命令与IP地址之间要留一个空格,否则执行命令时会出现错误。

7.10.4 使用VNC连接器Link进行连接

全部选中并复制59-vnc.txt文件中的所有内容,然后在DOS窗口单击右键,在弹出的快捷菜单中选择“粘贴”命令,执行VNC连接批处理命令,在DOS窗口中会弹出VNC连接成功、VNC连接失败或者要求重新连接的对话框,如图7-115所示。

0320-1

图7-115 VNC连接结果

7.10.5 处理连接结果

在执行批处理时,由于IP地址限制等原因,可能存在无法正常连接VNC服务器的情况,有时可能需要输入密码。关闭无法连接或者需要密码进行连接的VNC服务端,保留可以直接查看的VNC服务端,如图7-116所示。

0320-2

图7-116 处理连接结果

技巧

在处理连接的过程中,如果VNC服务端界面中计算机显示为锁定状态,该计算机就需要输入用户名和密码才能使用。不过,可以选中该连接,单击右键,在弹出的快捷菜单中选择“VNC Connection Info”命令,查看该连接的相关信息,等待管理员登录后,在计算机没有锁定时实施控制,如图7-117所示。

0321-1

图7-117 查看连接信息

7.10.6 实施控制

选择一个屏幕没有锁定的VNC服务端,依次单击“start”→“run”命令,在其中输入“cmd”命令,打开DOS提示符窗口。依次执行添加用户、提升用户为管理员权限及查看管理员组用户命令,如图7-118所示。由于拥有系统安全控制权限,因此在该界面还可以上传木马程序并执行。

0321-2

图7-118 执行控制命令

注意

使用VNC连接器进行连接时使用的是完全控制模式,因此应当选择用户不在计算机旁时执行命令和实施控制,否则容易被用户当场发现。执行命令时尽量使用批处理命令,执行完毕后可自动退出DOS提示符窗口。

7.10.7 小结

本案例通过扫描5900端口,整理开放并存在VNC密码验证绕过漏洞的IP地址,通过VNC Link直接连接。连接成功后,如果计算机处于未锁定状态或者未进行屏幕保护,则可以直接在该计算机上执行各种命令来实施完全控制。在连接前,可以使用sfind等工具软件对已经扫描出存在漏洞的计算机进行5900端口开放情况探测,仅对开放5900端口的IP地址进行连接,这样效率会更高。

虽然VNC漏洞已经出现了很长时间,但是通过扫描我们发现目前依然有很多VNC存在漏洞的计算机。在安全防护越来越严格的情况下,通过本案例的思路来获取肉机不失为一种好方法。