《信息安全技术》实验二 Windows口令破解
《信息安全技术》实验二 Windows口令破解
实验目的
- 了解Windows口令破解原理
- 对信息安全有直观感性认识
- 能够运用工具实现口令破解
实验环境
- 实验机Windows Server 2003虚拟机
实验工具
网络信息安全教学实验平台中打开:
- LC5
- SuperDic
实验原理
- 口令破解方法
- 字典破解:通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,例如其姓名、生日、电话号码等,同时结合对密码长度的猜测,利用工具来生成密码破解字典。如果相关信息设置准确,字典破解的成功率很高,并且其速度快,因此字典破解是密码破解的首选。
- 暴力破解:对密码可能使用的字符和长度进行设定后(例如限定为所有英文字母和所有数字,长度不超过8),对所有可能的密码组合逐个实验。随着可能字符和可能长度的增加,存在的密码组合数量也会变得非常庞大,因此暴力破解往往需要花费很长的时间,尤其是在密码长度大于10,并且包含各种字符(英文字母、数字和标点符号)的情况下。
- 口令破解方式
- 离线破解:离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。可以将口令破解程序的工作流程用下图表示。
其中,候选口令产生器作用是不断生成可能的口令。有几种方法产生候选口令,一种是用枚举法来构造候选口令(暴力破解),另一种方法是从一个字典文件里读取候选口令(字典破解);口令加密过程就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密码。这要求加密算法要采用和目标主机一致的加密算法。加密算法有很多种,通常与操作系统的类型和版本相关;密码比较就是口令比较,是将从候选口令计算得到的新密码和密码文件中存放的密码相比较。如果一致,那么口令破解成功,可以使用候选口令和对应的账号登录目标主机。如果不一致,则候选口令产生器计算下一个候选口令。 - 在线破解:通过在线破解攻击者可以使用一个程序连接到目标主机,不断地尝试各种口令试图登录目标主机。目标主机系统中某些低等级的账号的口令往往容易被尝试成功,然后,攻击者使用其账号进入系统获取密码存放文件(Windows系统是SAM文件,Linux系统是passwd等文件),再使用离线破解方法破解高权限的口令(管理员口令等)。
- 离线破解:离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。可以将口令破解程序的工作流程用下图表示。
实验步骤
一、环境配置
- 打开实验机,启动VB中Windows Server 2003虚拟机;
- 双击“网络信息安全教学实验平台”软件,进入实验平台:
二、字典破解
- 为本机创建新用户。为了达到实验效果,用户口令不要设置得过于复杂,如下图:
- 进入实验平台,单击工具栏“字典生成器”按钮,启动“字典生成器”。选择“生日”标签页,输入的年份与月份信息应尽量包含步骤(1)中用到的生日日期,在“生成字典”标签页中确定字典文件存放的路径以及新用户口令位数,最后生成字典文件。
- 单击工具栏“LC5”按钮,启动LC5口令破解工具。选择“Session”(会话)-->“Session Options…”(会话选项)菜单项,在弹出的“Auditing Options For This Session”对话框中选中“Dictionary Crack”项的“Enabled”,取消其它项的“Enabled”。单击“Dictionary List”(字典列表)按钮,导入步骤(2)中生成的字典文件。
- 返回LC5主界面,选择“Session”-->“Import…”(导入)菜单项,在弹出的“Import”对话框中导入本地用户列表,选择“Session”-->“Begin Audit”(开始审计)菜单项,开始字典破解用户口令。
- 字典破解成功!如下图:
三、暴力破解
- 创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc。
- 选择LC5的“File”-->“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
- 在会话选项中仅选中“Brute Force Crack”(暴力破解)-->“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。
- 暴力破解成功!如下图:
- 不同密码强度的破解时间比较
- 再次新建4个用户,使用不同强度的用户口令
- 新建LC5会话,在会话选项中选中暴力破解选项,字符设置选择“Custom”(自定义)。为了减少破解所需时间,请缩小自定义字符集。我选择的自定义字符集为26个字母(不分大小写)+10个数字+
_
和+
两个符号: - 开始暴力破解,当破解完成后,查看LC5的破解信息,记录各自的破解时间。破解ing...
- 暴力破解成功!如下图:根据实验结果不难发现长密码比短密码破解要更多的时间,复杂密码比简单密码需要更多的时间,这也就是设置复杂密码能够提高系统安全性的原因。
课后测试(部分)
-
对于口令破解软件LC,下列描述错误的是( )。
【答案】A. LC不能够提供远程登录Windows系统的口令破解。
-
如果口令为security123,在字典中存在组合security,不存在security123,那么最好使用下列哪种破解方式:()
A. Dictionary attack
B. Hybrid dictionary attack
C. Brute force attack
D. Precomputed hash attack
【错选】C
【答案】B
-
口令破解中,所谓词典就是一个()。
A. 配置破解方式属性的文件
B. 单词或数字字符组合列表文件
C. 批处理文件
D. 可执行文件
【答案】B
-
口令破解实验中,密码词典的扩展名是( )。
【答案】C. dic
-
口令破解软件的功能模块不包括()。
A. 候选口令产生器模块
B. 口令加密模块
C. 口令解密模块
D. 密码比较模块
【错选】B
【答案】C
-
对于口令破解描述错误的是()。
A. 理论上讲,任何口令都是可破解的,只是时间问题。
B. 口令破解器通常是对口令密文进行解密破解。
C. 复杂口令的破解通常会更耗费时间。
【答案】B
-
Windows系统中,保护用户账户及口令的文件是如下哪个文件()。
A. %systemroot%system32\config\SAM
B. %systemroot%system32\config\SECURITY
C. %systemroot%system32\driver\SAM
D. %systemroot%system32\driver\SECURITY
【错选】B
【答案】A
-
对于口令Sec16mASec16mA和Sec16mA来说,下列描述正确的是()。
A. 在LM算法中,Sec16mASec16mA比Sec16mA安全性要好。
B. 在LM算法中,Sec16mASec16mA和Sec16mA安全性一样。
【错选】A
【答案】B
-
下列对于LM算法与NTLM算法描述错误的是()。
A. LM-Hash算法是在DES的基础上实现的。
B. LM-Hash不区分字母大小写,长度最长是14个字符。
C. NTLM-Hash不区分字母大小写,长度可超过14个字符。
D. NTLM-Hash基于MD4算法实现。
【错选】B
【答案】C
-
关于彩虹表,下列描述错误的是()。
A. 彩虹表技术以时空折中理论为基础,即增大存储空间的开销缩短密码破解所需要的时间。
B. 彩虹表是描述明文口令及其对应密文的一个大型数据库,破解时通过密文直接反查明文。
C. 彩虹表为了节约空间,用哈希链的存储方式进行存储。
D. 针对不同的HASH算法,有不同的彩虹表。
【答案】B
思考题
- 分析口令破解软件L0phtCrack(简写为LC)的工作原理。
- L0phtCrack是在NT平台上使用的口令审计工具。它能通过保存在NT操作系统中cryptographic hashes列表来破解用户口令的。通常为了安全起见,用户的口令都是在经过加密之后保存在hash列表中的。这些敏感的信息如果被攻击者获得,他们不仅可能会得到用户的权限,也可能会得到系统管理员的权限。这后果将不堪设想。L0phtCrack可通过各种不同的破解方法对用户的口令进行破解。
- 最快也是最简单的方法是字典攻击。L0phtCrack将字典中的词逐个与口令hash表中的词作比较。当发现匹配的词时,显示结果,即用户口令。L0phtCrack自带一个小型词库。如果需要其它字典资源可以从互联网上获得。这种破解的方法,使用的字典的容量越大,破解的结果越好。
- 另一种方法名为Hybrid。它是建立在字典破解的基础上的。现在许多用户选择口令不再单单只是由字母组成的,他们常会使用诸如”bogus11”或”Annaliza!!”等添加了符号和数字的字符串作为口令。这类口令是复杂了一些,但通过口令过滤器和一些方法,破解它也不是很困难,Hybrid就能快速地对这类口令进行破解。
- 最后一种也是最有效的一种破解方式“暴力破解”。按道理说真正复杂的口令,用现在的硬件设备是无法破解的。但现在所谓复杂的口令一般都能被破解,只是时间长短的问题。且破解口令时间远远小于管理员设置的口令有效期。使用这种方法也能了解一个口令的安全使用期限。
- L0phtCrack是在NT平台上使用的口令审计工具。它能通过保存在NT操作系统中cryptographic hashes列表来破解用户口令的。通常为了安全起见,用户的口令都是在经过加密之后保存在hash列表中的。这些敏感的信息如果被攻击者获得,他们不仅可能会得到用户的权限,也可能会得到系统管理员的权限。这后果将不堪设想。L0phtCrack可通过各种不同的破解方法对用户的口令进行破解。
- Windows 7的口令保护文件名称及存储位置是什么?
- SAM文件,保存在
C:\windows\system32\config\
下。
- SAM文件,保存在
- Windows保护系统帐户口令的算法有LM和NTLM,这两种算法有什么区别?
- 早期SMB协议在网络上传输明文口令。后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至很容易就被破解。
- 微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM是windows早期安全协议,因向后兼容性而保留下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器。
- 为了保护口令安全,设置口令应该遵循什么样的原则?
- Windows系统在什么地方可设置帐户密码策略?帐户密码策略包括哪些内容?
- 在密码破解中,常到彩虹表(Rainbow Table),彩虹表是什么?
- 彩虹表对我来说可以算比较熟悉了,因为前不久的第三届全国密码技术竞赛上,我们小组就以彩虹表为研究方向提交了题为《基于彩虹表的动态口令程序分析及应用》的复赛作品,主要侧重于新型彩虹表的设计实现和具体应用:
简而言之,彩虹表是一个用于攻击Hash函数的预先计算Hash链集。与常见的暴力攻击和字典攻击相比,彩虹表在时间复杂度和空间复杂度上有着更平衡的优势,并对动态口令破解有着显著的效果。
- 彩虹表对我来说可以算比较熟悉了,因为前不久的第三届全国密码技术竞赛上,我们小组就以彩虹表为研究方向提交了题为《基于彩虹表的动态口令程序分析及应用》的复赛作品,主要侧重于新型彩虹表的设计实现和具体应用:
- 你认为口令破解的技术将如何发展?