0x00 认识VNC
先我们看看VNC运行的工作流程:
-
VNC客户端通过浏览器或VNC Viewer连接至VNC Server;
-
VNC Server传送一个对话窗口至客户端,要求输入连接密码(可能为空),以及存取的VNC Server显示装置;
-
在客户端输入连接密码后,VNC Server验证客户端是否具有存取权限;
-
若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境;
-
被控端将画面显示控制权交由VNC Server负责;
-
VNC Server将把被控端的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。
0x01 VNC攻击工具:vncpwdump
国内很少没有针对VNC攻击技术的专门研究团队,大部分的VNC攻击技术和相关工具都是国外攻击者推出的,所以如果要深入研究VNC的攻防技术,在国内比较难找到新的技术资料,如这里将要介绍的Vncpwdump。Vncpwdump是一个很早以前就已经推出的VNC综合性的攻击和破解工具,最新的可以针对各版本VNC进行密码破解和攻击的vncpwdump是1.0.6版,具有非常强悍的各项功能。Vncpwdump是个开源的程序,不但可以下载到它,还可以下载到它的源代码进行修改和增加、删除相关功能。
Vncpwdump的主要功能是获取VNC的密码,它提供多种获取方式,比如:从NTUSER.DAT文件中获取;从命令行输入获取;注入VNC线程获取;注册表中获取等方式。
0x02 使用vncpwdump进行攻击模拟
Vncpwdump的功能很多,从它的使用界面来看,有如下的功能参数:
下面对各参数的具体含义和使用方式做简单演示。
首先是"-c"和"-s"参数,这两个参数的意义是从注册表的"HKEY_CURRENT USER"或"HKEY_LOCAL MACHINE"下读取VNC的密码,因为版本不同的关系,上述两个注册表键值中的其中一个会存在VNC的密码。其中"HKCU "是简写,代表注册表中得"HKEY_CURRENT_USER"位置。当我们打开注册表,找到相应位置得时候密码内容就逐步浮出水面,可以找到里面有一行如下显示:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4]
"Password"=hex:49,40,15,f9,a3,5e,8b,22
"SecurityTypes"="VncAuth"
"ReverseSecurityTypes"="None"
"QueryConnect"=dword:00000000
"QueryOnlyIfLoggedOn"=dword:00000000
"PortNumber"=dword:0000170c
"IdleTimeout"=dword:00000e10
"HTTPPortNumber"=dword:000016a8
"LocalHost"=dword:00000000
"Hosts"="+,"
"AcceptKeyEvents"=dword:00000001
"AcceptPointerEvents"=dword:00000001
"AcceptCutText"=dword:00000001
"SendCutText"=dword:00000001
"DisableLocalInputs"=dword:00000000
"DisconnectClients"=dword:00000001
"AlwaysShared"=dword:00000000
"NeverShared"=dword:00000000
"Disconne

文章详细介绍了VNC的工作原理,包括VNCClient与VNCServer的交互过程,重点讲解了Vncpwdump工具的功能,如从注册表获取密码、攻击模拟和使用场景。同时,文章探讨了VNC的安全威胁和加固方法,如修改默认端口、设置强口令,以及利用SSH隧道等手段保护VNC连接安全。
494

被折叠的 条评论
为什么被折叠?



