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. BloomFilter——大规模数据处理利器[转]

    原文链接:原文 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合. 一. 实 ...

  2. 系统优化 /etc/sysctl.conf

    # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl ...

  3. DBA不可不知的操作系统内核参数

    背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高. 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境. 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数 ...

  4. javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题

    1.pack后为包名,包与系统文件夹一一对应.并且代码中的包名不包含文件包的名字,即文件名 2.javac 按照*.java 文件的所在路径进行编译,编译完成后,使用java +完整包名(包含文件包名 ...

  5. 数学符号arg含义

    argument of the maximum/minimum arg max f(x): 当f(x)取最大值时,x的取值 arg min f(x):当f(x)取最小值时,x的取值 表示使目标函数取最 ...

  6. UML总结--总体架构

    架构图(一): 架构图(二): 转自:http://blog.csdn.net/lsh6688/article/details/5931706

  7. jump display

    查找了数据库,再在while里拼接成json是很麻烦的,所以,jump display 获得数组 <?php header("Content-Type:text/html; chars ...

  8. MySQL 常用语法 之 DISTINCT

    DISTINCT作用很简单就是去除重复行的数据. 具体看下面列子 表A数据[两条 nami 99] nameA   scoreA robin    98 nami    99 saber  98 lu ...

  9. linux ad7606 驱动解读

    本文记录阅读linux ad7606驱动的笔记. 主要文件 drivers/staging/iio/adc/ad7606_spi.c drivers/staging/iio/adc/ad7606_co ...

  10. C++ Primer学习笔记(三) C++中函数是一种类型!!!

    C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! (---20160618最新消息,函数名不是变量名...囧) (---201 ...