口令攻击
入侵网络的方法
攻击者攻击目标时常常把破译用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。如果这个用户有域管理员或root用户权限,这是极其危险的。
攻击原理
这种方法的前提是必须先得到该主机上的某个合法用户的账号,然后再进行合法用户口令的破译。获得普通用户账号的方法很多,如:
利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上;
利用目标主机的X.500服务:有些主机没有关闭X.500的目录查询服务,也给攻击者提供了获得信息的一条简易途径;
电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的账号;查看主机是否有习惯性的账号:有经验的用户都知道,很多系统会使用一些习惯性的账号,造成账号的泄露。
方法
这又有三种方法:
(1)是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大。监听者往往采用中途截击的方法也是获取用户账户和密码的一条有效途径。当前,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议缓冲区溢出错误的SUID程序来获得超级用户权限。
(2)是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但攻击者要有足够的耐心和时间。如:采用字典穷举法(或称暴力法)来破解用户的密码。攻击者可以通过一些工具程序,自动地从电脑字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一个尝试,并一直循环下去,直到找到正确的口令或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。
(3)是利用系统管理员的失误。在现代的Unix操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门的破解DES加密法的程序来解口令。同时,由于为数不少的操作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。例如,让Windows95/98系统后门洞开的BO就是利用了Windows 的基本设计缺陷。、放置特洛伊木马程序
特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知攻击者,来报告您的IP地址以及预先设定的端口。攻击者在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改你的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。
攻击类型
(1) 字典攻击
因为多数人使用普通词典中的单词作为口令,发起词典攻击通常是较好的开端。词典攻击使用一个包含大多数词典单词的文件,用这些单词猜测用户口令。使用一部 1万个单词的词典一般能猜测出系统中70%的口令。在多数系统中,和尝试所有的组合相比,词典攻击能在很短的时间内完成。
(2) 强行攻击
许多人认为如果使用足够长的口令,或者使用足够完善的加密模式,就能有一个攻不破的口令。事实上没有攻不破的口令,这只是个时间问题。如果有速度足够快的计算机能尝试字母、数字、特殊字符所有的组合,将最终能破解所有的口令。这种类型的攻击方式叫强行攻击。使用强行攻击,先从字母a开始,尝试aa、ab、 ac等等,然后尝试aaa、aab、aac ……。
攻击者也可以利用分布式攻击。如果攻击者希望在尽量短的时间内破解口令,他不必购买大量昂贵的计算机。他会闯入几个有大批计算机的公司并利用他们的资源破解口令。
(3)NTCrack
NTCrack是UNIX破解程序的一部分,但是在NT环境下破解。NTCrack与UNIX中的破解类似,但是NTCrack在功能上非常有限。它不象其他程序一样提取口令哈希,它和NTSweep的工作原理类似。必须给NTCrack一个user id和要测试的口令组合,然后程序会告诉用户是否成功。
(4)PWDump2
PWDump2不是一个口令破解程序,但是它能用来从SAM数据库中提取口令哈希。L0phtcrack已经内建了这个特征,但是PWDump2还是很有用的。首先,它是一个小型的、易使用的命令行工具,能提取口令哈希;其次,很多情况下L0phtcrack的版本不能提取口令哈希。如SYSTEM是一个能在NT下运行的程序,为SAM数据库提供了很强的加密功能,如果SYSTEM在使用,L0phtcrack就无法提取哈希口令,但是PWDump2 还能使用;而且要在windows2000下提取哈希口令,必须使用PWDump2,因为系统使用了更强的加密模式来保护信息。
破解程序
(1) Crack
Crack是一个旨在快速定位UNIX口令弱点的口令破解程序。Crack使用标准的猜测技术确定口令。它检查口令是否为如下情况之一:和user id相同、单词password、数字串、字母串。Crack通过加密一长串可能的口令,并把结果和用户的加密口令相比较,看其是否匹配。用户的加密口令必须是在运行破解程序之前就已经提供的。
(2) John the Ripper
UNIX口令破解程序,但也能在Windows平台运行,功能强大、运行速度快,可进行字典攻击和强行攻击。
(3) XIT
XIT是一个执行词典攻击的UNIX口令破解程序。XIT的功能有限,因为它只能运行词典攻击,但程序很小、运行很快。
(4) Slurpie
Slurpie能执行词典攻击和定制的强行攻击,要规定所需要使用的字符数目和字符类型。如,可以能够Slurpie发起一次攻击,使用7字符或8字符、仅使用小写字母口令进行强行攻击。
和John、Crack相比,Slurpie最大的优点是它能分布运行,Slurpie能把几台计算机组成一台分布式虚拟机器在很短的时间里完成破解任务
攻击防范
防范口令攻击最根本的方法是用户做好保护口令的工作,如口令要没有规律并定期更换,采用加密的方式保存和传输口令,登录失败时要查清原因并记录等。
不建议使用的口令
口令和用户名相同。
口令为用户名的某几个邻近的数字或字母。如:用户名test001,口令为test。
口令为连续或相同的字母或数字。如:123456789,11111111,abcdefg,jjjjjjjj等。几乎所有黑客软件,都会从连续或相同的数字或字母开始试口令。
将用户名颠倒或加前缀作为口令。如用户为test,口令为test123.aaatest、tset、等。
使用姓氏的拼音或单位名称的缩写作为口令。
使用自己或亲友的生日作为口令。由于表示月份的只有1-12可以使用,表示日期也只有1-31可以使用,表示日期的肯定19xx或xx因此表达方式只有100×12×31×2=74400种,即考虑到年月日其有六种排列顺序,一共也只有74400×6=446400种。按普通计算计每秒搜索3-4万种的速度计算,破解这位的口令最多只需10s.
使用常用英文单词作为口令。
口令长度小于6位数。
参考资料
最新修订时间:2024-05-21 11:18
目录
概述
攻击原理
方法
参考资料