SPN(ServicePrincipal Names)的利用

时间:2019-10-20
本文章向大家介绍SPN(ServicePrincipal Names)的利用,主要包括SPN(ServicePrincipal Names)的利用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

SPN 简介:服务主体名称(SPN:ServicePrincipal Names)是服务实例(可以理解为一个服务,比如 HTTP、MSSQL)的唯一标识符。Kerberos 身份验证使用 SPN 将服务实例与服务登录帐户相关联。如果在整个林或域中的计算机上安装多个服务实例,则每个实例都必须具有自己的 SPN。如果客户端可能使用多个名称进行身份验证,则给定服务实例可以具有多个 SPN。SPN 始终包含运行服务实例的主机的名称,因此服务实例可以为其主机的每个名称或别名注册 SPN。

如果用一句话来说明的话就是如果想使用 Kerberos 协议来认证服务,那么必须正确配置 SPN。

如何查看已经注册的SPN

查找top.pentest.top域下注册的SPN

第一种:setspn -T top.pentest.top -Q */*
第二种:setspn -Q */*


SPN 扫描:

介绍:在一个大型域中通常会有不止一个的服务注册 SPN,所以可以通过「SPN 扫描」的方式来查看域内的服务。

优点:比如想知道域内哪些主机安装了什么服务,我们就不需要再进行批量的网络端口扫描。相对于通常的网络端口扫描的优点是不用直接和服务主机建立连接,且隐蔽性更高。

扫描工具:

1.GetUserSPNs.ps1:

GetUserSPNs 是 Kerberoast 工具集中的一个 powershell 脚本,用来查询域内注册的 SPN。

2.GetUserSPNs.vbs:

cscript .\GetUserSPNs.vbs

参考文章:https://www.freebuf.com/articles/system/196434.html

原文地址:https://www.cnblogs.com/zpchcbd/p/11707776.html