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

实验目的

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

实验环境

  • 实验机Windows Server 2003虚拟机

实验工具

网络信息安全教学实验平台中打开:

  • LC5
  • SuperDic

实验原理

  1. 口令破解方法

    • 字典破解:通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,例如其姓名、生日、电话号码等,同时结合对密码长度的猜测,利用工具来生成密码破解字典。如果相关信息设置准确,字典破解的成功率很高,并且其速度快,因此字典破解是密码破解的首选。
    • 暴力破解:对密码可能使用的字符和长度进行设定后(例如限定为所有英文字母和所有数字,长度不超过8),对所有可能的密码组合逐个实验。随着可能字符和可能长度的增加,存在的密码组合数量也会变得非常庞大,因此暴力破解往往需要花费很长的时间,尤其是在密码长度大于10,并且包含各种字符(英文字母、数字和标点符号)的情况下。
  2. 口令破解方式
    • 离线破解:离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。可以将口令破解程序的工作流程用下图表示。

      其中,候选口令产生器作用是不断生成可能的口令。有几种方法产生候选口令,一种是用枚举法来构造候选口令(暴力破解),另一种方法是从一个字典文件里读取候选口令(字典破解);口令加密过程就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密码。这要求加密算法要采用和目标主机一致的加密算法。加密算法有很多种,通常与操作系统的类型和版本相关;密码比较就是口令比较,是将从候选口令计算得到的新密码和密码文件中存放的密码相比较。如果一致,那么口令破解成功,可以使用候选口令和对应的账号登录目标主机。如果不一致,则候选口令产生器计算下一个候选口令。
    • 在线破解:通过在线破解攻击者可以使用一个程序连接到目标主机,不断地尝试各种口令试图登录目标主机。目标主机系统中某些低等级的账号的口令往往容易被尝试成功,然后,攻击者使用其账号进入系统获取密码存放文件(Windows系统是SAM文件,Linux系统是passwd等文件),再使用离线破解方法破解高权限的口令(管理员口令等)。

实验步骤

一、环境配置

  1. 打开实验机,启动VB中Windows Server 2003虚拟机;
  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”(开始审计)菜单项,开始字典破解用户口令。
  5. 字典破解成功!如下图:

三、暴力破解

  1. 创建新用户,建议用户口令仅由英文字母和数字组成,长度不超过6位,如123abc。
  2. 选择LC5的“File”-->“New Session…”(新会话)菜单项,新建会话。重新导入本地用户列表。
  3. 在会话选项中仅选中“Brute Force Crack”(暴力破解)-->“Enabled”,并在“Character Set”(字符集)中选择“alphabet+numbers”(字母表+数字), 开始暴力破解新建用户口令。
  4. 暴力破解成功!如下图:
  5. 不同密码强度的破解时间比较
    • 再次新建4个用户,使用不同强度的用户口令
    • 新建LC5会话,在会话选项中选中暴力破解选项,字符设置选择“Custom”(自定义)。为了减少破解所需时间,请缩小自定义字符集。我选择的自定义字符集为26个字母(不分大小写)+10个数字+_+两个符号:
    • 开始暴力破解,当破解完成后,查看LC5的破解信息,记录各自的破解时间。破解ing...
    • 暴力破解成功!如下图:根据实验结果不难发现长密码比短密码破解要更多的时间,复杂密码比简单密码需要更多的时间,这也就是设置复杂密码能够提高系统安全性的原因。

课后测试(部分)

  1. 对于口令破解软件LC,下列描述错误的是( )。  

    【答案】A. LC不能够提供远程登录Windows系统的口令破解。

  2. 如果口令为security123,在字典中存在组合security,不存在security123,那么最好使用下列哪种破解方式:()

    A. Dictionary attack

    B. Hybrid dictionary attack

    C. Brute force attack

    D. Precomputed hash attack

    【错选】C

    【答案】B

  3. 口令破解中,所谓词典就是一个()。

    A. 配置破解方式属性的文件

    B. 单词或数字字符组合列表文件

    C. 批处理文件

    D. 可执行文件

    【答案】B

  4. 口令破解实验中,密码词典的扩展名是( )。  

    【答案】C. dic

  5. 口令破解软件的功能模块不包括()。

    A. 候选口令产生器模块

    B. 口令加密模块

    C. 口令解密模块

    D. 密码比较模块

    【错选】B

    【答案】C

  6. 对于口令破解描述错误的是()。

    A. 理论上讲,任何口令都是可破解的,只是时间问题。

    B. 口令破解器通常是对口令密文进行解密破解。

    C. 复杂口令的破解通常会更耗费时间。

    【答案】B

  7. Windows系统中,保护用户账户及口令的文件是如下哪个文件()。

    A. %systemroot%system32\config\SAM

    B. %systemroot%system32\config\SECURITY

    C. %systemroot%system32\driver\SAM

    D. %systemroot%system32\driver\SECURITY

    【错选】B

    【答案】A

  8. 对于口令Sec16mASec16mA和Sec16mA来说,下列描述正确的是()。

    A. 在LM算法中,Sec16mASec16mA比Sec16mA安全性要好。

    B. 在LM算法中,Sec16mASec16mA和Sec16mA安全性一样。

    【错选】A

    【答案】B

  9. 下列对于LM算法与NTLM算法描述错误的是()。

    A. LM-Hash算法是在DES的基础上实现的。

    B. LM-Hash不区分字母大小写,长度最长是14个字符。

    C. NTLM-Hash不区分字母大小写,长度可超过14个字符。

    D. NTLM-Hash基于MD4算法实现。

    【错选】B

    【答案】C

  10. 关于彩虹表,下列描述错误的是()。

    A. 彩虹表技术以时空折中理论为基础,即增大存储空间的开销缩短密码破解所需要的时间。

    B. 彩虹表是描述明文口令及其对应密文的一个大型数据库,破解时通过密文直接反查明文。

    C. 彩虹表为了节约空间,用哈希链的存储方式进行存储。

    D. 针对不同的HASH算法,有不同的彩虹表。

    【答案】B

思考题

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

    • L0phtCrack是在NT平台上使用的口令审计工具。它能通过保存在NT操作系统中cryptographic hashes列表来破解用户口令的。通常为了安全起见,用户的口令都是在经过加密之后保存在hash列表中的。这些敏感的信息如果被攻击者获得,他们不仅可能会得到用户的权限,也可能会得到系统管理员的权限。这后果将不堪设想。L0phtCrack可通过各种不同的破解方法对用户的口令进行破解。

      • 最快也是最简单的方法是字典攻击。L0phtCrack将字典中的词逐个与口令hash表中的词作比较。当发现匹配的词时,显示结果,即用户口令。L0phtCrack自带一个小型词库。如果需要其它字典资源可以从互联网上获得。这种破解的方法,使用的字典的容量越大,破解的结果越好。
      • 另一种方法名为Hybrid。它是建立在字典破解的基础上的。现在许多用户选择口令不再单单只是由字母组成的,他们常会使用诸如”bogus11”或”Annaliza!!”等添加了符号和数字的字符串作为口令。这类口令是复杂了一些,但通过口令过滤器和一些方法,破解它也不是很困难,Hybrid就能快速地对这类口令进行破解。
      • 最后一种也是最有效的一种破解方式“暴力破解”。按道理说真正复杂的口令,用现在的硬件设备是无法破解的。但现在所谓复杂的口令一般都能被破解,只是时间长短的问题。且破解口令时间远远小于管理员设置的口令有效期。使用这种方法也能了解一个口令的安全使用期限。
  2. Windows 7的口令保护文件名称及存储位置是什么?
    • SAM文件,保存在C:\windows\system32\config\下。
  3. Windows保护系统帐户口令的算法有LM和NTLM,这两种算法有什么区别?
    • 早期SMB协议在网络上传输明文口令。后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至很容易就被破解。
    • 微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM是windows早期安全协议,因向后兼容性而保留下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器。
  4. 为了保护口令安全,设置口令应该遵循什么样的原则?
  5. Windows系统在什么地方可设置帐户密码策略?帐户密码策略包括哪些内容?
  6. 在密码破解中,常到彩虹表(Rainbow Table),彩虹表是什么?
    • 彩虹表对我来说可以算比较熟悉了,因为前不久的第三届全国密码技术竞赛上,我们小组就以彩虹表为研究方向提交了题为《基于彩虹表的动态口令程序分析及应用》的复赛作品,主要侧重于新型彩虹表的设计实现和具体应用:
      简而言之,彩虹表是一个用于攻击Hash函数的预先计算Hash链集。与常见的暴力攻击和字典攻击相比,彩虹表在时间复杂度和空间复杂度上有着更平衡的优势,并对动态口令破解有着显著的效果。
  7. 你认为口令破解的技术将如何发展?

参考资料

《信息安全技术》实验二 Windows口令破解的更多相关文章

  1. 20155327 信息安全技术 实验二 Windows口令破解

    课程:信息安全概论 班级:1553 姓名:了李百乾 学号:20155327 成绩: 指导教师: 李冬冬 实验日期及时间: 2017年10月11日 15:30-18:00 必修/选修:必修 实验序号:0 ...

  2. 20155325 信息安全技术 实验二 Windows口令破解

    内容一览 实验结果 遇到的问题 思考题 详细步骤与解析(为了使存做笔记资料而做) 实验结果 字典破解 暴力破解 -不同密码强度的破解时间比较 用户名 密码 破解方式 破解时间 TEST (年月日) 字 ...

  3. 2017-2018-1 20155219《信息安全技术》实验二——Windows口令破解

    2017-2018-1 20155320<信息安全技术>实验二--Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验 ...

  4. 2017-2018-1 20155312《信息安全技术》实验二——Windows口令破解实验报告

    2017-2018-1 20155312<信息安全技术>实验二--Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破 ...

  5. 2017-2018-1 201552326《信息安全技术》实验二——Windows口令破解

    2017-2018-1 201552326<信息安全技术>实验二--Windows口令破解 姓名:刘美岑 学号:20155326 班级:1553班 日期:10.24 一.实验环境 操作系统 ...

  6. 2017-2018-1 《信息安全技术》实验二——Windows口令破解

    2017-2018-1 <信息安全技术>实验二--Windows口令破解 所用工具 系统:能勾起我回忆的Windows 2003 工具:LC5.SuperDic Windows口令破解 口 ...

  7. 20155231 信息安全技术概论实验二 Windows口令破解

    20155231 信息安全技术概论实验二 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windo ...

  8. # 2017-2018-1 20155232《信息安全技术》实验二——Windows口令破解

    2017-2018-1 20155232<信息安全技术>实验二--Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 ...

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

    20155306 <信息安全技术概论>实验二 Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 [实验人数] 每组1 ...

随机推荐

  1. JDBC使用DBUtils

    1.commons-dbutils commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jd ...

  2. oracle数据库逐步学习总结【基础二】

    原创作品,转载请在文字开头明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10067872.html 接着上一篇,继续总结! 五.oracle表管理 首 ...

  3. hdu 1023 卡特兰数《 大数》java

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. Python逐行读取文件内容

    更详细的文件按行读取操作可以参考:http://www.cnblogs.com/xuxn/archive/2011/07/27/read-a-file-with-python.html 一行一行得从文 ...

  5. 利用c#自带的类对文件进行压缩和解压处理

    在做网络传输文件的小例子的时候,当传输的文件比较大的时候,我们通常都是将文件经过压缩之后才进行传输,以前都是利用第三方插件来对文件进行压缩的,但是现在我发现了c#自带的类库也能够实现文件的压缩,实际上 ...

  6. [清华集训]Rmq Problem / mex

    题目链接 我们离线处理这些询问 在右端点所在的位置用vector来push_back询问 维护每个数值最后出现的位置p[x] 从左往右扫,边走边回答询问 对于每个询问我们回答第一个p[x]<l的 ...

  7. HackerRank Special Substrings 回文树+后缀自动机+set

    传送门 既然要求对每个前缀都求出答案,不难想到应该用回文树求出所有本质不同的回文子串. 然后考虑如何对这些回文子串的前缀进行去重. 结论:答案等于所有本质不同的回文子串长之和减去字典序相邻的回文子串的 ...

  8. python之函数的参数

    1.位置参数: 例如计算一个整数的平方: def power(x) return x * x 显然参数x就是一个位置参数,如果要是计算5*5*5..............*5 ,这个函数就太麻烦了, ...

  9. Dynamics 365 Customer Engagement 中对API的调整内容分享

    当前版本中弃用了以下客户端 API 以重新组织 Xrm 客户端 API 对象模型,从而更好地满足以下需求:使用同一客户端脚本而不必基于上下文或基于运行这些脚本的客户端(Web 客户端或新的统一接口)来 ...

  10. JSON学习笔记-2

    JSON的语法 1.JSON 数据的书写格式是:名称/值对. "name" : "我是一个菜鸟" 等价于这条 JavaScript 语句: name = &qu ...