20155306 《信息安全技术概论》实验二 Windows口令破解

20155306 《信息安全技术概论》实验二 Windows口令破解

【实验目的】

了解Windows口令破解原理
对信息安全有直观感性认识
能够运用工具实现口令破解

【实验人数】

每组1人

【系统环境】

Windows

【实验工具】

LC5
SuperDic

【实验原理】

口令破解方法

口令破解主要有两种方法:字典破解和暴力破解。

字典破解是指通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,例如其姓名、生日、电话号码等,同时结合对密码长度的猜测,利用工具来生成密码破解字典。如果相关信息设置准确,字典破解的成功率很高,并且其速度快,因此字典破解是密码破解的首选。

暴力破解是指对密码可能使用的字符和长度进行设定后(例如限定为所有英文字母和所有数字,长度不超过8),对所有可能的密码组合逐个实验。随着可能字符和可能长度的增加,存在的密码组合数量也会变得非常庞大,因此暴力破解往往需要花费很长的时间,尤其是在密码长度大于10,并且包含各种字符(英文字母、数字和标点符号)的情况下。

口令破解方式

口令破解主要有两种方式:离线破解和在线破解。

离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。其中,候选口令产生器作用是不断生成可能的口令。有几种方法产生候选口令,一种是用枚举法来构造候选口令(暴力破解),另一种方法是从一个字典文件里读取候选口令(字典破解);口令加密过程就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密码。这要求加密算法要采用和目标主机一致的加密算法。加密算法有很多种,通常与操作系统的类型和版本相关;密码比较就是口令比较,是将从候选口令计算得到的新密码和密码文件中存放的密码相比较。如果一致,那么口令破解成功,可以使用候选口令和对应的账号登录目标主机。如果不一致,则候选口令产生器计算下一个候选口令。

在线破解攻击者可以使用一个程序连接到目标主机,不断地尝试各种口令试图登录目标主机。目标主机系统中某些低等级的账号的口令往往容易被尝试成功,然后,攻击者使用其账号进入系统获取密码存放文件(Windows系统是SAM文件,Linux系统是passwd等文件),再使用离线破解方法破解高权限的口令(管理员口令等)。

【实验步骤】

1.首先通过快照X恢复Windows系统环境。
2.字典破解
(1)为本机创建新用户。为了达到实验效果,用户口令不要设置得过于复杂
(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. 暴力破解
    (1)创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc。
    (2)选择LC5的“File”|“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
    (3)在会话选项中仅选中“Brute Force Crack”(暴力破解)|“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。

4.不同密码强度的破解时间比较
(1)再次新建4个用户,使用不同强度的用户口令

注:上图可以看出四个不同强度的命令,前三个都很快破译出来,第四个比较复杂用时有点长。

(2)新建LC5会话,在会话选项中选中暴力破解选项,字符设置选择“Custom”(自定义)。为了减少破解所需时间,请缩小自定义字符集。

注:在上图所示界面,设置字符,把字符集减小到只含有密码字符。

(3)开始暴力破解,当破解完成后,查看LC5的破解信息,记录各自的破解时间。

注:在设置字符后,可以看出来破译时间很快。

(4)根据实验结果不难发现长密码比短密码破解要更多的时间,复杂密码比简单密码需要更多的时间,这也就是设置复杂密码能够提高系统安全性的原因。

【思考问题】

1.分析口令破解软件L0phtCrack(简写为LC)的工作原理。

 L0phtCrack 是L0phtCrack组织开发的Windows平台口令审核的程序的新版本,它提供了审核Windows帐号的功能,以提高系统的安全性。另外,LC5也被一些非法入侵者用来破解Windows用户口令,给用户的网络安全造成很大的威胁。所以,了解LC5的使用方法,可以避免使用不安全的密码,从而提高用户本身系统的安全性。  在Windows操作系统中,用户帐号的安全管理使用了安全帐号管理SAM(Securiy  Account Manager) 机制,用户和口令经过Hash加密变换后以Hash列表的形式存放在%SystemRot%\System32\config下的SAM文件中。LC5可以本地系统、其他文件系统、系统备份中获得SAM文件,从而破解出口令。

2.Windows 7的口令保护文件名称及存储位置是什么?

C:\Windows\System32\config\SAM

3.Windows保护系统帐户口令的算法有LM和NTLM,这两种算法有什么区别?

- LM只能存储小于等于14个字符的密码hash,如果密码大于14个,windows就自动使用NTLM对其进行加密了。

- NTLM是LM被WindowNT挑战/相应验证的标准安全协议。LM更容易被破解。

4.为了保护口令安全,设置口令应该遵循什么样的原则?

设置数字、字母(大小写)、符号混合的口令,结构尽量复杂。

5.Windows系统在什么地方可设置帐户密码策略?帐户密码策略包括哪些内容?

计算机配置 ——Windows设置 ——安全设置—— 账户策略——密码策略

包括长度最小值,最短使用期限,最长使用期限,强制密码历史,必须符合密码性要求,可还原的加密储存密码

6.在密码破解中,常到彩虹表(Rainbow Table),彩虹表是什么?

彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。

彩虹表主要的算法有LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM, MD5-HALF。[1] 
简单的说就是针对特定算法,尤其是不对称算法进行有效破解的一种方法(如 md5算法)。他的过程 就是建立一个 源数据与加密数据之间对应的hash表。这样在获得加密数据后 通过比较,查询或者一定的运算,可以快速定位源数据。理论上,如果不考虑查询所需要的时间的话,hash 表越大,破解也就越有效越迅速。当然对于其它破解方法(如碰撞)此方法比较笨拙,对于可变长密钥等现代高级算法,效果会大打折扣。但是无论怎样,彩虹表(hash)永远是在数据加解密中是无奈但十分有效的方法。

7.你认为口令破解的技术将如何发展?

口令破解的发展应该会破译越来越准确,快速。包括口令破解时要防止被监听,让敌手得到有用信息,以及破解后,不要留下任何痕迹。

posted on 2017-10-31 11:28  20155306  阅读(357)  评论(0编辑  收藏  举报

导航