网络安全基础知识——培析口令攻击
来源:天极网 更新时间:2012-04-13
攻击原理

  攻击者攻击目标时常常把破译用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。如果这个用户有域管理员或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)组合攻击

  词典攻击只能发现词典单词口令,但是速度快。强行攻击能发现所有的口令,但是破解时间很长。鉴于很多管理员要求用户使用字母和数字,用户的对策是在口令后面添加几个数字。如把口令ericgolf变成ericgolf55。错误的看法是认为攻击者不得不使用强行攻击,这会很费时间,而实际上口令很弱。有一种攻击使用词典单词但是在单词尾部串接几个字母和数字。这就是组合攻击。基本上,它介于词典攻击和强行攻击之间。

  (4)其他攻击类型

  社会工程学

  偷窥:观察别人敲口令

  搜索垃圾箱

  ※ 口令攻击工具

  NT口令破解程序:

  (1)L0phtcrack

  L0phtcrack是一个NT口令审计工具,能根据操作系统中存储的加密哈希计算NT口令,功能非常强大、丰富,是目前市面上最好的NT口令破解程序之一。它有三种方式可以破解口令:词典攻击、组合攻击、强行攻击。L0phtcrack可在www.10pht.com下载(15天试用),它不仅有一个美观、容易使用的GUI ,而且利用了NT的两个实际缺陷,这使得L0phtcrack速度奇快。

  (2)NTSweep

  NTSweep使用的方法和其他口令破解程序不同。它不是下载口令并离线破解,NTSweep是利用了Microsoft允许用户改变口令的机制。NTSweep首先取定一个单词,NTSweep使用这个单词作为帐号的原始口令并试图把用户的口令改为同一个单词。如果主域控制机器返回失败信息,就可知道这不是原来的口令。反之如果返回成功信息,就说明这一定是帐号的口令。因为成功地把口令改成原来的值,用户永远不会知道口令曾经被人修改过。NTSweep可从www.packet.securify.com下载。

  NTSweep非常有用,因为它能通过防火墙,也不需要任何特殊权限来运行。但是也有缺点,首先运行起来较慢;其次尝试修改口令并失败的信息会被记录下来,被管理员检测到;最后,使用这种技术的猜测程序不会给出精确信息,如有些情况不准用户更改口令,这是程序会返回失败信息,即使口令是正确的。

  (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,因为系统使用了更强的加密模式来保护信息。

  UNIX口令破解程序:

  (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能把几台计算机组成一台分布式虚拟机器在很短的时间里完成破解任务。