2017-2018-1 20155312《信息安全技术》实验二——Windows口令破解实验报告
实验目的
- 了解Windows口令破解原理
- 对信息安全有直观感性认识
- 能够运用工具实现口令破解
系统环境
- Windows
实验工具
- LC5
- SuperDic
实验过程
- 首先通过快照X恢复Windows系统环境。
- 字典破解
- 为本机创建新用户。为了达到实验效果,用户口令不要设置得过于复杂将你创建的用户名及密码填入下表
用户名 | 密码 |
---|---|
20155312 | 19970508 |
过程截图如下:
- 进入实验平台,单击工具栏“字典生成器”按钮,启动“字典生成器”。选择“生日”标签页,输入的年份与月份信息应尽量包含步骤(1)中用到的生日日期,在“生成字典”标签页中确定字典文件存放的路径以及新用户口令位数,最后生成字典文件。
- 最开始忘记选择日期格式,导致出现了下图中的错误:
更正后产生字典成功,过程截图如下:
- 单击工具栏“LC5”按钮,启动LC5口令破解工具。选择“Session”(会话)|“Session Options…”(会话选项)菜单项,在弹出的“Auditing Options For This Session”对话框中选中“Dictionary Crack”项的“Enabled”,取消其它项的“Enabled”。单击“Dictionary List”(字典列表)按钮,导入步骤(2)中生成的字典文件。
过程截图如下:
注意:这里要将搜索的文件类型选择为“all files”
最后成功导入:
- 返回LC5主界面,选择“Session”|“Import…”(导入)菜单项,在弹出的“Import”对话框中导入本地用户列表,选择“Session”|“Begin Audit”(开始审计)菜单项,开始字典破解用户口令。
- 暴力破解
- 创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc。
- 选择LC5的“File”|“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
- 在会话选项中仅选中“Brute Force Crack”(暴力破解)|“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。
- 不同密码强度的破解时间比较
- 再次新建4个用户,使用不同强度的用户口令,如下图所示:
- 新建LC5会话,在会话选项中选中暴力破解选项,字符设置选择“Custom”(自定义)。为了减少破解所需时间,请缩小自定义字符集。
- 开始暴力破解,当破解完成后,查看LC5的破解信息,记录各自的破解时间。
user1破解用时 | user2破解用时 | user3破解用时 | user4破解用时 |
---|---|---|---|
0s | 0s | 43s | 24s |
- 根据实验结果不难发现长密码比短密码破解要更多的时间,复杂密码比简单密码需要更多的时间,这也就是设置复杂密码能够提高系统安全性的原因。
思考问题
(1)分析口令破解软件L0phtCrack(简写为LC)的工作原理。
通常为了安全起见,用户的口令都是在经过加密之后保存在hash列表中的。L0phtCrack能直接从注册表,文件系统,备份磁盘,或是在网络传输的过程中找到口令。L0phtCrack开始破解的第一步是精简操作系统存储加密口令的hash列表。之后才开始口令的破解,这个过程称为是cracking。它采用以下三种不同的方法来实现:
-
1.最快也是最简单的方法是字典攻击。L0phtCrack将字典中的词逐个与口令hash表中的词作比较。当发现匹配的词时,显示结果,即用户口令。L0phtCrack自带一个小型词库。如果需要其它字典资源可以从互联网上获得。这种破解的方法,使用的字典的容量越大,破解的结果越好。
-
2.另一种方法名为Hybrid。它是建立在字典破解的基础上的。现在许多用户选择口令不再单单只是由字母组成的,他们常会使用诸如”bogus11”或”Annaliza!!”等添加了符号和数字的字符串作为口令。这类口令是复杂了一些,但通过口令过滤器和一些方法,破解它也不是很困难,Hybrid就能快速地对这类口令进行破解。
-
3.最后一种也是最有效的一种破解方式“暴力破解”。按道理说真正复杂的口令,用现在的硬件设备是无法破解的。但现在所谓复杂的口令一般都能被破解,只是时间长短的问题。且破解口令时间远远小于管理员设置的口令有效期。使用这种方法也能了解一个口令的安全使用期限。
-
开始破解的过程:选择菜单上的Tools Run Crack。默认的顺序是字典攻击,hybrid 攻击,暴力破解。通常在使用了这三种方法之后,L0phtCrack大都能成功的获得口令。如果你愿意也可以在Tools Option对话框中定义破解攻击的具体步骤。
-
L0phtCrack窗口显示的状态信息表明,字典攻击成功的概率和字典中词库的大小成正比例。
-
在字典攻击失败后,开始hybrid攻击。Hrbrid使用简单的模式,用户通过对一般词汇的改变产生的口令进行攻击。L0phtCrack能智能化地尝试口令的猜测。比如试一试”BOGUS11”。许多的用户仅仅在一些原有词的基础上添加了很少的数字或符号,来试图创造一个不可猜测的口令。但L0phtCrack能很快猜测出这些口令,而不再需要进行暴力攻击。L0phtCrack的Hybrid的破解方法,使用的默认检验字符或数字的个数是2。也可以通过Tools Options命令来改变该数值。
-
在字典攻击和hybrid攻击失败之后,就是暴力攻击。它可能会消耗相当长的时间,但是这些时间远远小于口令的有效期。因此这些口令在暴力攻击面前显得格外的脆弱。可以通过使用”Tool Option”命令改变字符数字的设置。默认的设置是尝试所有的数字和字符。
-
在Pentium II/450 到Pentium 166的CPU上理想的暴力破解时间是应该是24-72小时。
(2)Windows 7的口令保护文件名称及存储位置是什么?
- 口令保护文件名称是SAM,存储在X:windowssystem32configSAM。
(3)Windows保护系统帐户口令的算法有LM和NTLM,这两种算法有什么区别?
- LM基于DES算法,NTLM基于MD4算法;LM需要补足14字节,NTLM不需要补足14字节。
(4)为了保护口令安全,设置口令应该遵循什么样的原则?
- 首先要保证安全性,即设置口令时不要太简单,以免太容易被人破解;其次是易记忆,虽说密码要设置的复杂一些,但如果自己记不住也没什么用;最后是备份,这个就针对记忆不太好的或是密码比较多的人,以防自己忘记。
(5)Windows系统在什么地方可设置帐户密码策略?帐户密码策略包括哪些内容?
- 在桌面上点击“开始”菜单,然后点击“运行”。在运行窗口中输入“gpedit.msc”。在弹出的“策略编辑器”中依次展开“计算机配置”→“windows设置”→“安全设置”→“账户策略”,然后点击“密码策略”。在右侧列表中双击某一条策略。在此界面可以选择是否启用该策略及设置相关数值。帐户密码策略包括:密码必须符合复杂性要求;密码长度最小值;密码最短使用期限;密码最长使用期限;强制密码历史;用可还原的加密来储存密码。
(6)在密码破解中,常到彩虹表(Rainbow Table),彩虹表是什么?
- 彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 为破解密码的散列值(或称哈希值、微缩图、摘要、指纹、哈希密文)而准备。一般主流的彩虹表都在100G以上。 这样的表常常用于恢复由有限集字符组成的固定长度的纯文本密码。这是空间/时间替换的典型实践, 比每一次尝试都计算哈希的暴力破解处理时间少而储存空间多,但却比简单的对每条输入散列翻查表的破解方式储存空间少而处理时间多。
(7)你认为口令破解的技术将如何发展?
- 随着技术的发展,生物识别技术已逐渐成熟,虹膜识别,人脸识别,掌纹识别等生物特征使口令具有更强的唯一性和安全性,我认为这将是口令破解技术日后的主要发展方向。