很多找到的FTP站点却无法进入——它们需要用户名和登陆密码。怎么办?难道就此放弃?先别忙着下结论,部分FTP站点还是可以想办法进去的……
什么是FTP
“FTP”是文件传送协议(File Transfer Protocol)的缩写。FTP一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上。通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。有很多站点利用这种传送方式让其他计算机下载东东,这类站点就叫FTP站点。
FTP的口令
像大多数的Internet服务一样,FTP使用客户机/服务器系统,你在使用一个名叫FTP的客户机程序时,就和远程主机(FTP站点)上的服务程序相连了。理论上讲,这种想法是很简单的。当你用客户机程序时,你的命令就发送出去了,服务器响应你发送的命令。例如,你录入一个命令,让服务器传送一个指定的文件,服务器就会响应你的命令,并传送这个文件;你的客户机程序接收这个文件,并把它存入你的目录中。
但是,这里有一个基本的约束:如果你没有被正式授权的话,就不能进入计算机。习惯上讲,这就意味着你必须在那台计算机上登录。换句话说,你只有在有了一个用户标识和口令之后,才能在计算机上使用FTP命令。服务器根据不同的用户名和密码分配你是用命令的权限。这个权限随着用户名的不同而不同,而且在不同的目录中,用户使用的命令的权限也不同。
破解FTP口令
破解FTP口令和破解系统的其他应用层口令一样,首先就是得到对方的用户名。当然得到用户名的方法也很多,例如可以使用社会工程学来骗取用户名,或者使用Finger命令来得到用户名,甚至可以猜测对方的用户名。
例如笔者使用小榕开发的软件流光(2000版本:
http://www.netxeyes.org/fluxay47/fluxay47build3200setup.exe)可以得到系统的用户名。我们在FTP主机处点右键,选“编辑”下的“添加”按钮。
接着添加我们破解的FTP的主机IP地址或者域名,当然笔者推荐破解者直接添加FTP服务器的IP地址,因为这样软件在破解时不必再经过域名服务器解析域名,速度会更快。
点击确定,这样你就把一个FTP服务器地址添加到你的FTP主机列表中了。要想得到对方主机的用户名,可以对主机点击右键,选择“探测”,点击Sun Solaris用户列表(Finger)即可。这样流光会向FTP服务器发出相应的Finger命令,等待片刻就得到了用户名,从图4可以看出系统中有4个FTP用户。
下面我们就可以开始对密码进行破解了。管你通过什么途径得到了系统的用户名,破解密码的过程都是穷举密码的过程。
虽然流光提供了在线破解FTP口令的功能,但是流光运行起来有些不稳定,所以这里笔者打算换一个叫BrutusA2的软件(
http://www.heihoo.com/brutus-aet2.zip)。这个软件结果简单,功能强大,如图5所示就是这个软件的开始界面。
笔者以自己的FTP网站地址为例(因为是本机,所以IP可填入127.0.0.1),说明一下破解的过程(以下都是笔者虚构)。首先确定用户名,因为站点域名是heihoo.com,所以用户名为heihoo的可能性极大。我们这里确定为heihoo。我们把Single User的选项选上,在User File处添上用户名:heihoo。下面猜测密码。
工具BrutusA2提供了多种口令选择模式,例如字典模式,复合模式和暴力破解模式。这里需要说明字典模式和复合模式需要用户事先生成一个密码的字典档。软件根据这个字典档中的口令一一穷举。如果口令和用户名对应成功,则显示在显示结果的区域。本例中,笔者作了一个密码字典档,名字为Word.txt。最后选择相应的协议和网络设置,点击Start即可以开始破解了。
等待一会(这可能是几分钟,也可能是几天),密码出来了,显示在Positive Authentication Results中。
当然,如果你不想使用密码档破解,Brutus也提供了暴力破解模式。所谓暴力破解模式就是把英文、数字和字符等可以用作口令的字符排列组合,提交验证。但是由于网络破解速度缓慢,一般不推荐使用这个方法。
小知识:什么样子的密码最不容易猜,自己也最好记呢? 答案是:用一句有意义的话来作为自己的密码, 例如: NoOneCanCrackIt就是一个很难猜的密码类型。还有,如果你的密码是heihoo。建议你最好能改成HeiHoo或HeiHooes (加复数“es”),这样被猜中的机率就小了很多。