首页 > 其他分享 >SPN

SPN

时间:2023-12-29 21:23:07浏览次数:25  
标签:exe 服务 SPN xx setspn 注册

域渗透-SPN

SPN:服务主体名称

SPN是使用kerberos协议的网络的服务的唯一标识符,每一个使用kerberos的服务都要有一个SPN。

当用户要访问某个服务:

首先向域控查询服务的SPN,得到SPN后与KDC进行通信,将TGT给KDC,KDC的TGS验证TGT的合法性,验证无误后TGS就发一个可以访问对应服务SPN的ST票据给用户,并返回服务的地址。用户可以使用ST票据去访问对应服务。

从上诉流程可见,通过向域控查询SPN(ldap查询)有助于渗透人员发现服务的主机。SPN识别是kerberoasting 攻击的第一步。

查看当前域内SPN命令:

setspn.exe -q */*

查看xx域内SPN命令

setspn.exe -T xx -q */*

SPN类型

1.注册在AD的机器账户下(Computers)

当服务的权限是Local System、Network Service时,SPN注册在AD的机器账户(Computer)下。域中的每个机器都会注册两个SPN:HOST/主机名、HOST/主机名.qsdomain.test

2。注册在AD的域账户下(Users),当一个服务权限为一个域用户,则SPN注册在Users下

SPN的格式:serviceclass/host:port/servicename

serviceclass:必需,服务名称

host:必需,主机名,两种表示hostname.qsdomain.test和hostname

port、servicename:非必需

注册SPN

在windows域内,普通的机器账号有权注册SPN,但是普通的域账号没有权限注册SPN

解决:在DC上给指定的域用户授予注册SPN的权限(“Read servicePrincipalName” 和 “Write serverPrincipalName” )、setspn手动注册

setspn是windows的一个二进制文件,可以查看、添加、删除SPN

setspn的命令

setspn -s <SPN> <account>#注册SPN
setspn -d <SPN> <account>#删除SPN
setspn -a <SPN> <account>#添加SPN
setSPN -L username/hostname#查看指定用户/主机注册的SPN
setspn.exe -q */*#查看当前域内SPN
setspn.exe -T xx -q */*#查看xx域内SPN
setspn -X#查找重复的SPN

普通的域账户没有注册SPN的权限:

image-20231229202613233

一样的SPN不能注册到不同的账户上,需更改SPN格式(如改端口)

标签:exe,服务,SPN,xx,setspn,注册
From: https://www.cnblogs.com/q1stop/p/17935707.html

相关文章

  • AspNetCore的单元测试
    一、单元测试项目如何创建VisualStudio新建项目,项目类型选择测试。 可以看到有许多选项,都大差不差。这里选择xUnit。项目名使用要测试的项目名加上“.Tests”后缀。二、进行单元测试首先明确测试对象,通常是针对一个类型进行测试,新建Test类,类名为测试对象的类名加上“Test......
  • 讲解FCN,PSPNET,Deeplab-v3的网络结构
    图像语义分割是计算机视觉领域的重要任务之一,旨在识别和理解图像中的对象和场景,并将其划分为不同的语义类别。为了实现这一目标,深度学习技术被广泛应用于图像语义分割领域。其中,FCN、PSPNet和DeepLab-v3是三种具有代表性的网络结构,它们在图像语义分割任务中取得了显著的成果。FCN......
  • docker发布ASPNETCore项目 yum
    docker手动发布ASP.NETCore7一、环境准备环节1、准备Linux系统Linux系统-CentOS7---基于虚拟机来安装IP:192.168.1.972、安装docker环境2.1、卸载依赖包$sudoyumremovedocker\docker-client\docker-client-latest\......
  • Linux发布ASPNetCore 项目 IIS 部署
    Linux系统发布ASP.ENTCore项目Linux系统-CentOS7---基于虚拟机来安装IP:192.168.1.97安装教程链接:https://pan.baidu.com/s/1gI93YwptrWdPKHBh5fLNqQ?pwd=6666提取码:6666我们的ASP.ENTCore应用程序是需要跑在.NETCore环境上面的。所以我们就需要先安装.NETCore......
  • CSPNet跨阶段局部网络方法
    CSPNet跨阶段局部网络方法目录CSPNet跨阶段局部网络方法背景和问题主要解决问题网络结构特征融合策略CSPnet代码结构参考资料论文地址:https://arxiv.org/pdf/1911.11929.pdf背景和问题随着卷积神经网络结构变得更深更宽,扩展神经网络的体系结构通常会带来更多的计算轻量级网......
  • IdentityServer4: 集成 AspNetCore Identity 框架
    IdentityServer4:集成AspNetCoreIdentity框架  目录IdentityServer4集成AspNetCoreIdentity框架新增依赖包集成AspNetIdentity代码迁移AspNetIdentity数据库生成用户信息修改IdentityServer.QuickstartUI代码登录退出使用IdentityUser用......
  • AspNet Core: Jwt 身份认证
    AspNetCore:Jwt身份认证  目录AspNetCore:Jwt身份认证资源服务器创建项目依赖包添加APIProgram认证服务器创建项目依赖包数据库JWTUserJWTDbContextappsettings.json用户注册Token控制器Program客户端创建项目添加JS库用户注......
  • Core 6.0 webapi ‘报错InvalidOperationException:无法解析“ Microsoft.AspNetCore.H
    因接口版本升级并使用core6.0却发现HttpContext.Current.Request用不了 所以在网上找了半天说是使用Microsoft.AspNetCore.Http.IHttpContextAccessorprivateIHttpContextAccessor_httpContextAccessor;publicWebHelper(IHttpContextAccessorhttpContextAccessor......
  • ASPNET项目打包时遇到错误:无法生成项目输出组内容文件来自Web(活动)
    试试在“解决方案资源管理器”中,刷新目标项目,看看项目中有没有一些文件丢失(以感叹号标识,如下图所示),如果有,将所有这些文件补上或者“从项目中排除”,然后再重新生成安装包。1.检查文件中是否有文件未包括到项目中,2。检查是否项目中有文件前面含有感叹号,特别是图像文件。他们可能是......
  • 持续集成指南:GitHubAction 自动构建+部署AspNetCore项目
    前言之前研究了使用GitHubAction自动构建和发布nuget包:开发现代化的.NetCore控制台程序:(4)使用GithubAction自动构建以及发布nuget包现在更进一步,使用GitHubAction在其提供的runner里构建docker镜像,之后提交到阿里云镜像私有仓库,再在本地的runner将镜像pull下来......