Windows认证LM Hash和NTLM Hash以及认证协议

1.Windows认证

2.LM Hash的加密原理

3.NTLM Hash加密原理

4.NTLM协议

5.NTLM 协议v1和v2的区别

6.Windows域认证之Kerberos协议认证

7.黄金票据的原理和利用

8.白银票据的原理和利用

9.黄金票据与白银票据的区别





1.Windows认证

Windows密码一般放在:c://windows/system/config/SAM

我们在winlogon.exe输入密码时,会发送到lsass.exe 去转化为NTLM Hash与SAM文件中的值去对比 ,如果相同,将user id 与group id 发送给winlogon.exe 准备桌面,登录成功。不同则失败

LM Hash和NTLM Hash:

Windows中的密码一般由两部分组成,一部分是LM哈希和NTLM哈希

Hash 结构:username:RID:LM‐HASH:NT‐HASH

LM哈希加密方式,本质是DES加密,这种加密方式是可逆的,所以在Windows server 2008版本开始,禁止LM Hash

NTLM Hash是基于MD4加密的

2.LM Hash的加密原理:

例子: Admin@123

1.将所有字符转化为大写,ADMIN@123

2.将大写后的字符串转化为十六进制:41 44 4d 49 4e 40 31 32 33

3.密码不足十四字节的要用0补全:41 44 4d 49 4e 40 31 32 33 00 00 00 00 00

4.将上述编码分成两组7字节:

第一组:41 44 4d 49 4e 40 31

第二组:32 33 00 00 00 00 00

5.将每一组的7字节的十六进制转化为二进制,每7bit的末尾加0,再转化为十六进制组成得2组8字节的编码

二进制

第一组:01000001010001000100110101001001010011100100000000110001

七个为一组,末尾加0,凑成一个字节:

01000000

10100010

00010010

10101000

10010100

01110010

00000000

01100010

合并:0100000010100010000100101010100010010100011100100000000001100010

再转十六进制:40A212A894720062

第二组:00110010001100110000000000000000000000000000000000000000

七个为一组末尾加0,凑成一个字节,每八位为一个字节:

00110010

00011000

11000000

00000000

00000000

00000000

00000000

00000000

合并:0011001000011000110000000000000000000000000000000000000000000000

再转十六进制:3218C00000000000

6.将上述得到的两组8字节的编码,分别作为DES加密秘钥为魔术字符串KGS!@#$%进行加密KGS!@#$%的十六进制为4B47532140232425(作为明文)

加密运算后:

第一组:6F08D7B306B1DAD4

第二组:B75E0C8D76954A50

最终拼接就是LM Hash:6F08D7B306B1DAD4B75E0C8D76954A50

3.NTLM Hash加密原理:

例子:Admin@123

1.将明文口令转化为十六进制的格式,然后在每个字节后面添加00

转化为十六进制:41646D696E40313233

添加00:410064006D0069006E004000310032003300

得到密文:570a9a65db8fba761c1008a51d4c95ab

4.NTLM协议:

是一种基于challenge、Response的认证机制,仅支持Windows的网络认证协议

分为三部分:

协商:使版本、协议什么的同步一下,向下兼容

质询:这里是challenge、Response关键之处、

验证:对质询结果最后一次验证、验证通过,访问资源

认证流程:

1、首先,client会向server发送一个username,这个username是存在于server上的一个用户

2、首先会在本地查询是否存在这样的一个用户,如果存在,将会生成一个16位的随机字符,即Chalenge,然后用 查询到的这个user的NTLM hash对Chalenge进行加密,生成Chalenge1,将Chalenge1存储在本地,并将 Chalenge传给client。

3、当client接收到Chalenge时,将发送的username所对应的NTLM hash对Chalenge进行加密即Response,并 Response发送给server。

4、server在收到Response后,将其与Chalenge1进行比较,如果相同,则验证成功

5.NTLM 协议v1和v2的区别:

最显著的区别challenge和加密算法不同,加密原料是一样的

NTLM V1的challenge有8位,加密算法是DES

NTLM V2的challenge有16位,加密算法是MD5

NTLM v2 的格式:username::domain:challenge:HMAC-MD5-blob

其中的blob就是response-challenge

认证机制:本地认证的是NTLM Hash 和LM Hash协议 网络认证的是NTLM V1 和V2 协议

我们可以通过截取NTLM V2 进行中间人攻击

6.Windows域认证之Kerberos协议认证

是一种网络认证协议,设计目的通过秘钥系统为客户端、服务器应用程序提供强大的认证服务

三部分:

客户端:发送请求的一方

服务端:接收请求的一方

秘钥分发中心:

分为AS:认证服务器,专门用来认证客户端的身份,并且分发客户用于访问TGS的TGT(票据授予票据)

TGS(票据授予服务器):用来发放整个认证过程中以及客户端访问服务端时所需要的服务授予票据

通信流程:

客户端先将请求发送到AS,AS进行身份认证,认证通过,会发送一张经过TGS加密和client加密的TGT票据,然后将这个票据发给客户端,客户端再发给TGS,TGS经过解密获得信息,然后给客户端返回一张通过server密码和CT_SK加密的ST票据,最后客户端将ST发送给服务端,服务端同意请求,建立连接

TGT票据,没有指明服务器,我们可以通过伪造TGT票据,可以访问任意其他的服务器,而ST票据,因为ST票据已经指明了服务器,只能去一个地方,即只能访问一个服务器,所以ST票据具有局限性

7.黄金票据的原理和利用:

黄金票据伪造原理就是伪造TGT

实验前提:你已经控制了域控,并且使用域管理员登录或者提权的system

利用:如果与管理员发现你控制了域控机器,把你的后门删除,那么你可以用伪造黄金票据TGT重新控制域控制器

实验条件:

1.知道域名称

2.知道域的SID值

3.知道域的Krbtgt账号的NTLM Hash值

4.伪造任意用户名

通过以上获取的信息我们可以伪造黄金票据,达到重新上线域控的目的

8.白银票据的原理和利用:

伪造ST为白银票据

实验前提:已经控制了域控,使用域管理员登录或者system登录

利用:通过伪造白银票据,得到域控的一部分权限,进而伪造黄金票据,最终达到控制域控的目的

实验条件:

1.域名

2.域SID

3.目标服务器名

4.可利用的服务

5.服务账号的NTLM HASH 

6.需要伪造的用户名

9.黄金票据与白银票据的区别:

黄金票据伪造的是krbtgt的NTLM Hash,权利大 ,而白银票据伪造的是server 账号的NTLM Hash,只能伪造一个服务,服务是有限的,即:黄金票据可以去任意地方,白银票据做一次只能去一个地方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值