攻击基础-问题

目录

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文

2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么

3. 为什么第一个模块 永远是一样的aad3

4. 这两个模块的加密算法有什么不同,如何加密的


1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文

在windows中,一般是通过保存密码的hash值来确保安全性,Windows 默认使用NTLM或Kerberos 身份认证协议进行加密存储密码。

        客户端在域的存储过程:

                (1)尝试登录

                (2)客户端对密码进行哈希处理并缓存密码hash,丢弃实际的明文密码,然后将用户名发送到服务器,发起认证请求。

                (3)服务器会生成一个16字节的随机数,挑战码(challenge),再传回客户端

                (4)当客户端收到challenge以后,会复制一份出来,然后用缓存中的密码hash对它加密,结果称为response,表现形式是Net-NTLM Hash,之后客户端再将challenge,response及用户名一并都传给服务器。

                (5)服务器端在收到客户端传过来的这三个值以后会把它们都转发给DC

                (6)当DC接到过来的这三个值以后,会根据用户名到AD里面找到该用户名对应的NTLM Hash,然后用这个hash和传过来的challenge值再混合加密一次

                (7)将加密后的hash值跟传过来的response进行比较,相同则认证成功反之,则失败    

        密文存在的位置C:\Windows\System32\config\SAM

                        SAM保留了计算机本地所有用户的凭证信息,可以理解为一个数据库

       是否可以打开文件:由于系统的保护,这个文件无法直接打开查看到密文,即使通过管理员权限访问到了SAM文件,里面存储的也是经过哈希函数处理过的哈希值而非明文密码

2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么

hashdump模块:

        通过利用目标系统上的漏洞或提权后的权限,来读取系统内存储的SAM数据并提取密码哈希值。它利用的原理通常是通过注入恶意代码到目标系统的内存中,或者利用系统漏洞来获取密码哈希值。

通过hashdump抓取出的所有用户密文分为LMhashNThash两个模块:

        LM Hash(LAN Manager Hash):微软为了提高windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易破解,但是为了保证系统的兼容性,windows只是将LM Hash禁用了,LM Hash明文密码被限制再14位以内,也就是说如果停止使用LM Hash,将用户的密码设置位14位以上就可以了。

        NTLMHash:微软为了在提高安全性的同时保证兼容性而设计的散列加密算法,NTLMHash是基于MD4加密算法进行加密的。

        注意:为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以在hashdump抓取结果可以看见两个密文模块。 

3. 为什么第一个模块 永远是一样的aad3

        为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以第一个模块永远都是add3。

4. 这两个模块的加密算法有什么不同,如何加密的

LM hash计算:

        1)用户的密码转换为大写,密码转换为16进制字符串,不足14字节将会用0来再后面补全。密码的16进制字符串被分成两个7byte部分。每部分转换成比特流,并且长度位56bit,长度不足使用0在左边补齐长度

        (2)再分7bit为一组,每组末尾加0,再组成一组

        (3)上步骤得到的二组,分别作为key 为 "KGS!@#$%"进行DES加密。

        (4)将加密后的两组拼接在一起,得到最终LM HASH值。

NTLM hash计算:                     

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

(2)将十六进制格式的密码进行Unicode编码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值