VNC目前已是一种被广泛应用的远程控制方法,很多攻击者对VNC的攻击技术研究热情是高涨的,丝毫不亚于对Windows的远程桌面(3389)、PcAnywhere的攻击研究。从最开始爆发出来的VNC的低版本密码验证绕过漏洞,到各种版本的VNC密码破解技术的公布,再到针对各种版本VNC的专门的攻击程序出现,VNC的攻击也在网络中不断的进行着。我们目的是从攻击者的角度去审视我们的系统,做到预防在先,在实现功能的同时一定要注意安全!
首先我们看看VNC运行的工作流程:
(1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server;
(2) VNC Server传送一个对话窗口至客户端,要求输入连接密码(可能为空),以及存取的VNC Server显示装置;
(3) 在客户端输入连接密码后,VNC Server验证客户端是否具有存取权限;
(4) 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境;
(5) 被控端将画面显示控制权交由VNC Server负责;
(6) VNC Server将把被控端的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。
一、 VNC攻击工具:vncpwdump
国内很少有针对VNC攻击技术的专门研究团队,大部分的VNC攻击技术和相关工具都是国外攻击者推出的,所以如果要深入研究VNC的攻防技术,在国内比较难找到新的技术资料,如这里将要介绍的Vncpwdump。Vncpwdump是一个很早以前就已经推出的VNC综合性的攻击和破解工具,但是国内能下载到的基本都是vncpwdump 0.0.1版,也就是最开始公布出来的那个版本,已经古老得基本没有任何作用了。
最新的可以针对各版本VNC进行密码破解和攻击的vncpwdump是1.0.6版,具有非常强悍的各项功能。Vncpwdump是个开源的程序,不但可以下载到它,还可以下载到它的源代码进行修改和增加、删除相关功能,详细的程序执行界面如图1所示。
Vncpwdump的主要功能是获取VNC的密码,它提供多种获取方式,比如:从NTUSER.DAT文件中获取;从命令行输入获取;注入VNC线程获取;注册表中获取等方式。