「域渗透」域账户的几种攻击方式

比较简单的关于域账户的几种攻击方式

0x01 Pre-Authentication

    适用于在域外的时候,对域内的用户名进行枚举。利用Kerberos pre-auth的特性,在AS-REP中:

如果进行请求的用户存在,error-code为:ERR-PREAUTH-REQUIRED

如果请求的用户不存在,error-code为:ERR-PRINCIPAL-UNKNOWN

可利用工具:

https://github.com/ropnop/kerbrute

https://github.com/3gstudent/pyKerbrute

随后获取到有效域内用户名即可利用密码喷射拿到有效凭据开始下一步。

当然密码喷射要查看对应域的锁定策略

0x02 AS-REP Roasting

    如果用户开启了“不使用Kerberos预认证”,在AS-REP阶段,可以在任意一台能访问DC的机器(域内域外均可)上请求该用户TGT,此时DC不会作校验就将TGT和Session Key返回,则可对Session Key(经过用户的RC4-HMAC密码加密)进行脱机暴力破解,进而获得hash以及密码明文。

    默认情况下,这个是禁用的

遍历开启此属性

开启此属性需要有GenericWrite权限

  1. 使用LDAP查询满足条件(userAccountControl:1.2.840.113556.1.4.803:=4194304)的用户。

  2. PowerView:

Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired -Verbose
Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol | Format-Table name

请求票据

Import-Module .\ASREPRoast.ps1
Get-ASREPHash -UserName testuser2 -Domain holy.testA | Out-File -Encoding ASCII hash.txt

impacket

python3 GetNPUsers.py  pig.com/duck:test123 -dc-ip 10.0.19.0 -usersfile user.txt -format john -outputfile hash

然后可以用 HashCat去 破解

0x03 kerberoasting

    由于Kerberos的工作原理,任何用户都可以请求在域内的用户或计算机帐户中具有已注册SPN(HOST或任意)的任何服务的TGS。注意只是请求此票证,而并不会授予对请求用户的访问权限,因为服务会最终确定是否应授予用户访问资源的权限。 

    由于这一点,并且因为请求SPN实例的TGS的一部分是用服务帐户的明文密码的NTLM哈希进行了加密,所以任何用户都可以请求这些TGS票证,然后离线破解服务帐户的明文密码,而不用担心帐户被锁定。

请求TGS

    可以使用GetUserSPNs或是mimikatz请求TGS,并导出利用hashcat等进行离线破解。

    如impacket内工具:

python3 GetUserSPNs.py pig.com/duck:test123 -dc-ip 10.0.19.0

想要理解原理可以抓包详细查看,所以,AS-REP Roasting、kerberoasting、Pre-Authentication 的区别是什么?

  零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

猜你喜欢

转载自blog.csdn.net/Python_0011/article/details/130778494