Kerberos认证协议分析



Kerberos认证协议流程




如上图:

* 第一步:client和认证服务器(AS)通信完成认证过程,如果认证成功AS返回给client一个TGT(用来向TGS获取ticket);

* 第二步:client和票据生成服务器(TGS)通信验证是否要去访问目标站点的权限,如果有返回一个ticket给client;

* 第三步:client带着这个票据访问待访问站点;

协议弱点


*  Kerberos引入的时间戳,在时间内依然可以被重放;
* Kerberos协议对口令进行对称加密,尤其是当AS返回给client的消息使用client产生的Kc来加密,使用单向hash函数对口令运算口得到加密秘钥;
* 秘钥存储困难;
* 时间同步困难;

协议数据包分析值ASREQ


*  kerberos-as-req特征Hex字符串 =》 6a8199308196a1030201
* Pvno协议版本号:05(Hex)十进制就是版本5
* 分割点 a2030201
* MSG-TYPE(krb-as-req)0a(Hex) 十进制就是10
* 分割点a3633061(内容可变,长度不变)
* PA-DATA 预认证数据
* a47a3078(内容可变,长度不变)
* a0070305(内容可变,长度不变)
* padding数据 00(Hex)
* KDC-OPTIONS:


*  a112(可变后面两个Hex数字)
* CNAME 3017(3010)
* a0030201(分割点)
* name-type:krb5-NT-PRINCIPAL 01 ,也可以是其他
* a1093070(分割点,内容可变,长度不变)
* 1b05(后面两个数可以变,长度不变)
* kerberos-string:十六机制数
* 4个十六进制数分割值
* realname 服务域
* 2个十六进制数分割值
* 服务器名
* 4个十六进制数分割值
* 终止时间
* 4个十六进制数分割值
* 更新终止时间
* 4个十六进制数分割值
* 随机数
* 4个十六进制数分割值
* 加密类型
* 主机地址

协议数据包分析值ASREP


*  record-mark : 4个十六进制数


*  4个十六进制数分割
* 8个16进制数,最后四个是a0030201
* Pvno版本号 :1个16进制数(05)
* a1030201
* msg-type:kr5-as-rep:11 0b (1个16进制数)
* 4个十六进制数分割
* pa-data 域认证数据
- padata-type => 13(Hex) KRB5-PADATA-ETYPE-INFO2
- 4个十六进制分隔符
- 6个十六进制分割
- etype(一个Hex)
- 4个十六进制分隔符
- 域名+账户
* 四个Hex分隔符
* 域名
* 二个Hex分隔符
* CNAME
- 六个Hex数
- name-type(一个Hex)
- 四个Hex数
- name-string
+ 两个Hex
+ 账户名
* ticket
- 八个Hex
- tkt-vno版本 05(一个hex)
- 四个hex
- 域名
- 两个Hex
- sname
+ 6个hex
+ name-type (1个hex)
+ name-string
- 2个hex
- kerberosstring
- 2个hex
- kerberosstring
- 4个hex
- enc-part
+ 8个hex
+ etype 加密算法1个hex
+ 4个hex
+ kvno 1个hex
+ 8个hex
+ cipher(秘钥)
* 4个hex
* enc-part
- 8个hex
- etype 加密算法 1个hex
- 4个hex
- kvno版本 1个hex
- 8个hex
- cipher(秘钥)

协议数据包分析值TGSREQ






协议数据包分析值TGSREP


kerberos认证协议分析的更多相关文章

  1. kerberos认证协议爱情故事

    0x01.kerberos简介 kerberos是一种域内认证协议,Kerberos的标志是三头狗,狗头分别代表以下角色: Client Server KDC(Key Distribution Cen ...

  2. 域渗透基础之Kerberos认证协议

     本来昨晚就该总结整理,又拖到今天早上..6点起来赶可还行 0x01 Kerberos前言 Kerberos 是一种由 MIT(麻省理工大学)提出的一种网络身份验证协议.它旨在通过使用密钥加密技术为客 ...

  3. Kerberos认证与攻击学习总结

    0.背景 聆听了n1nty大佬(90后黑客代表)的谆谆指导,学习了n1nty大佬的基本操作,决定总结一下,做一个简要的读书笔记,也把之前自己记录的关于Windows的安全的一些博客能够串联起来.所以首 ...

  4. Kerberos认证浅析

    1 引言 在希腊神话中Kerberos是守护地狱之门的一条凶猛的三头神犬,而我们在本文中所要介绍的Kerberos认证协议是由美国麻省理工学院(MIT)首先提出并实现的,是该校雅典娜计划的一部分.这个 ...

  5. NTLM认证协议及SSPI的NTLM实现

    没错,NTLM就是你听说过的那个NTLM.是微软应用最广泛的认证协议之一. NTLM是NT LAN Manager的缩写,这也说明了协议的来源.NTLM 是 Windows NT 早期版本的标准安全协 ...

  6. OAuth认证协议原理分析及同步消息到Twitter和Facebook使用方法

    OAuth有什么用?为什么要使用OAuth? twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了,这种网站就是这个效果 ...

  7. 域渗透基础之NTLM认证协议

    域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...

  8. CDH构建大数据平台-配置集群的Kerberos认证安全

     CDH构建大数据平台-配置集群的Kerberos认证安全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当平台用户使用量少的时候我们可能不会在一集群安全功能的缺失,因为用户少,团 ...

  9. 域渗透 | kerberos认证及过程中产生的攻击

    ​文章首发于公众号<Z2O安全攻防>​ 直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看. https://mp.weixin.qq.com/s/WMGkQoMnQdyG8UmS ...

随机推荐

  1. windows系统IIS服务安装

    打开控制面板,win8可以使用快捷键win键+X打开列表   打开程序和功能   打开左上角启用或关闭windows功能   打开internet信息服务下拉单   按照下列图中进行对应项勾选 第一个 ...

  2. Hadoop Balancer源代码解读

    前言 近期在做一些Hadoop运维的相关工作,发现了一个有趣的问题,我们公司的Hadoop集群磁盘占比数值參差不齐,高的接近80%.低的接近40%.并没有充分利用好上面的资源,可是balance的操作 ...

  3. eclipse新建python项Project interpreter not specified

    安装好pydev后新建python项目时提示”Project interpreter not specified“的错误,这是因为没有导入python开发环境所致 解决方法如下:1.找到eclipse ...

  4. centos 部署 SparkR

    ---恢复内容开始--- 环境配置—— 操作系统:CentOS 6.5 JDK版本:1.7.0_67 Hadoop集群版本:CDH 5.3.0 安装过程—— 1.(1)安装R yum install ...

  5. 15 +免费及收费的jQuery滚动插件

    免费的 jQuery Scrolling 插件 Tiny Scrollbar SUPERSCROLLORAMA jScrollPane Curtain.js Plugin JQuery : Scrol ...

  6. hadoop集群运行dedup实现去重功能

    一.配置开发环境1.我们用到的IDE是eclipse.要用它进行hadoop编程,要给eclipse安装hadoop自带的插件.(有的版本以源码提供插件,需要用户根据需要自己编译)2.用到的eclip ...

  7. appium的inspectot使用

    前提已安装好appium环境 1. 打开appium-doctor 2. 启动appium-service,点击  inspector 3. 配置手机参数,参数获取参考上篇博客 4. 点击start ...

  8. 【转】Microsoft .Net Remoting 之.Net Remoting基础篇

    .Net Remoting基础篇 一.Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级, ...

  9. 第二百九十三,Memcached缓存

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  10. 单例模式/ java实现附代码 /

    注: 场景和例子出自github的设计模式.传送门:https://github.com/iluwatar/java-design-patterns/tree/master/singleton 意图: ...