20155236 《信息安全概论》实验二(Windows系统口令破解)实验报告
北京电子科技学院(BESTI)
实验报告
课程:信息安全概论 班级:1552 姓名:范晨歌 学号:20155236
成绩: 指导教师: 李冬冬
实验日期及时间: 2017年10月11日 15:30—18:00
座位号:36 必修/选修:必修 实验序号:02
实验名称: Windows系统口令破解
一、实验目的与要求:
1.字典破解
通过字典生成工具生成具有一定规则的密码本这样一个文本文件,里面包含了我们猜测的可能存在的密码。然后通过遍历密码本中的密码,比较用户口令,即可找到正确的密码。
2.暴力破解
通过初始化暴力破解的各种变量(字母、数字、其它常用显示字符等)来设置密码中可能存在的字符类型,通过对以上字符的全排列遍历,来找到正确的密码。
二、实验内容、步骤及结论
(一)实验内容与步骤
1.字典破解
(1)为本机创建新用户。为了达到实验效果,用户口令不要设置得过于复杂,可以选择自己的生日
(2)进入实验平台,单击工具栏“字典生成器”按钮,启动“字典生成器”。选择“生日”标签页,输入的年份与月份信息应尽量包含步骤(1)中用到的生日日期,在“生成字典”标签页中确定字典文件存放的路径以及新用户口令位数,最后生成字典文件。
(3)单击工具栏“LC5”按钮,启动LC5口令破解工具。选择“Session”(会话)|“Session Options…”(会话选项)菜单项,在弹出的“Auditing Options For This Session”对话框中选中“Dictionary Crack”项的“Enabled”,取消其它项的“Enabled”。单击“Dictionary List”(字典列表)按钮,导入步骤(2)中生成的字典文件。返回LC5主界面,选择“Session”|“Import…”(导入)菜单项,在弹出的“Import”对话框中导入本地用户列表,选择“Session”|“Begin Audit”(开始审计)菜单项,开始字典破解用户口令。
2.暴力破解
(1)创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc
(2)选择LC5的“File”|“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
(3)在会话选项中仅选中“Brute Force Crack”(暴力破解)|“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。
(二)实验结论
1.字典破解
我设置了一个“Fcg”用户,密码为“19980728”,通过生成“生日”密码本(范围:19900101-19991231),应用LC5来破解扣令。破解结果如下图1所示:
图1 字典破解结果
2.暴力破解
我设置了一个“FF”用户,密码为“110FCG”,应用LC5工具中的暴力破解选项,将考虑到字符的内容设置为数字+字母的形式,点击开始按钮,即可破解。通过上图可以发现找到这个口令。
图2 暴力破解结果
以下是4种不同组成的密码经过暴力破解后所花的时间:
图3 4种不同组成的密码经过暴力破解
详细如下表2所示:
表2 4种不同组成的密码经过暴力破解的时间
用户名 | 密码 | 暴力破解时间 | 备注 |
---|---|---|---|
test | 1234 | 0d 0h 0m 0s | 时间精度不够显示0s |
test2 | 12abc | 0d 0h 0m 1s | |
test3 | abc123 | 0d 0h 4m 37s | |
tesst4 | 12_ab+ | 0d 0h 5m 42s | 时间最长 |
三、思考题
(一)Windows对登录口令的保护
Windows XP的登录口令存放在系统在C:\WINDOWS\system32\config文件夹中的SAM文件中,SAM文件即用户的账号口令数据库文件,当我们登录Windows系统时,系统会自动的与SAM校对,如发现此次密码与SAM文件中的加密数据符合时,就会顺利登录,否则将无法登录。所以保护Windows系统的登录口令应该从以下几个方面着手:(一)防止登录前的暴力破解和字典攻击;(二)加强对SAM文件的保密性。
我们可以通过访问控制、权限设置等策略,禁止用户或非法访问者打开、复制、删除、修改SAM文件。Windows系统下,SAM受到ACL(访问控制列表)的保护,SAM只允许本地安全认证进程—lsass.exe的调用,登陆时的口令校对也听从lsass.exe。SAM在系统启动后就处于锁定状态,用户无法擅自更改这个文件内容。
(二)分析LM与NTLM算法
早期SMB协议在网络上传输明文口令。后来出现"LAN Manager Challenge/Response" 验证机制,简称LM,它是如此简单以至很容易被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM是windows早期安全协议,因向后兼容性而保留下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器。
两种加密算法分别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash,如果密码大于14个,windows就自动使用NTLM对其进行加密了。
对于XP、win2k和win2k3来说,系统默认使用LM进行加密(也可人为设置成NTLM),之后的win2008、win7和Vista禁用了LM,默认使用NTLM,所以不要拿着LM生成的rainbow table去找NTLM的hash值,但是反过来却可以,因为使用LM方式的加密往往会存在一个对应的NTLM hash(如果密码位数<=14的话,系统同时对这个密码使用NTLM加密并存储了NTLM的hash),这时候使用ophcrack的NTLM表查找的就是这个NTLM的hash了,而不是LM的hash。
综上,NTLM是LM的发展,它采用了挑战/响应验证机制,比LM更加安全实用。
四、实验体会
通过本次的实验,让我接触到了一些破解密码的基本技术:字典破解、暴力破解。之前也只是在理论上学习过,这一次的实验让我亲身经历了一次破解密码的过程,受益良多。
密码破解其实是一个漫长的过程,实际中的密码没有我们实验课上的这么简单,位数也没有这么短,这对破解来说都是有相当大的难度的。所以,一方面我们要学会使用更多的黑客工具,了解每个工具的异同点、优缺点(比如本次实验中的字典生成工具和LC5工具),熟练使用,关键时刻就可以派上用场;而另一方面也是最最重要的,就是加强理论的学习,现在能破解密码,只能代表我们学会了使用工具,并不能代表我们掌握了什么知识理论,我们只有加强理论的学习,摸清各种密码设置的规律特点,有针对性的解决,才能大大提高破解密码的效率。
最后,经过本次实验,实验结果直观地向我们证明了,短位密码、纯数字密码、简单的字母数字组合密码并不牢靠,如果想更好地保护我们的信息,应该重视密码的设置,加强密码强度,保护信息安全。