SPN在域環境中的應用


0X01 SPN

   服務主體名稱(SPN)是Kerberos客戶端用於唯一標識給特定Kerberos目標計算機的服務實例名稱。Kerberos身份驗證使用SPN將服務實例與服務登錄帳戶相關聯。如果在整個林中的計算機上安裝多個服務實例,則每個實例都必須具有自己的SPN。如果客戶端可能使用多個名稱進行身份驗證,則給定的服務實例可以具有多個SPN。例如,SPN總是包含運行服務實例的主機名稱,所以服務實例可以為其主機的每個名稱或別名注冊一個SPN。

0x02 SPN格式

SPN = serviceclass “/” hostname [“:”port] [“/” servicename]

serviceclass  服務組件名稱

hostname      計算機名和域

0x03 常見的SPN服務

 setspn.exe -T kuaile -q */*    //查找域kuaile的所有SPN服務

 

 

 

以CN開頭的每一行代表一個帳戶,其下的信息是與該帳戶相關聯的SPN

對於上面的輸出數據,機器帳戶(Computers)為:

  • CN=DC1,OU=Domain Controllers,DC=test,DC=com
  • CN=COMPUTER01,CN=Computers,DC=test,DC=com

域用戶帳戶(Users)為:

  • CN=krbtgt,CN=Users,DC=test,DC=com
  • CN=MSSQL Service Admin,CN=Users,DC=test,DC=com

注冊在域用戶帳戶(Users)下的SPN有兩個:kadmin/changepwMSSQLSvc/DC1.test.com

MSSQL 服務的示例代碼如下:

MSSQLSVC /computer1.sun.com:1433

MSSQLSVC  MSSQL服務
computer1.sun.com 主機名是computer1 域名是sun.com
端口是1433

Exchange 服務的實例代碼如下:

exchangeMDB/EXCAS01.sun.com

RDP如下

TERMSERV/EXCAS01.sun.com

WSMan/WinRM/PSRemoting

WSMAN/EXCAS01.sun.com

 

0x04 進行SPN掃描的powershell腳本

Powershell-AD-Recon 提供了一系列的服務與服務登錄賬號和運行服務之間的對應關系,鏈接如下:https://github.com/PyroTek3/PowerShell-AD-Recon

 

 

利用powerview 進行掃描

Get-NetUser -SPN    //獲取當前目標域中所有以域用戶身份起服務的 SPN

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM