黑客攻防从入门到精通(Web脚本编程篇·全新升级版)
上QQ阅读APP看书,第一时间看更新

2.2 口令猜解攻击

攻击者常常把破译目标用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,就能获得机器或者网络的访问权,并能访问到用户可以访问到的任何资源。如果这个用户有域管理员或root用户权限,这是极其危险的。

口令认证是目前防止黑客进入和使用系统最有效也是最常用的做法之一。获取合法用户的账号和口令已经成为黑客攻击的重要手段之一。在有些情况下,黑客必须取得合法用户或管理员的口令才能进入和控制系统。现在,有一部分人喜欢破解他人的各种口令,如系统账户口令、压缩文件口令等。

2.2.1 实现口令猜解攻击的三种方法

猜解口令的前提是必须先获得该主机上某个合法用户的账号,然后再进行合法用户口令的破译。下面3种方法可以实现口令猜解攻击。

1.通过网络监听非法得到用户口令

这类方法有一定的局限性,但危害性极大。监听者往往采用中途截击的方法,这也是获取用户账号和密码的一条有效途径。当前,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户账号和密码信息都是以明文格式传输的,此时若攻击者利用数据包截取工具便可很容易收集到该信息。还有一种中途截击攻击方法,它在你同服务器端完成“三次握手”建立连接之后,在通信过程中扮演“第三者”的角色,假冒服务器身份欺骗你,再假冒你向服务器发出恶意请求,其造成的后果不堪设想。另外,攻击者有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码;或者编制有缓冲区溢出错误的SUID程序来获得超级用户权限。

2.利用专门的软件破解口令

利用一些专门的软件强行破解用户口令,这种方法不受网段限制,但攻击者要有足够的耐心和时间。例如,采用字典穷举法(或称暴力法)来破解用户的密码。攻击者可以通过一些工具程序,自动地从计算机字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一次尝试,并一直进行下去,直到找到正确的口令或将字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。

3.利用系统管理员的失误

在操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后,专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门破解DES加密法的程序来解口令。同时,由于为数不少的操作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。为了保护自己密码的安全,用户要慎重设置自己的口令。要想设置好的口令,需要做到以下几点。

① 不要使用与自己相关的信息作为口令。如执照号码、电话号码、身份证号码、工作证号码、生日、所居住的街道名字等。

② 不要使用简单危险口令,推荐使用口令设置为8位以上的大小写字母、数字和其他符号的组合。设置口令一个最好的选择就是将两个不相关的词用一个数据或非字母字符相连。

③ 要定期更换口令,因为8位数以上的字母、数字和其他符号的组合也不是绝对无懈可击的,但更换口令前要确保所使用计算机的安全。

④ 不要把口令轻易告诉任何人。尽可能避免因为对方是网友或现实生活中的朋友,而把密码告诉他。

⑤ 避免多个资源使用同一个口令,一旦一个口令泄露,所有的资源都将受到威胁。

⑥ 不要让Windows或者IE保存任何形式的口令,因为“*”符号掩盖不了真实的口令。而且在这种情况下,Windows都会将口令储存在某个文件中。

⑦ 不要随意保存账号和口令,注意把账号和口令存放在相对安全的位置。把口令写在台历上、记在钱包上等都是危险的做法。

⑧ 申请密码保护,即设置安全码,注意安全码不要和口令设置得一样。如果没有设置安全码,别人一旦破解密码,就可以把密码和注册资料(除证件号码)全部修改。

2.2.2 使用LC6破解计算机登录密码

根据口令猜解的方法可以知道,在进行攻击时,各种密码破解工具是必不可少的。下面通过使用LC6破解计算机密码来介绍黑客进行密码破解的具体过程。

L0phtCrack6.0.12(简写为LC6)是L0phtCrack组织开发的Windows平台口令审核程序的新版本,提供了审核Windows账号的功能,以提高系统的安全性。另外,LC6也被一些黑客用来破解Windows用户口令,对用户的网络安全造成很大的威胁。所以,了解LC6的使用方法,可以避免使用不安全的密码,从而提高用户本身系统的安全性。L0phtCrack能直接从注册表、文件系统、备份磁盘或是在网络传输的过程中找到口令。L0phtCrack开始破解的第一步,是精简操作系统存储加密口令的hash列表。之后才开始口令的破解,这个过程称为cracking。它采用3种不同的方法来实现。

在Windows操作系统中用户账号的安全管理使用了安全账号管理SAM(Securiy Account Manager)机制,用户和口令经过Hash加密变换后以Hash列表的形式存放在%System Rot%\System32\config下的SAM文件中。LC6是通过破解这个SAM文件来获得用户名和密码的。LC6可以在本地系统、其他文件系统、系统备份中获得SAM文件,从而破解出口令。

使用LC6破解密码的具体操作步骤如下。

1下载并安装LC6,单击桌面上的快捷图标即可打开“L0phtCrack 6 Wizard(LC6向导)”对话框,如下图所示。单击“Next(下一步)”按钮,即可打开“Get Encrypted Password(取得加密口令)”对话框,在其中选择相应单选项来设置导入加密口令的方法,这里选择“Retrieve from the local(从本地计算机导入)”单选按钮,如下图所示。

“L0phtCrack6向导”对话框

2单击“Next(下一步)”按钮,即可打开“Choose Auditing Method(选择破解方法)”对话框,操作如下图所示。LC6提供了快速口令破解、普通口令破解、复杂口令破解以及自定义等4种破解方式。

“取得加密口令”对话框

3选择“Custom(自定义)”单选按钮,单击“Custom Options(自定义选项)”按钮,即可打开“Custom Auditing Options(自定义破解选项)”对话框,如下图所示。LC6提供了字典攻击、混合字典、预定散列以及暴力破解等4种自定义破解方式,这里选择使用“字典攻击”破解方法。

“选择破解方法”对话框

4单击“OK(确定)”按钮,即可返回“Choose Auditing Method(选择破解方法)”对话框。单击“Next(下一步)”按钮,即可打开“Pick Reporting Style(选择报告风格)”对话框,在其中选择所需的报告风格,如图所示。

“选择报告风格”对话框

5单击“Next(下一步)”按钮,即可打开“Begin Auditing(开始破解)”对话框,在其中可以看到准备破解密码提示信息,如图所示。

开始破解对话框

6单击“Finish(完成)”按钮,即可打开“LC6”的主窗口,如图所示。此时开始破解密码,在其中可以看到本地计算机中所有的账户名称及其属性。待破解完成后,即可在“LC6”主窗口的“口令”列中,看到破解出来的账户名称与密码。

破解结果

LC6是一款比较常用的密码破解工具,其使用非常方便,但是当遇到密码比较复杂的情况时,破解密码可能会需要很长时间。

2.2.3 使用SAMInside破解计算机密码

SAMInside为一款俄罗斯版Windows密码恢复软件,可在Windows 7、Windows 8、Windows XP操作系统中使用,主要用来恢复Windows用户登录密码。与一般Windows密码破解软件的不同在于:多数Windows密码恢复软件都是将Windows用户密码重置,而如果此时用户恰好使用了NTFS文件系统,且将文件用NTFS的特性EFS(加密文件系统)加密,则这些文件将变成永久不可读数据。SAMInside是将用户密码以可读的明文分式破解出来,且SAMInside可采用分布式攻击方式同时使多台计算机进行密码破解,从而大大提高了破解速度。

下面以SAMInside-v2.7.0汉化版为例来介绍破解计算机密码,主要步骤如下。

1从网上下载得到SAMInside-v2.7.0的软件包,解压缩之后双击SAMInside.exe程序,即可打开“SAMInside”主窗口。

2单击工具栏中的“导入”按钮,在快捷菜单中可以看出该软件提供了10种导入方式,如图所示。从上到下分别是:导入SAM和系统注册表文件、导入SAM注册表和SYSKEY文件、从PWDUMP导入文件、从.HDT文件中导入、从.LCP文件导入、从.LCS文件导入、从.LC文件导入、从.LST文件中导入、从*.txt文件中导入LM哈希、从*.txt文件中导入NT哈希。

选择密码导入方式

3如果想把账户导出到指定的文件中,则单击工具栏中的“导出”按钮,在快捷菜单中选择相应的导出方式。SAMInside提供了导出用户到PWDUMP文件、导出选定的用户到PWDUMP文件、导出所选定的LM哈希至EGB格式、导出用户到HTML、导出发现密码(即导出已经破解出的密码)、导出统计等多种导出方式,如图所示。

选择账户导出方式

4如果想破解本地计算机密码,则可单击工具栏中的第三个按钮,在快捷菜单中选择相应的选项。如选择“导入本地用户通过LSASS(即通过LSASS导入本地用户)”选项,即可快速导入本地账户;如选择“导入本地用户通过计划程序”选项,则需要等候才可导入,如图所示。

选择导入本地账户

5单击工具栏中的 按钮即可进行“标记所有用户”“取消标记所有用户”“反转选项”“编辑用户”和“添加用户”等操作。在快捷菜单中选择“添加账户”选项,即可弹出“SAMInside”对话框,在其中可以设置新增加账户的信息,还可以在相应位置输入LM和NT的哈希值(hash),如图所示。

对用户进行操作

6单击工具栏中的“删除”按钮,在弹出的快捷菜单中选择相应的选项即可进行删除所选用户、删除已发现密码的用户、删除所有用户等操作,如图所示。

删除用户菜单

7单击工具栏中的 按钮,即可打开“SAMInside”窗口,从中可以分别看出LM和NT的哈希值,如图所示。SAMInside提供了LM哈希攻击、NT哈希攻击、暴力攻击、掩码攻击、字典攻击、预计算式攻击等多种攻击方式。

“SAMInside”窗口

注意

如果密码前3位是数字,后2位是字母,中间有3位不详,此时需要设置一下以增加破解速度,这种破解方式就是掩码攻击。

8单击工具栏中的“攻击”按钮,在快捷菜单中选择相应的方式,如图所示。单击工具栏中的 按钮或 按钮,即可恢复密码。当然,黑客们会利用该菜单猜解目标口令。而按钮的作用是停止猜解。

选择攻击方式菜单

下面以一个本地计算机账户Administrator的密码破解为例介绍密码破解过程,具体的操作步骤如下。

1在“SAMInside”主窗口中单击工具栏中的第三个按钮,在快捷菜单中选择“LSASS导入要破解的内容”选项,即可自动读入本机的用户账户信息,如图所示。

导入本地账户信息

2选中“Administrator”账户之后,单击工具栏中的“攻击”按钮,在弹出的快捷菜单中选择“NT哈希攻击”和“暴力攻击”方式,如图所示。

选择攻击方式

3选择“选项”选项,即可打开“选项”对话框,在勾选“所有可打印字符”复选框之后,单击“确定”按钮,如图所示。

“选项”对话框

4此时返回到“SAMInside”主窗口中。单击工具栏中的 按钮,即可开始猜解密码,待猜解完毕后即可看到“暴力攻击完成”提示。

5单击“确定”按钮,即可看到猜解出的密码,如图所示。猜解的过程往往需要一段时间,这就要读者耐心等待了。另外,读者还可以根据需要选择其他攻击方式。

猜解出的账户密码

2.2.4 压缩包密码的暴力破解

RAR Password Cracker是一款专门用来破解RAR压缩文件密码的工具,通过暴力破解、密码字典等方法,来快速破解被密码保护的文件。其最新版本具备了状态存储、并行计算、多卷文件支持等新功能。使用RAR Password Cracker破解压缩包密码的具体操作步骤如下。

1安装RAR Password Cracker后启动该软件,即可打开“RAR Password Cracker Wizard-Welcome(RAR密码解密向导-欢迎)”对话框,选择“Create new project(创建新的工程)”单选项,如图所示。

“RAR密码解密向导-欢迎”对话框

2单击“下一步”按钮,即可打开“RAR Password Cracker Wizard-Files to crack(RAR密码解密向导-需要解密的文件)”对话框,如图所示。单击“Load RAR archive(加载RAR压缩包)”按钮,选择需要解密的压缩包。添加压缩包成功后,可在“Encrypted File(加密文件)”列表中看到刚加载的压缩包的属性。

“RAR密码解密向导-需要解密的文件”对话框

3单击“Add to projec(t添加到工程)”按钮,即可将加载的压缩包加入破解列表中,如图所示。

添加到工程

4单击“下一步”按钮,即可打开“RAR Password Cracker Wizard-Choose Dictionary/Bruteforce attack(RAR密码解密向导-选择解密方式)”对话框。该软件提供Dictionary attack(字典解密)和Bruteforce attack(暴力破解)两种破解方式,在这里选择“暴力破解”单选项,如图所示。

选择“暴力破解”单选项

5单击“下一步”按钮,在弹出的快捷菜单中选择相应的字符类型,然后设置密码的范围以及最大长度和最短长度。单击“下一步”按钮,选择工程保存位置和名称,保存位置设置完成后单击“完成”按钮,即可开始对压缩包密码进行破解,其破解速度与压缩包密码强度和计算机运行速度有关,结果运行如图所示。

破解文件密码结果