SPN在域环境的应用

这篇具有很好参考价值的文章主要介绍了SPN在域环境的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows域为了集中资源,有效地对资源访问控制权限进行细粒度分配,提高网络资源统一分配的管理.域内的每种资源分配了不同的服务主体名称(SERVICE Pricipal Name,SPN)

相关概念

keberos协议进行身份验证的网络中,内置账号或者用户账号下为服务器注册SPN.对于内置账号,SPN进行自动注册

如果在域用户账号下运行服务,必须要为使用账号手动注册SPN.

域环境中的每台服务器都需要在kerberos身份验证服务中注册SPN,攻击者可以直接向域控制器发送查询请求,从而知道需要使用的服务资源在哪台机器上.

根据kerberos协议,用户输入自己的账号密码登录活动目录的时候,域控制器会对账号和密码进行验证.验证通过后,密钥分发中心(KDC)会将服务授权的票据TGT发送给用户作为用户访问资源的身份凭据

例子

当用户访问mssql服务,系统以当前身份向域控查询SPN=mssql的记录.找到SPN后,再次与KDC通信,将KDC发放的TGT作为身份平局发送给DKC,并将访问的SPN发送给KDC.KDC中的身份验证服务AS对TGT进行解密.再用TGS将一张允许访问该SPN对应的服务票据和该SPN所对应的服务地址发送给用户.用户根据此票据访问相应的mssql服务

SPN命令格式

SPN= serviceclass "/" hostname [":"port} "/" servicename]

serviceclass 服务组件名称  必选参数

hostname 计算机的FQDN  必选参数

port :冒号分隔,该服务监听的端口号

mssql服务实例

MSSQLSVC/computer1.pentest.com:1433

exchange服务 -- exchangeMDB/EXCAS01.pentest.com

RDP --- TERMSERV/EXCAS01.tentest.com

用于SPN扫描的powershell脚本

在活动目录中发现服务的最佳方法就是SPN扫描.SPN扫描通过请求特定SPN类型的服务主体名称查找服务.与网络端口扫描相比,SPN扫描主要特点是不需要通过链接网络中的每个IP地址来检查服务端口(不会出发内网中的IPS和IDS而产生告警) 

Powershell-AD-Re工具提供了服务与服务登录账号,运行服务的主机之间的对应,包括但不限于mssql,exchange,rdp,winrm.

1.利用SPN发现域内所有mssql服务
import-module .\Discover-SMSSQLServers.ps1
Discover-SMSSQLServers
2.扫描域中的所有SPN信息
import-module .\discover-psinterrestingServices
Discover-PSInterestingServices

不使用脚本列出windows存在的spn信息

setspn -T domain */*

kerberoast攻击

需要使用某个特定资源向TGS发送kerveros服务票据请求,用户首先得具有有效身份权限的TGT向TGS请求相应服务的票据.当TGT被验证有效并且具有该服务权限时,会向用户发送一张票据.

这张票据使用与SPN相关俩的计算机服务账号的NTLM HASH (RC4_HMAC_MD5)也就是说,攻击者通过kerberoast尝试使用不同的ntlm hash打开票据.如果ntlm hash正确 就可以打开

成因:大多数是因为域环境策略不够严格(没有给计算机服务账号设置密码过期时间服务账号的权限过高;计算机账号的密码与普通域用户账号密码相同),因此计算机服务账号的密码很容易收到keberoast的攻击

实验

1.手动配置spn服务

setspn -A 服务名称(可以在services.msc中查看服务属性后的服务名称看到)/域的FQDN:port 运行用户

SPN在域环境的应用

setspn -A TermService/computer1.hacktb.com:7778(选填) hacktb(运行账户的名称)   
#查看用户运行了什么服务
setspn -L hacktb.com/hacktb
#列出所有spn服务
setspn -T domain -q */*

2.配置指定服务的登录权限

修改组策略的windows-安全选项/本地策略 用户权限分配 ---以服务登录

SPN在域环境的应用

 3.修改加密类型

windows-安全选项/本地策略 安全选项 --服务选项 网络安全 

SPN在域环境的应用

 4.powershell请求票据

add-type -assemblyName system.identitymodel
#解析

使用add-type -assemblyName system.identitymodel可以将IdentityModel程序集引入当前脚本或会话中,以便在脚本中使用其中的类和方法。这通常用于开发需要身份验证、身份验证和授权的应用程序。

该命令由以下两个部分组成:

- add-type:PowerShell命令,用于将指定程序集添加到当前会话的运行时中。
- -assemblyName system.identitymodel:指定需要添加的程序集名称,这里是IdentityModel程序集。通过此参数,PowerShell可以找到并加载程序集。

此命令的目的是将IdentityModel程序集加载到PowerShell中,以便在脚本中使用其中的类和方法。

 文章来源地址https://www.toymoban.com/news/detail-432296.html

new-object system.identitymodel.tokens.kerberosRequestor securitytoken -argumentlist "TermService/computer1.hacktb.com"
#解析

new-object system.identitymodel.tokens.kerberosRequestor securitytoken -argumentlist "TermService/computer1.hacktb.com" 是一个PowerShell命令,用于创建一个kerberosRequestor对象,该对象可用于在Windows身份验证确认协议中请求Kerberos令牌。此命令的参数解释如下:

- new-object:PowerShell中的内置命令,用于创建一个新的.NET对象。
- system.identitymodel.tokens.kerberosRequestor:KerberosRequestor类的完整名称,表示我们要创建的对象的类型。
- securitytoken:构造函数的参数名称,用于传递从安全性令牌中获得的令牌数据。这个参数是自定义的
- -argumentlist:用于将参数值传递给新对象构造函数的参数名称。

在这个命令中,我们创建了一个KerberosRequestor对象,并将一个由字符串“TermService/computer1.hacktb.com”表示的服务主体名称作为参数传递给它。这将用于创建Kerberos认证请求,以便我们可以获取与此主体相关的Kerberos令牌。这个命令的实际效果取决于您当前的程序集环境,以及在创建时提供的参数值。

5.mimikatz导出票据

kerberos::list /export

导出保存到当前目录下的一个kirbi文件,加密方式为RC6_HMAC_MD5

6.使用kerberoast脚本破解对应账号的ntlm hash

python tgsrepcrack.py 离线破解票据的ntlm hash 

python tgsrepcrack.py wordlsit.txt mssql.kirbi

 

到了这里,关于SPN在域环境的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在云计算环境下保护Java应用程序的有效措施

    云计算(Cloud)技术是近年来计算机科学的一个重要突破。大多数组织已经通过将自己的应用程序移入云平台而获益。不过,如何保证应用程序在第三方服务器上的安全性,是一项艰巨的挑战。 在本文中,我们将重点讨论Java,提供一些可以帮助我们保护云计算环境下的Java应

    2023年04月23日
    浏览(47)
  • 【环境配置】Windows 11 的 WSL(Ubuntu2204) 安装OpenCV 4.5.4 (亲测有效)

    直接在 Windows Store 里搜索最新的 Ubuntu版本 22.04 版本进行安装; 在 Powershell 里输入 wsl 进入环境, 无法安装 libjasper-dev 和 libdc1394-22-dev 解决一: sudo vim /etc/apt/sources.list 最后一行加入如下内容并保存退出: deb http://security.ubuntu.com/ubuntu xenial-security main 再执行: sudo apt-get updat

    2024年02月05日
    浏览(46)
  • 在云计算环境中,保护Java应用程序可用的有效措施和工具

    云计算(Cloud)技术是近年来计算机科学的一个重要突破。大多数组织已经通过将自己的应用程序移入云平台而获益。不过,如何保证应用程序在第三方服务器上的安全性,是一项艰巨的挑战。 在本文中,我们将重点讨论Java,提供一些可以帮助我们保护云计算环境下的Java应

    2024年02月16日
    浏览(50)
  • 【Docker】Docker Desktop配置资源:cpu、内存等(windows环境下)

    Docker 是指容器化技术,用于支持创建和使用 Linux® 容器(LXC技术) 。 我们在 Window 上安装 Docker Desktop ,需要基于 Linux 环境。 在 Windows上,Docker Desktop 为我们提供通过了两个选项:WSL 与 Hyper-V 。 1.WSL2和hyper-v区别 简单来说: wsl是一个运行在我下面的解释linux命令的程序,可

    2024年02月09日
    浏览(52)
  • Windows 环境下nginx 静态资源服务器(图片,文件)权限控制(nginx/openresty/lua)

    1 同nginx配置server以后,我们可以很方便的直接访问到文件服务器上的文件资源,但是某些情况下,文件资源可能是隐私图片,比如客户注册时上传的身份证照片等等,这时候我们需要对图片访问进行控制,必须登录后才能查看到这些隐私图片。 2 一般来说,我们都是通过后端

    2024年02月09日
    浏览(54)
  • 地理信息系统(ArcGIS)在水文水资源、水环境中的应用

    刘老师(副教授): 来自北京重点高校资深专家,长期从事水资源与水环境、流域污染控制与管理、非点源模拟与控制、环境信息系统开发、环境遥感与GIS应用等领域的研究,发表多篇Sci论文、具有资深的技术底蕴和专业背景。 1、掌握GIS相关知识,熟悉ArcGIS软件(请自备电

    2024年04月15日
    浏览(47)
  • ABAQUS应用04——集中质量的添加方法

    混塔ABAQUS模型中,机头、法兰等集中质量的设置是模型建立过程中的一部分,需要研究集中质量的添加。 集中质量本身的编辑没什么难度,我已经用Python代码将其实现。具体代码片段如下: 集中质量的添加必须配合约束的设置,可以通过一些手段来检验集中质量添加是否成

    2024年02月22日
    浏览(35)
  • LiveQing视频点播RTMP推流直播功能-点播拉转在线资源拉转转推到鉴权直播间云端录像集中录像存储

    LiveQing RTMP直播点播流媒体服务 接收RTMP推流服务、支持RTMP分发、HLS分发、HTTP-FLV分发、WS-FLV分发、WebRTC分发; 云端录像、云端录像检索、云端录像点播、云端录像下载; RTMP转推、推流鉴权验证、推流信息统计、播放信息统计; 直播分享、开放直播、拉转直播; 视频上传、视频转

    2024年02月17日
    浏览(43)
  • 【解决】Win10 Windows资源管理器显示”该文件没有与之关联的应用来执行操作。请安装应用,若已经安装应用,请在‘默认应用设置’页面中创建关联

            某天电脑在打开桌面文件夹或者此电脑、回收站等系统自带程序时出现该文件没有与之关联的应用来执行操作。请安装应用,若已经安装应用,请在‘默认应用设置’页面中创建关联。打开谷歌浏览器、WPS等自己后来下载的程序时就会正常打开,甚至在系统左下方直

    2024年02月12日
    浏览(57)
  • VMware vCenter Server 8.0U1 发布 - 集中式管理 vSphere 环境

    请访问原文链接:VMware vCenter Server 8.0U1 - 集中式管理 vSphere 环境,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-04-18, VMware vSphere 8.0U1 发布。 详见:VMware vSphere 8 Update 1 新增功能 VMware vCenter Server 是一款高级服务器管理软件,提供了一个集中式平台来控制

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包