《信息安全技术》实验一 PGP的原理与使用
学号 20155337
姓名 祁家伟
信息安全技术实验二
实验2 Windows口令破解
在网络界,攻击事件发生的频率越来越高,其中相当多的都是由于网站密码泄露的缘故,或是人为因素导致,或是口令遭到破解,所以从某种角度而言,密码的安全问题不仅仅是技术上的问题,更主要的是人的安全意识问题。
实验目的
- 了解Windows口令破解原理
-对信息安全有直观感性认识 - 能够运用工具实现口令破解
实验人数
每组1人
系统环境
Windows
实验工具
- LC5
- SuperDic
实验原理
- 口令破解方法
口令破解主要有两种方法:字典破解和暴力破解。
字典破解是指通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,例如其姓名、生日、电话号码等,同时结合对密码长度的猜测,利用工具来生成密码破解字典。如果相关信息设置准确,字典破解的成功率很高,并且其速度快,因此字典破解是密码破解的首选。
而暴力破解是指对密码可能使用的字符和长度进行设定后(例如限定为所有英文字母和所有数字,长度不超过8),对所有可能的密码组合逐个实验。随着可能字符和可能长度的增加,存在的密码组合数量也会变得非常庞大,因此暴力破解往往需要花费很长的时间,尤其是在密码长度大于10,并且包含各种字符(英文字母、数字和标点符号)的情况下。 - 口令破解方式
口令破解主要有两种方式:离线破解和在线破解
离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。可以将口令破解程序的工作流程用下图表示。
图 口令破解程序的工作流程
其中,候选口令产生器作用是不断生成可能的口令。有几种方法产生候选口令,一种是用枚举法来构造候选口令(暴力破解),另一种方法是从一个字典文件里读取候选口令(字典破解);口令加密过程就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密码。这要求加密算法要采用和目标主机一致的加密算法。加密算法有很多种,通常与操作系统的类型和版本相关;密码比较就是口令比较,是将从候选口令计算得到的新密码和密码文件中存放的密码相比较。如果一致,那么口令破解成功,可以使用候选口令和对应的账号登录目标主机。如果不一致,则候选口令产生器计算下一个候选口令。
通过在线破解攻击者可以使用一个程序连接到目标主机,不断地尝试各种口令试图登录目标主机。目标主机系统中某些低等级的账号的口令往往容易被尝试成功,然后,攻击者使用其账号进入系统获取密码存放文件(Windows系统是SAM文件,Linux系统是passwd等文件),再使用离线破解方法破解高权限的口令(管理员口令等)。
实验步骤
在实验过程中注意观察与思考:LC5除了能破解本地口令之外,还可以破解哪些口令?LC5中都提供哪些口令破解模式?这些口令破解模式的区别是什么?
- 首先通过快照X恢复Windows系统环境。
- 字典破解
(1)为本机创建新用户。为了达到实验效果,用户口令不要设置得过于复杂
用户:twe1ve
密码:19970302
(2)进入实验平台,单击工具栏“字典生成器”按钮,启动“字典生成器”。选择“生日”标签页,输入的年份与月份信息应尽量包含步骤(1)中用到的生日日期,在“生成字典”标签页中确定字典文件存放的路径以及新用户口令位数,最后生成字典文件。
(3)单击工具栏“LC5”按钮,启动LC5口令破解工具。选择“Session”(会话)|“Session Options…”(会话选项)菜单项,在弹出的“Auditing Options For This Session”对话框中选中“Dictionary Crack”项的“Enabled”,取消其它项的“Enabled”。单击“Dictionary List”(字典列表)按钮,导入步骤(2)中生成的字典文件。
(4)返回LC5主界面,选择“Session”|“Import…”(导入)菜单项,在弹出的“Import”对话框中导入本地用户列表,选择“Session”|“Begin Audit”(开始审计)菜单项,开始字典破解用户口令。
- 暴力破解
(1)创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc。
(2)选择LC5的“File”|“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
(3)在会话选项中仅选中“Brute Force Crack”(暴力破解)|“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。
不同密码强度的破解时间比较
(1)再次新建4个用户,使用不同强度的用户口令
(2)新建LC5会话,在会话选项中选中暴力破解选项,字符设置选择“Custom”(自定义)。为了减少破解所需时间,请缩小自定义字符集。
(3)开始暴力破解,当破解完成后,查看LC5的破解信息,记录各自的破解时间。
(4)根据实验结果不难发现长密码比短密码破解要更多的时间,复杂密码比简单密码需要更多的时间,这也就是设置复杂密码能够提高系统安全性的原因。思考问题
- 分析口令破解软件L0phtCrack(简写为LC)的工作原理。
(1)最快也是最简单的方法是字典攻击。L0phtCrack将字典中的词逐个与口令hash表中的词作比较。当发现匹配的词时,显示结果,即用户口令。L0phtCrack自带一个小型词库。如果需要其它字典资源可以从互联网上获得。这种破解的方法,使用的字典的容量越大,破解的结果越好。
(2)另一种方法名为Hybrid。它是建立在字典破解的基础上的。现在许多用户选择口令不再单单只是由字母组成的,他们常会使用诸如”bogus11”或”Annaliza!!”等添加了符号和数字的字符串作为口令。这类口令是复杂了一些,但通过口令过滤器和一些方法,破解它也不是很困难,Hybrid就能快速地对这类口令进行破解。
(3)最后一种也是最有效的一种破解方式“暴力破解”。按道理说真正复杂的口令,用现在的硬件设备是无法破解的。但现在所谓复杂的口令一般都能被破解,只是时间长短的问题。且破解口令时间远远小于管理员设置的口令有效期。使用这种方法也能了解一个口令的安全使用期限。 Windows 7的口令保护文件名称及存储位置是什么?
-1、Win7系统的用户密码存储于X:\windows\system32\config\sam文件中(x指的系统盘,一般为C盘),事实上存储的密码是经过不可逆加密算法处理的Hash散列。
2、config文件夹中的文件,是windows的配置文件,要修改它们,需要借助于注册表编辑器,查看步骤具体如下:
1):开始——搜索程序和文件中,输入regedit,找到后,右键”以管理员身份运行“,打开注册表编辑器后找到HKEY_LOCAL_MACHINE\SAM,对于此键下的所有子键的修改,都会保存于config目录下的sam文件。
2):要展开sam键,需要在sam键上右键,选择”权限“,将管理员组的权限设置为“完全控制”,然后F5刷新即可看到sam键下的子键了。
- Windows保护系统帐户口令的算法有LM和NTLM,这两种算法有什么区别?
-LM:这种加密过程的第一步是将明文口令转换为其大写形式,接下来123994大写转换后仍为它本身,第二步是将字符串大写后转换为16进制字符串, 这种密码生成规则要求用户的密码最多仅能为14个字符,第三步是密码不足14字节要求用0补全。转换后的十六进制字符串按照二进制计算只有48bit(124),为了满足14字节(112bits)的要求,所以需要补全64bit(164)的二进制0.
第四步是将编码分成2组7字节。
第五步是将每一组7字节的十六进制转换为二进制,每7bit一组末尾加0,再转换成十六进制组成得到2组8字节的编码。 第六步将以上步骤得到的两组8字节编码,分别作为DES加密key为魔术字符串“KGS!@#$% ”进行加密。第七步将两组DES加密后的编码拼接,得到最终LM-Hash值
-NTLM:首先在UltraEdit中输入六位数字,然后点击>>编辑>>十六进制函数>>十六进制编辑,
再点击>>文件>>转换>>ASCII转Unicode,
开头的FF FE用于标识此文本文件为Unicode编码
对所获取的Unicode字符串进行标准MD4单向哈希加密,无论数据源有多少字节,MD4固定产生128-bit的哈希值,产生的哈希值就是最后的NTLM Hash。 - 为了保护口令安全,设置口令应该遵循什么样的原则?
第一原则:避免出现弱智密码
第二原则:能记住的密码才是好密码
第三原则:不要锁了门却忘了关窗
- Windows系统在什么地方可设置帐户密码策略?帐户密码策略包括哪些内容?
在运行窗口中输入“gpedit.msc”。在弹出的“策略编辑器”中依次展开“计算机配置”→“windows设置”→“安全设置”→“账户策略”,然后点击“密码策略”。
主要有以下几个安全策略:
1、密码必须符合复杂性要求
2、密码长度最小值
3、密码最长存留期
4、强制密码历史
5、为域中所有用户使用可还原的加密来存储密码
各项安全策略是根据实际的电脑使用情况来进行设定。 - 在密码破解中,常到彩虹表(Rainbow Table),彩虹表是什么?
- 彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 为破解密码的散列值(或称哈希值、微缩图、摘要、指纹、哈希密文)而准备。一般主流的彩虹表都在100G以上。 这样的表常常用于恢复由有限集字符组成的固定长度的纯文本密码。这是空间/时间替换的典型实践, 比每一次尝试都计算哈希的暴力破解处理时间少而储存空间多,但却比简单的对每条输入散列翻查表的破解方式储存空间少而处理时间多。使用加salt的KDF函数可以使这种攻击难以实现。
- 你认为口令破解的技术将如何发展?
我觉得口令破解技术越来越成熟,会与口令生成技术共同发展。