SPN 分为机器账户注册和服务账户注册两种类型
机器账户注册的
DC01$ (机器账户)
├── HOST/DC01.SIGNED.HTB ← 通用主机服务
├── HOST/DC01
├── cifs/DC01.SIGNED.HTB ← SMB 文件共享
├── cifs/DC01
├── LDAP/DC01.SIGNED.HTB ← LDAP 查询
├── LDAP/DC01
├── RestrictedKrbHost/DC01.SIGNED.HTB
└── RestrictedKrbHost/DC01
特点:
✅ Windows 自动注册
✅ 用于系统级服务
✅ Silver Ticket 可以用任意用户名
服务账户注册的
mssqlsvc (普通域用户账户)
├── MSSQLSvc/DC01.SIGNED.HTB ← SQL Server
└── MSSQLSvc/DC01.SIGNED.HTB:1433
webservice (另一个服务账户示例)
├── HTTP/web01.SIGNED.HTB ← IIS/Web 应用
└── HTTP/web01
特点:
❌ 需要手动注册(setspn 命令)
❌ 用于特定应用程序
❌ Silver Ticket 必须匹配服务账户用户名
┌─────────────────────────────────────────────────────┐
│ 哈希类型 可用的 SPN │
├─────────────────────────────────────────────────────┤
│ 服务账户哈希 → 只能用该服务的 SPN │
│ 机器账户哈希 → 可以用多种 SPN(包括 CIFS) │
│ krbtgt 哈希 → 可以用任意 SPN(Golden Ticket) │
└─────────────────────────────────────────────────────┘