以下文章来源于安全加 ,作者谢公子
SPN(ServicePrincipal Names)服务主体名称,是服务实例(比如:HTTP、 *** B、MySQL等服务)的唯一标识符。
下面通过一个例子来说明SPN的作用:
当某用户需要访问MySQL服务时,系统会以当前用户的身份向域控查询SPN为MySQL的记录。当找到该SPN记录后,用户会再次与KDC通信,将KDC发放的TGT作为身份凭据发送给KDC,并将需要访问的SPN发送给KDC。KDC中的TGS服务对TGT进行解密。确认无误后,由TGS将一张允许访问该SPN所对应的服务的ST服务票据和该SPN所对应的服务的地址发送给用户,用户使用该票据即可访问MySQL服务。
SPN分为两种类型:
1.一种是注册在活动目录的机器帐户(Computers)下,当一个服务的权限为 Local System 或 Network Service,则SPN注册在机器帐户(Computers)下。域中的每个机器都会有注册两个2.SPN:HOST/主机名 和 HOST/主机名.xie.com
另一种是注册在活动目录的域用户帐户(Users)下,当一个服务的权限为一个域用户,则SPN注册在域用户帐户(Users)下。
这里以SQLServer服务注册为例:
SQLServer在每次启动的时候,都会去尝试用自己的启动账号注册SPN。但是在Windows域里,默认普通机器账号有权注册SPN,但是普通域用户账号是没有权注册SPN的。这就会导致这样一个现象,SQL Server如果使用“Local System account”来启动,Kerberos就能够成功,因为SQL Server这时可以在DC上注册SPN。如果用一个域用户来启动,Kerberos就不能成功,因为这时SPN注册不上去。
解决办法:
可以使用工具SetSPN -S来手动注册SPN。但是这不是一个更好的 *** ,毕竟手工注册不是长久之计。如果SPN下次丢了,又要再次手动注册。
所以比较好的 *** ,是让SQL Server当前启动域账号有注册SPN的权力。要在DC上为域账号赋予 “Read servicePrincipalName” 和 “Write serverPrincipalName” 的权限即可。
微软官方文档:https://docs.microsoft.com/zh-cn/windows-server/networking/sdn/security/kerberos-with-spn
在 SPN 的语法中存在四种元素,两个必须元素和两个额外元素,其中 和 为必须元素:
SetSPN是一个本地Windows二进制文件,可用于检索用户帐户和服务之间的映射。该实用程序可以添加,删除或查看SPN注册。
主机:win7.xie.com
域控:win2008.xie.com
当前用户:xie/test
注:注册SPN需要域管理员权限,普通域成员注册会提示权限不够!
以test用户的身份进行SPN服务的注册
以WIN7主机的身份在DC(win2008.xie.com)上进行SPN服务(SQLServer)的注册
这里由于之前用 test 用户注册过,所以会提示重复,我们可以将端口修改为其他端口,则不是重复的SPN了
由于每台服务器都需要注册用于Kerberos身份验证服务的SPN,因此这为在不进行大规模端口扫描的情况下收集有关内网域环境的信息提供了一个更加隐蔽的 *** 。
使用SetSPN查询:
windows系统自带的setspn可以查询域内的SPN。
PowerShell-AD-Recon:
该工具包提供了一些探测指定SPN的脚本,例如Exchange,Microsoft SQLServer,Terminal等
GetUserSPNs.ps1:
GetUserSPNs 是 Kerberoast 工具集中的一个 powershell 脚本,用来查询域内用户注册的 SPN。
GetUserSPNs.vbs:
GetUserSPNs 是 Kerberoast 工具集中的一个 vbs 脚本,用来查询域内用户注册的 SPN。
PowerView.ps1:
PowerView是 PowerSpolit 中 Recon目录下的一个powershell脚本,PowerView 相对于上面几种是根据不同用户的 objectsid 来返回,返回的信息更加详细。
PowerShellery:
PowerShellery下有各种各样针对服务SPN探测的脚本。其中一些需要PowerShell v2.0的环境,还有一些则需要PowerShell v3.0环境。
RiskySPN中的Find-PotentiallyCrackableAccounts.ps1:
该脚本可以帮助我们自动识别弱服务票据,主要作用是对属于用户的可用服务票据执行审计,并根据用户帐户和密码过期时限来查找最容易包含弱密码的票据。
该脚本将提供比klist和Mimikatz更详细的输出,包括组信息,密码有效期和破解窗口。
使用domain参数,将返回所有具有关联服务主体名称的用户帐户,也就是将返回所有SPN注册在域用户下的用户。
~~~~
MS08067实验室官网:www.ms08067.com
公众号:" Ms08067安全实验室"
Ms08067安全实验室目前开放知识星球: WEB安全攻防,内网安全攻防,Python安全攻防,KALI Linux安全攻防,二进制逆向入门
最后期待各位小伙伴的加入!
0001044c T main};调试端口 shellcode代码VPN维护不充分。 在测验的ATM中,一切的软件和硬件VPN计划都没有敞开。 假如VPN客户端在ATM之外,或进犯者能够拜访ATM c...
五分钟盗取qq号登陆密码(网络黑客是如何盗取qq号登陆密码的),小扁认为他年轻的时候帮我讲了好多个十分难的事儿,对过错?小扁做了一次。在她不大的时候,...
目前,做韩国代购的去首尔那边的多一些吧,首尔那边除了新罗免税店和乐天免税店,还有新世界免税店、东和免税店、都塔免税店、格乐丽雅免税店,新罗。 2、鲁迅(1)《红楼梦》是中国许多人所知道,至少,是知道这...
. 疫情还未结束,盛夏已经到来,天气热戴口罩会非常的难受,特别是对于做体力劳动和年纪大的人来说,会有闷热,呼吸不畅的感觉,天气热戴口罩闷可以摘了吗?夏季戴口罩难受怎么办?下面带来全面介绍。 天气热...
此刻有不少加盟商问到了我一个问题,那就是八道湾创意摒挡烧烤这个店能开吗?针对这个问题,我想我是很有讲话权的吧,究竟我本人是一个正经八百的八道湾创意摒挡烧烤加盟商,下面就让我教育各人一起来看看,八道湾创...
近日有调皮的网友爆料“歌后”孙燕姿,出道之前是新加坡“小太妹”,不爱上课还聚众闹事,并附有图片。 这与她一向清新健康的形象形成巨大反差。 但小8认为无可厚非呀,哪个少年不虚荣,谁都有年...