目录

一、实验目的及要求

二、实验原理

1.Windows NT 系统密码存储的基本原理

2.SAM的导出方法

3.SAMInside破解软件

三、实验环境

四、实验步骤及内容

五、实验总结

六、分析与思考


一、实验目的及要求

1、了解Windows2000/XP/Server 2003系统密码的加密机制及其脆弱性;

2、学会使用Windows本地密码破解工具来破解密码跟审计密码的安全性;

3、了解设置健壮的Windows口令,以及配置强壮的密码策略的必要性。

二、实验原理

1.Windows NT 系统密码存储的基本原理

SAM(Security Accounts Manager 安全账户管理器)是Windows NT 内核操作系统,包括Windows2000/XP/Server 2003/Vista/7的用户账户数据库,所有用户的登录名及口令等相关信息都保存在这个文件中。系统在保存sam信息之前对sam信息进行了压缩处理,因此,sam文件中的信息不可读取。此外,在系统运行期间,sam文件被system账号锁定,即使是administartor账号也无法打开。sam数据库位于注册表HKLM\SAM\SAM下,受到ACL保护,可以使用regedt32.exe打开注册表编辑器并设置适当权限查看SAM中的内容。SAM数据库在磁盘上就保存在%systemroot%\system32\config\目录下的SAM文件中,在这个目录下还包括一个security文件,是安全数据库的内容,两者有较少的关系。SAM数据库中包括所有组,账户的信息,包括密码HASH、账户的SID等。

Windows系统在SAM中采用了两种密码的加密机制,所以,在sam文件中保存着两个口令字,一个是LanMan版本的散列值(LM),另一个是NT版本的散列值(NTLM)。

◆ LanMan 散列算法(LM)

LanMan散列算法处理用户口令的过程是:将用户口令分成两半,每一半都是7个字符(不足7个字符的以0x00补齐),然后分别对这另个口令进行加密,最后将加密后得到的散列值串连在一起,得到最终的LM散列值。

◆ NT散列算法(NTLM)

密码散列有两部分组成:一部分是通过变现DES算法,使用密码的大写OEM格式作为密钥(分成2个KEY,每个KEY7字节,用0补足14个字节),通过DESECB方式获得一个128位的密钥,加密特殊字符串"KGS!@#$%"获得一个16字节长度的值。另一部分则是使用MD4对密码的UNICODE形式进行加密获得的一个散列。

从上述LM算法流程来看,可以发现LM安全性上的几点不足:

1)LM算法将14个字节的密码分为两组分别进行加密,使得两组密文可以分别破解,并且明文空间从95^14减少到了95^7;

2)LM算法不区分密码的大小写字符,使得明文空间从95^7减少到69^7;

3)LM算法不像其他散列算法一样包含随机的初始向量IV,使得用空间换取时间的字典攻击(如彩虹表)等成为可能,2^43的明文空间使用彩虹表最多只需几个小时便能破解。

虽然LM非常不安全,但Windows为了保持前后兼容性,是许多以前支持LM认证的经典应用不至于突然不能使用,所以LM扔存在于相当Windows各种版本的操作系统中,不过Vista/7已经默认不使用LM存储账户密码散列。

NTLM散列的安全性较LM有所提升,因为其明文空间扩展到了95^128,采用暴力破解的时间复杂度大大增加。但是NTLM散列和LM散列一样,都没有在算法中包含随机数据(salt),所以仍然会受到字典攻击。但由于NTLM的明文空间较大,其字段占用的空间也会呈几何级数增长(NTLM的彩虹表大小为200G左右,而LM的彩虹表只需几百兆即可),破解时间自然也较LM要长很多。

2.SAM的导出方法

SAM文件系统运行时受到保护,仅对是可读写的system,所以在系统运行时不能将SAM文件复制出来,必须使用别的系统启动才能复制SAM文件。

SAM文件的获取方法大致有一下四种:

◆ 通过物理接触主机,启动其他操作系统来获取windows分区上的SAM文件。

◆ 获取%SystemRoot%\repair\sam文件。

◆ 使用pwdump等工具从注册表中导出SAM散列值,转储成类似与UNIX系统的password格式文件。

◆从网络中嗅探分析SMB报文,从中获取密码散列字符串。

在Windows NT 4.0 SP3 之前,所有的密码散列是以非常简单的DES加密来实现安全存储,DES的密钥只是从用户账户的SID来导出的,所以只需要SAM文件便能破解加密的散列。

但是在NT 4.0 SP3 之后的版本中,Windows引入了SysKey,并且在2000之后作为默认执行的加密手段。所以要破解经过SysKey加密的SAM散列,必须要先从system文件中导出boot key,然后利用MD5导出hashed boot key,再用hashed boot key导出RC4 key,用此RC4 key 便能解密出和Windows NT的 SAM中一样的散列密文。最后用NT中的解密手段即可获得能够进行字典攻击的密码散列。

3.SAMInside破解软件

SAMInside 为一款俄罗斯人出品的密码破解软件,支持Windows NT/2000/XP/Server 2003/Vista/7等操作系统,主要用来恢复Windows的用户登录密码。与一般的Windows密码破解软件有所不同的是。多数的Windows密码恢复软件都是将Windows用户密码重置,比如Passware Kit 系列中的Windows Key 等等。SAMInside 则是将用户密码以可阅读的明文方式破解出来,而且SAMInside可以使用分布式方式攻击方式同时使用多台计算机进行密码的破解,大大提高破解速度。

SAMInside的离线使用方式需要sam文件盒syskey文件导入后才能进行破解,而在线方式则可以直接从本机获取,可以从LSASS进程直接导入所需要的信息,然后对指定的用户进行破解即可。

三、实验环境

WindowsXP,局域网

四、实验步骤及内容

1. 首先查看本地主机的密码策略。

在"开始"菜单中打开"运行"对话框,输入"secpol.msc"打开"本地安全策略编辑器"。

1)禁用"密码必须符合复杂性要求"。

2)设置"密码长度最小值":8位以上。

然后访问"安全设置" -->"本地策略"-->"安全选项",然后再右侧找到"网络安全:不要在下次更改密码是存储LAN Manager的哈希值"的设置,确认或更改其为"禁用"(默认为“禁用”)。

2. 在本地计算机中新建一个用户。密码设置为8-14的随机纯数字组合,如用户名为“test”,密码为“13678954376”。

可打开一个命令提示符,输入如下命令直接添加用户。

net user test 123456789 /add

当然,也可以通过控制面板中的用户账户组件来添加新用户并为其设置密码。

3. 打开一个命令提示符,进入实验工具目录中的“pwdump7”,运行Pwdump7.exe后即可直接显示本地计算机上所有用户及其密码散列值(包括LM散列值和NTLM散列值)

上述输出的用户信息基本格式如下:

“用户名:安全相对表示符(RID):LM散列:NTLM散列”

接着,我们使用如下命令将上述用户散列信息存储到磁盘上的“C:\sam.txt”文件中去。pwdump7 > c:\sam.txt

4. 进入实验工具目录中的“SAMInside2.6.1”,双击运行SAMInside程序(SAMInside.exe),显示主界面如下所示。

5. 点击菜单项:“File”——>“Import From PWDUMP -file ……”。然后选择前面存储的本机用户密码散列文件“C:\sam.txt”,点击“打开”按钮返回主界面。

6. 在“User”栏中仅选择我们刚才添加的临时用户(“如“test”)。

7. 点击菜单项“Audit”,确认勾选“LM-Hash Attack”,确认勾选“Brute-force Attack”,即暴力破解方式。

8. 点击菜单项“Service”->“option”,在左侧选择“Brute-force Attack”,然后在右侧定制暴力破解的字符集。

为了保证实验的时间,因此我们在前面添加得的临时测试用户的密码为8-14位的随机纯数字组合,所以我们在这里仅选择[0...9]字符集,点击“oK”按钮后回到主界面。再点击“Audit”选择“Start attack”开始暴力破解。破解后显示的用户LM-password即为之前设置的用户密码。

五、实验总结

通过过这次实验我们知道了WindowsXP 系统的登录名和口令都保存在SAM中,SAM数据库含有账户信息,密码Hash。我们通过使用cmd命令导出SAM散列值。并且通过使用SAMinside工具成功破解了Windows用户和密码。

六、分析与思考

1)写出实验完成过程,并回答各实验任务的相关问题。

设置本地密码策略,新建用户设置密码,通过使用cmd运行pwdump7可以读取本地用户和密码散列值,使用Saminside选择前面pwdump存储的文件,选择用户勾选攻击类型LM-Hash和Brute-force,然后设置Brute-force的字典类型,进行攻击即可得到用户名和密码。

2)尝试着对有字符,数字,特殊符号混合的用户密码进行破解?

当有字符时选择Brute-force attack标签下的All printable选项,数字就选用Digits,特殊符号Sepcial symbols有哪些混合就选上

实验八、Windows本地破解用户口令相关推荐

  1. 标题利用pwdump、lc7、hashcat工具破解用户口令(基于win7环境下)

    标题1.利用hashcat进行破解 首先在我们win7靶机中利用pwdump7取得靶机中的hash值 我们记下这个值备用 我们在主机上运行hashcat具体命令如下 hashcat64 -a 3 -m ...

  2. 20155220吴思其 实验2 Windows口令破解

    实验目的: 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windows 实验工具 LC5 SuperDic 实验原理 口令破解方法 ...

  3. 20155207实验2 Windows口令破解

    20155207实验2 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和 ...

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

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

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

    2017-2018-1 20155336<信息安全技术>实验二--Windows口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和暴力破解. 字典破解是指通过破解者对管理 ...

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

    2017-2018-1 20155308<信息安全技术>实验二--Windows口令破解 实验原理 口令破解主要有两种方法:字典破解和暴力破解. 字典破解是指通过破解者对管理员的了解,猜测 ...

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

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

  8. windows本地安全策略实验-远程桌面连接锁定账户

    windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...

  9. MVC设计模式(JSP实验八) 等差等比数列求和 用户登录注册

    MVC设计模式(JSP实验八) 文章目录 MVC设计模式(JSP实验八) 前言 一.实验题目及要求 第2题 基于MVC模式的用户登录和注册 1 系统模块构成 1.1 会员注册 1.2 会员登录 2.实 ...

最新文章

  1. java高级用法之:JNA类型映射应该注意的问题
  2. 利用Date类计算生活时间
  3. centos Ipython安装
  4. 基于zeromq的高性能分布式RPC框架Zerorpc 性能测试
  5. E. 2-3-4 Tree
  6. HNU实验五 小希与火车 基于神经网络的垃圾分类
  7. 物联网已死,API 万岁!
  8. R语言可视化学习笔记之ggpubr包
  9. zepto怎么设置宽高_【五个阿道夫】剧本杀测评 | 娱乐流量当道的时代 这个世界怎么了...
  10. PC端微信一直显示“正在登录”问题处理
  11. Pinterest模式的魅力何在?国内山寨有哪些?
  12. Linux系统开机无限重启的解决办法
  13. python 多线程内子线程结束后执行主线程
  14. apple帐号登录服务器端接入
  15. Origin复制到PPT中无法打开
  16. 在Windows和macOS上更新Node.js到最新版本
  17. Spring Cloud Alibaba 2021.0.1.0 版本发布啦
  18. JButton部分常用的方法
  19. 微信公众平台开发(15)--群发消息
  20. 一、Groovy语法(一):基础语法

热门文章

  1. gorm基本使用介绍
  2. Laravel 常用包汇总
  3. 【渝粤题库】陕西师范大学400003西方政治思想史 作业(专升本)
  4. Unity3D 大型游戏 最后一站 源码 部分重点 整体框架(3)
  5. JavaScript数组拼接方法
  6. 《PR基础教程入门篇-学习笔记》-013
  7. JCS和EHCACHE
  8. swal弹窗_swal() 弹出删除确认框
  9. 软件开发中 前台、中台、后台英文_企业架构 | 中台是什么?
  10. 通用弱点评价体系(CVSS)简介