如何通过 SSH 地道进行域渗透的 PtT 打击 8090安适门户
如果我们在渗透过程中能够拿到用户的 TGT,并能将其导入到内存,那么就可以冒充该用户获得其访谒权限,这就是 Pass the ticket(PtT)。PtT 技术使用 Kerberos ticket 来取代明文暗码或 NTLM 散列。大大都的 PtT 都用的是 golden ticket 和 silver ticket。凡是来说,通过PtT 技术获得一台主机的控制权限长短常容易的,但是通过 ssh地道的 PtT 打击技术就较为庞大了。
曾经遇到过这样的情况:我们在没有特权 ssh 访谒到dmz区中的一台带有内网连接的linux主机的条件下却不测地获得了方针的 krbtgt 和机器账户的 NTLM 散列值。这个网络拓扑概略是这样的:
当我们试图在网络分段的部分对一些敏感的主机进行域内划分的时候,可能就会遇到这种类似的情况,这篇文章我们将着重介绍如何通过 SSH地道 pass golden ticket 和 silver ticket。作为本文的一个示例,我们将测验考试通过位于10.0.10.81的Linux主机来对Windows主机win-rmjbtdb7qtf进行打击。
Golden Tickets
Golen Tickets(伪造的TGT tickets)供给了打击者一些用以持久化访谒域控、在网络中进行跨域访谒,以及作为不存在的用户去访谒网络资源的要领。想了解Golden Tickets的详细信息的话,可以去看看这个: Kerberos Golden 。打击者只需要一台安置了 impacket 和proxychains工具的linux的主机,并且这台主机不需要插手域环境中。
伪造 ticket要创建一个golden ticket,凡是我们需要从方针域获取到以下信息:
krbtgt账户的nt哈希值
方针域的sid
方针域的fqdn(全称域名)
模拟的账户
我们将使用impacket的一个样例脚本 ticketer.py 来创建golden tickets的凭证缓存(ccache)文件。下面是为用户mbroda创建ccache文件的语法示例:
./ticketer.py -nthash a577fcf16cfef780a2ceb343ec39a0d9 -domain-sid S-1-5-21-2972629792-1506071460-1188933728 -domain amity.local mbrody-da为了使impacket的脚本使用ccache文件进行身份验证,而不是供给明文暗码或NT哈希,我们需要将KRB5CCNAME变量设置为ccache文件的绝对路径:
export KRB5CCNAME=/path/to/ccache/file验证变量是否设置正确我们使用下面的语句:
echo $KRB5CCNAME此刻,我们就可以使用-k参数让撑持Kerberos身份验证的impacket脚本使用golden tickets,而不是去供给明文暗码或NT哈希来进行身份验证。
名称解析为了确保Kerberos身份验证过程告成,我们需要改削打击者机器/etc/hosts文件,以包罗方针域控制器的FQDN和方针主机的NetBIOS名称。下面就是个改削的例子:
127.0.0.1 localhost 192.168.26.129 amity.local 192.168.26.128 WIN-RMJBTDB7QTF如果你还没有域控主机的IP地点,那么你可以通过ssh会话连接的linux在方针域上之执行nslookup,例如:
nslookup -type=srv _ldap._tcp.AMITY.LOCAL 代办代理设置我们将使用proxychains在ssh通道上来实现一个域内的漫游,查抄配置文件的最后一行来验证proxychains代办代理的端口,kali下配置文件默认位置是/etc/proxychains.conf。
注意:如果您在执行打击时遇到名称解析的问题,您可能需要在proxychains配置文件中对pr
oxydns设置进行注释。
当我们通过ssh会话连接到方针的linux主机的时候,使用-D参数对应着proxychains设置的端口。这将在我们本田主机的端口上创建一个可以操作proxychains实现域内漫游的socks代办代理。例如:
ssh unpriv@10.0.10.81 -D 1337为了验证代办代理通道的创建是否告成,我们可以通过proxychains代办代理nmap的TCP扫描方法扫描方针主机的445端口。
proxychains nmap -sT -Pn -p 445 192.168.26.128 时间同步如果打击机的时间比方针域控距离快约莫5分钟的话,golden tickets就无法正常的事情。
如果真如以上所述,我们可以使用net time来查抄方针的时间(下面的第1行),并在打击者机器(第2行)上设置时间:
proxychains net time -S <IP-of-DC> proxychains net time set -S <IP-of-DC> 倡议打击等一切都已筹备就绪,我们可以使用任何撑持ccache身份验证的工具来打击方针主机。Impacket的psexec.py就是这样一个工具,运行一下命令后将反弹回一个交互式的CMD:
proxychains ./psexec.py mbrody-da@WIN-RMJBTDB7QTF -k -no-pass如果你在打击时遇到错误,查抄相关的配置,并且使用psexec.py的 -debug参数进行错误排除。
Silver TicketsSilver Tickets(伪造的TGS Tickets)将用户认证为一个在主机上运行的处事,并为打击者供给隐秘和长期的选项,这些是golden tickets所没有的。
此次打击需要一个Linux主机,安置有 Impacket 和proxychains,并且还有一台安置了 Mimikatz
和 kekeo 的Windows主机。两个主机都不需要成为域成员。
伪造 ticket要生成一个silver ticket,我们需要以下信息:
方针主机账户NTLM散列值
方针主机的fqdn
方针处事
方针域的sid
方针域的fqdn
模拟的账户
在本例中,我们将通过SMB协议对方针主机进行身份验证,因此我们将使用CIFS处事,有人列出了一份普通的 spn清单 ,这个可以在silver ticket中使用。
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/13105.html