zoukankan      html  css  js  c++  java
  • 20155236 《信息安全概论》实验二(Windows系统口令破解)实验报告

    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:WINDOWSsystem32config文件夹中的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工具),熟练使用,关键时刻就可以派上用场;而另一方面也是最最重要的,就是加强理论的学习,现在能破解密码,只能代表我们学会了使用工具,并不能代表我们掌握了什么知识理论,我们只有加强理论的学习,摸清各种密码设置的规律特点,有针对性的解决,才能大大提高破解密码的效率。
    最后,经过本次实验,实验结果直观地向我们证明了,短位密码、纯数字密码、简单的字母数字组合密码并不牢靠,如果想更好地保护我们的信息,应该重视密码的设置,加强密码强度,保护信息安全。

  • 相关阅读:
    面向对象三大特性之多态
    作业
    面向对象三大特性之封装
    面向对象三大特性之继承
    面向对象(一)
    subprocess, re模块,logging, 包等使用方法
    模块二之序列化模块以及collections模块
    常用模块
    内置函数补充,函数递归,模块
    生成器以及面向过程编程
  • 原文地址:https://www.cnblogs.com/fcgfcgfcg/p/7764742.html
Copyright © 2011-2022 走看看