用批处理命令也能当“黑客”——自编批处理破解弱口令

用批处理命令也能当“黑客”——自编批处理破解弱口令
文/郑志勇
“弱口令”是指网络管理员或计算机的主人在使用Window操作系统时,忘记设置管理员口令或者是口令过于简单这一现象。破解掉对弱口令,很容易获得计算机的控制权。一般来说,扫描弱口令都需要一定的网络知识和专门工具,要用批处理来获得对方电脑的控制权似乎有点天方夜谭,事实真的如此吗?我们先来看看这个批处理文件的真面目:

@echo off
echo 格式:test *.*.*>test.txt
for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \\%1.%%G\ipc$ "" /use:"Administrator" | find "命令成功完成" >>test.txt

将上面的这段程序保存到一个批处理文件中(如test.bat),执行该批处理文件就能自动扫描同一个C类网段内的所有机器是否包含有管理员空口令的机器,并记录下来。下面把和这程序有关的一些知识给大家做个介绍,方便大家进一步研究。
一、弱口令猜测的主要通道——IPC$
弱口令猜测的主要途径是IPC$,IPC$是Internet Process Connection的简称,也叫“共享命名管道资源”,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码,而利用这个空的连接,连接者还可以得到目标主机上的用户列表。
其实,IPC$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登录功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录Winnt或Windows(admin$)。所有的这些,最初都是为了方便管理员的管理,但一些别有用心者会利用IPC$访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的。
二、弱口令猜测的主要武器——net命令
用于弱口令扫描的主要命令是net,这里使用到的主要是use参数,具体用法如下:
net use 机器名\共享目录 "密码" /user:"用户名"
例如我们想以用户zzy,密码123,连接到192.168.0.1服务器的共享目录soft,使用的命令是:
net use \\192.168.0.1\soft "123" /user:"zzy"
一旦连接成功,会得到“命令成功完成”的提示。
在这里我们需要用administrator的空口令去连接服务器的IPC$服务,所以命令格式应该是: net use \\192.168.0.1\ipc$ "" /user:"administrator"
如果我们得到的是“命令成功完成”的提示,就表示192.168.0.1这台服务器的管理员没有设置口令。
当然如果我们要测试整个C类网段的所有服务器,可以更换IP地址一遍遍地输入上面的命令,不过也确实

辛苦了些。
三、弱口令猜测的发动机——For命令
为了能完成对整个C类网段的自动扫描,这里使用了Windows的for命令。
For命令可实现对一组文件中的每一个文件执行某个特定命令。具体的用法如下:
FOR %variable IN (set) DO command [command-parameters]
%variable:指定可替换的参数。
(set) :指定一个或一组文件。可以使用通配符。
command:指定对每个文件执行的命令。
command-parameters:对特定命令所指定的参数。
在上面的批处理中,“FOR /L %variable IN (start,step,end) DO command [command-parameters]”表示以增量形式从开始到结束的一个数字序列。如“for /l in (1,1,5)” 将产生序列 (1 2 3 4 5),这样实际上就完成了按顺序去连接不同IP计算机的命令。
当然,对For命令灵活使用的话,还可以在批处理中加上一个可以实时生成的字典,这样就使得猜解的可能更大了。
四、 程序执行中可能遇到的问题
当然,这个批处理实在是太简单了,在实际应用中难免有不少问题,可以通过系统返回的错误号进行判断。
错误号5:拒绝访问:很可能你使用的用户没有管理员权限;
错误号51:Windows 无法找到网络路径,一般是因为网络有问题;
错误号53,找不到网络路径,有可能是IP地址错误、目标未开机、目标有使用端口过滤技术的防火墙;
错误号1326:未知的用户名或错误密码;
错误号2242,此用户的密码已经过期:目标有账号策略,定期强制要求更改密码。
关于IPC$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,就靠大家自己体会和试验。
五、如何防范
事实上,这个批处理文件在实际应用中,对Windows NT和Windows 2000的效果往往不好,因为两个系统在安装过程中会以非常显眼的方式强制用户输入Administrator密码。但是对于Windows XP来说,Administrator密码不是必须的,对于习惯了安装软件一路“下一步”的用户来说,往往会忽略设置Administrator密码。对于小区宽带用户来说,只要很短的时间就可以把附近的用户扫描一遍。可以说,Windows XP的缺陷加上共享的小区宽带,使得我们这个非常简陋的批处理也能取得良好的效果。
那么怎么样来防范类似的攻击呢?很简单,只要给电脑中的所有用户加上密码就可以了。具体方法也很简单,打开控制面版,选择“用户账户”,再点击相应的账户(比如Administrator),在弹出的向导中选择设置密码并输入密码就可以了。

相关文档
最新文档