第一次思考题

题目

一.windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
二.我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
三.为什么第一个模块 永远是一样的aad3 
四.这两个模块的加密算法有什么不同,如何加密的

一:

存储过程:在windows中,用户登录的密码一般不会以明文的形式保存在计算机中,而是通过保存密码的哈希值来确保它的安全性;当用户注销、重启或锁屏后,操作系统会让winlogon.exe显示登录界面,接收用户的输入信息。用户输入密码后,密码信息会交给lsass进程。在这个过程中,会存一份明文密码,并将其加密成NTLM Hash。加密后的密码哈希值会与存储在SAM(Security Accounts Manager)数据库中的哈希值进行比较认证。
Windows默认使用NTLM或Kerberos身份认证协议进行加密存储用户登录的密码。

1、NTLM
它是一种质询/应答身份验证协议,用于在网络环境中验证用户的身份。NTLM协议既可以为工作组中的机器提供身份验证,也可以用于域环境身份验证。在NTLM认证的过程中,客户端回和服务器进行一系列的交互,以便于验证用户的身份;它提供了数据完整性和加密功能,适用于工作组和域环境

2、Kerberos
Kerberos是一种身份验证协议,旨在为大型网络环境提供强大的身份验证和访问控制。它涉及客户端、服务器和密钥分发中心的参与,通过票据授权实现安全访问。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下,kerberos作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。它的加密功能比NTLM更加强大;

密文一般存储在:C:\Windows\System32\config\SAM文件中

此文件保存了Windows系统中所有用户的密码哈希值,是一个二进制文件,因此无法直接打开并查看到明文密码;为了保护用户的密码安全,SAM文件是被Windows系统保护的,普通用户无法直接访问或修改。

如果想要查看到hash值或进一步获取明文密码,需要一定的技术手段。例如,可以使用mimikatz这类工具读取lsass.exe进程内存来获取已登录用户的NTLM hash。另外,也可以通过修改特定的注册表项,强制让系统在特定条件下暴露出明文密码。

二:

通过hashdump抓取出所有用户的密文,分为两个模块,分别是 LM Hash 和 NT Hash。

LM Hash全称是LAN Manager Hash,是Windows最早用的加密算法,由IBM设计,使用硬编码密钥的DES,且存在缺陷。

为了解决LM Hash的安全问题,从Vista开始的版本都使用NTLM Hash,NTLM Hash基于MD4加密算法进行加密的。

三:

LM Hash 加密算法存在一些漏洞,它使用的是分组的DES,密码长度最大只能为14个字符,如果密码强度是小于7位,那么第二个分组会用0来在后面补全,加密后的结果就会是固定的

四:

LM Hash的加密:

  1. 用户的密码转换为大写,密码转换为16进制字符串,不足14字节将会用0来在后面补全。
  2. 密码的16进制字符串被分成两个7byte部分。每部分转换成比特流,并且长度位56bit,长度不足使用0在左边补齐长度
  3. 再分7bit为一组,每组末尾加0,再组成一组
  4. 上步骤得到的二组,分别作为key 为 "KGS!@#$%"进行DES加密。
  5. 将加密后的两组拼接在一起,得到最终LM HASH值。

NTLM Hash 的加密:

  1. 先将用户密码转换为十六进制格式。

  2. 将十六进制格式的密码进行Unicode编码。

  3. 使用MD4摘要算法对Unicode编码数据进行Hash计算

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值