Hacker Directory — Understand what you hack.Hacker Directory — Understand what you hack.
Öğrenmeye devam et
EN
İçindekiler15 bölüm · 82 ders
DERS 08.05DERİN TEKNİK İNCELEME

Yerel yönetici parolaları ve Windows LAPS: Domain hesabından farklı bir problem.

Domain hesabının parolası merkezî bir directory'de yaşar; peki her makinenin kendi yerel Administrator hesabının parolası? Klasik hata, bu parolayı tüm makinelerde aynı yapmaktır: bir makine düşerse hepsi düşer. Windows LAPS bu farklı problemi çözer — her makineye benzersiz, otomatik döndürülen bir yerel admin parolası verir ve onu makinenin computer object'inde saklar. Dersin ekseni tek bir sorudur: bu parola nerede durur, kim okuyabilir/şifresini çözebilir ve hangi öznitelik/olay bunu kanıtlar? LAPS güveni 'aynı parolayı bilenler'den 'parolayı okumaya yetkili olanlar'a taşır; asıl mesele bu yeni yetki yüzeyidir.

1. Core Mechanism / Temel mekanizma

LAPS'in konusu yerel (local) Administrator hesabının credential yaşam döngüsüdür; domain hesaplarından ayrı bir problemdir. Parola makinenin kendisinde üretilir, computer object'in LAPS öznitelikleri üzerinde AD'de saklanır ve erişimi ACL (isteğe bağlı şifreleme) ile korunur. Dersin sınırı 'depolama / ACL / şifreleme ayrımı ve bunun kanıtı'dır: domain parola politikası 08.02'de, computer account kimliği 08.03'te, servis hesapları 08.04'te kalır. Burada odak, tek bir makinenin (ws-a7) yerel admin parolasının nasıl saklandığı, kimin okuyabildiği ve nerede iz bıraktığıdır.

Arabirimler ve belirtimler

  • msLAPS-Password: Unicode string; şifreleme kapalıyken açık metin parolayı JSON olarak taşır ({"n":hesap, "t":UTC güncelleme zamanı hex, "p":parola}); SearchFlags 904 (fCONFIDENTIAL dahil).
  • msLAPS-EncryptedPassword: byte string; şifreli parola blob'u; SearchFlags 904; AttributeSecurityGuid ms-LAPS-Encrypted-Password-Attributes (f3531ec6-6330-4f8e-8d39-7a671fbac605).
  • msLAPS-PasswordExpirationTime: 64-bit integer, parolanın UTC son kullanma zamanı; SearchFlags 0 — gizli (confidential) değildir.
  • msLAPS-EncryptedPasswordHistory / msLAPS-EncryptedDSRMPassword: geçmiş ve DC'ler için DSRM parolası; yalnız şifreleme açıkken; SearchFlags 904.
  • ms-LAPS-Encrypted-Password-Attributes: extended right / property set; Rights GUID f3531ec6-6330-4f8e-8d39-7a671fbac605; valid accesses 48 (RIGHT_DS_READ_PROPERTY | RIGHT_DS_WRITE_PROPERTY). RP/WP property-set kapsamı, confidential attribute’un ek RIGHT_DS_CONTROL_ACCESS koşulunu kaldırmaz.
  • Depolama yeri: parola computer object'te saklanır; erişim ACL'lerle (ve isteğe bağlı AES-256/CNG DPAPI şifrelemesiyle) korunur.
  • Windows LAPS Operational kanalı: olaylar Applications and Services > Microsoft > Windows > LAPS > Operational altında; Security kanalında değil.
  • Arka plan görevi: saatte bir çalışır, hard-coded ve yapılandırılamaz; legacy Microsoft LAPS'in aksine bir GPO CSE değildir.

Farklı problem: yerel admin parolası neden özeldir

Domain hesaplarının parolası merkezî olarak yönetilir; ama her Windows makinesinin bir de yerel Administrator hesabı vardır ve bu hesap domain'den bağımsızdır. Uzun süre yaygın olan hata, tüm makinelere aynı yerel admin parolasını vermekti. Bu, bir makinenin ele geçirilmesi hâlinde o parolanın (ya da hash'inin) diğer tüm makinelerde işe yaraması demektir: klasik lateral movement / pass-the-hash zemini.

LAPS bu tekrar problemini çözer. Her makine kendi yerel admin parolasını üretir, düzenli döndürür ve directory'de saklar; parolalar makineden makineye benzersizdir. Böylece bir makinedeki parolanın ifşası, komşu makinelere otomatik yayılmaz. Dikkat: LAPS bir domain hesabı çözümü değildir; çözdüğü şey yerel credential'ların tekliğidir.

Ama bu çözüm güveni yok etmez, taşır. Artık soru 'aynı parolayı kim biliyor' değil, 'directory'de saklanan bu benzersiz parolayı kim okuyabiliyor'dur. Dersin geri kalanı bu yeni yüzeyi — depolama, ACL ve şifreleme — inceler. Örnek olarak ws-a7 makinesini izleyeceğiz.

Depolama: hangi öznitelik neyi tutar

Windows LAPS parolayı managed device'ın computer object'inde saklar. Şifreleme kapalıysa açık metin msLAPS-Password özniteliğine yazılır; bu bir JSON string'dir ve üç alan taşır: "n" yönetilen yerel hesabın adı, "t" UTC parola güncelleme zamanı (64-bit hex), "p" açık metin parola. Bu öznitelik SearchFlags değeri 904 taşır; bu değer fRODCFilteredAttribute, fNEVERVALUEAUDIT, fCONFIDENTIAL ve fPRESERVEONDELETE bitlerinden oluşur — yani öznitelik confidential'dır.

Şifreleme açıksa parola msLAPS-EncryptedPassword'e byte string olarak yazılır; msLAPS-EncryptedPasswordHistory geçmişi, DC'lerde msLAPS-EncryptedDSRMPassword ise DSRM hesabını tutar. Bu şifreli öznitelikler AttributeSecurityGuid olarak ms-LAPS-Encrypted-Password-Attributes property set'ine (f3531ec6-6330-4f8e-8d39-7a671fbac605) bağlıdır. Property-set üyeliği RP/WP kapsamını tanımlar; confidential okuma için gereken ek control-access hakkının yerine geçmez.

Kritik bir ayrım: msLAPS-PasswordExpirationTime, parolanın UTC son kullanma zamanını tutan 64-bit bir tamsayıdır ve SearchFlags değeri 0'dır — yani confidential değildir. Bu, ilerideki üç katmanlı izin modelinin temelidir: son kullanma zamanını okumak parolayı okumak değildir. Bu öznitelikler forest'a Update-LapsADSchema ile eklenir ve computer sınıfının mayContain listesine girer.

Erişim: üç katmanlı izin ve şifreleme

Üç ayrı yetki sorusu vardır. msLAPS-PasswordExpirationTime’ı okumak/yazmak, sonraki beklenen rotation’a kalan süreyi kısaltmaya veya uzatmaya etki edebilir; device bu değeri sonraki policy-processing cycle’da okur. Bu hak, password attribute’unu okuma, decrypt veya parolayı seçip yazma hakkı değildir. Confidential password attribute’larını okumak için ilgili RIGHT_DS_READ_PROPERTY ve RIGHT_DS_CONTROL_ACCESS koşulları birlikte sağlanır. Şifreli değer dönerse, o değeri çözmek ayrıca encryption principal’ına bağlıdır.

Şifreleme, Windows Server 2016 Domain Functional Level ve üzeri gerektirir. Parola, managed device'ın kendisinde, directory'ye gönderilmeden önce şifrelenir. Temel CNG DPAPI'dir ve LAPS parolayı yalnız tek bir AD security principal'a (kullanıcı veya grup) karşı, AES-256 ile şifreler. Hangi principal'ın çözebileceği ADPasswordEncryptionPrincipal ile belirlenir; belirtilmezse device kendi domain'inin Domain Admins grubu kullanılır. Saklanmış belirli bir şifreli parola değerinin hangi principal için şifrelendiği sonradan değişmez. ADPasswordEncryptionPrincipal policy’si ise değiştirilebilir: daha sonra şifrelenip başarıyla yedeklenen parola, o anda etkin olan policy’deki principal’a göre korunur. Ayarı değiştirmek mevcut değeri veya geçmişteki değerleri yeniden şifrelemez. Principal bir grupsa, grubun üyeleri ve erişim izinleri ayrıca değerlendirilir.

Artifact’teki tek RP ACE, ms-LAPS-Encrypted-Password-Attributes property set’inde Read Property iznini gösteren bir parçadır. Açık metin ve şifreli password attribute’ları confidential’dır: ikisinde de RP’ye ek olarak uygun RIGHT_DS_CONTROL_ACCESS gerekir. Tek RP ACE’i “parola okunabilir” sonucu olarak yorumlama; effective security context, diğer ACE’ler ve control-access kapsamı ayrıca değerlendirilir. Ciphertext’i okuyabilmek de decrypt izninin yerine geçmez.

ws-a7’nin saklanmış parolasının kurgusal LAPS-Readers-A grubu için şifrelendiğini düşün. Policy daha sonra LAPS-Readers-B olarak değiştiriliyor. Ayarda artık B yazması, saklanan değeri B için şifrelenmiş bir değere dönüştürmez. Yeni etkin policy altında daha sonra şifrelenip başarıyla yedeklenen parola B’ye göre korunur. Attribute’u okuyabilmekle o belirli değeri çözebilmek hâlâ farklı kontrollerdir.

ws-a7 / symbolic example

Stored value C_A : encryption principal = LAPS-Readers-A
Current policy  : ADPasswordEncryptionPrincipal = LAPS-Readers-B

Policy change   : C_A remains C_A
Later successful encrypted backup under policy B:
New value C_B   : encryption principal = LAPS-Readers-B

C_A / C_B are labels, not ciphertext or real passwords.

Kanıt: LAPS kendi kanalında konuşur

LAPS'in bıraktığı kanıt Security kanalında değildir; ayrı bir Windows LAPS Operational kanalındadır (Applications and Services Logs > Microsoft > Windows > LAPS > Operational). Bu ayrım önemlidir: LAPS olaylarını Security event'leri arasında aramak, onları hiç bulamamaya yol açar. Arka plan görevi saatte bir çalışır; bu döngü hard-coded ve yapılandırılamazdır ve legacy Microsoft LAPS'in aksine bir Group Policy CSE değildir (dolayısıyla GP refresh döngüsüne bağlı değildir).

Kanaldaki olaylar döngüyü anlatır: her döngü 10003 (başladı) ile başlar, 10004 (başarılı) veya 10005 (başarısız, hata koduyla) ile biter; 10018 AD'ye parola yazımının başarısını, 10021/10022/10023 ise etkin politika ayarlarını (backup dizini, parola yaşı, uzunluk, şifreleme) kaydeder. Bunlar makinenin (client) kanalıdır; bir domain controller'ın LAPS kanalı yalnız kendi DSRM hesabıyla ilgili olayları içerir, domain-joined client davranışını asla içermez.

Özel bir olay tampering korumasıdır. LAPS bir hesabı yönetirken, o hesabın parolasını LAPS dışındaki bir aktörün değiştirme girişimini reddeder ve bunu STATUS_POLICY_CONTROLLED_ACCOUNT (0xC000A08B) / ERROR_POLICY_CONTROLLED_ACCOUNT (0x21CE) hatasıyla engeller; her reddi 10031 olayı olarak kaydeder. Artifact bölümünde bu 10031 olayının zarfını (envelope) okuyacağız.

Durum ve veri akışı

  1. Policy: managed device, yönetilen yerel hesap ve saklama hedefini belirler. Bu örnek AD’ye backup yolunu gösterir.
  2. Üretim: device yeni parolayı yerel olarak hazırlar; modelde P_A yalnız bir etikettir.
  3. Hazırlık: şifreli dalda device, P_A’yı kayıt için belirlenen principal’a karşı koruyarak C_A’yı hazırlar. Açık metin dalında P_A korunmadan saklanır.
  4. Backup: örnekte başarılı yazım sonrasında computer object, C_A’yı msLAPS-EncryptedPassword içinde veya açık dalda P_A’yı msLAPS-Password içinde tutar.
  5. Okuma kararı: confidential attribute için RP ve uygun control-access koşulu birlikte gerekir. Expiration yazma hakkı bunların yerine geçmez.
  6. Çözme kararı: şifreli kaydın oluşturulduğu principal için çözme yetkisi ayrıca gerekir. Policy’nin sonradan değişmesi eski kaydın principal’ını değiştirmez.
  7. Sonuç: iki karar uygunsa parola elde edilir; biri reddederse elde edilemez. Bu model rotation çalıştırmaz. 10018 yalnız örnekte varsayılan başarılı AD backup’ın kayıt göstergesidir.

2. Exploitation / İstismar

Broken trust assumption

Güvenilen varsayım: 'LAPS kurulunca yerel admin parolaları güvenlidir; her makine benzersiz parola aldığına göre iş bitti.' Kırılan yer: LAPS parolayı benzersiz yapar ama okunabilir bir yerde (computer object) saklar; parolayı okuma (ve şifreliyse çözme) hakkı fazla geniş verilmişse, tek bir yetkili principal birçok makinenin yerel admin parolasını meşru yoldan toplayabilir ve tekrar-kullanım riskini yeni bir biçimde geri getirir.

Technical prerequisites

  • Saldırganın kontrol ettiği bir principal, hedef computer object'lerde LAPS password özniteliklerini okuma hakkına sahiptir (sarı katman).
  • Şifreleme açıksa, aynı principal ayrıca decrypt iznine (kırmızı katman: ms-LAPS-Encrypted-Password-Attributes / ADPasswordEncryptionPrincipal) sahip olmalıdır.
  • Bu okuma hakkı geniş bir OU'ya (çok sayıda makineye) inherited olarak verilmiştir; ya da saldırgan expiration time yazma haklarıyla (yeşil katman) döndürmeyi zorlayabilir.
  • Bu koşullar yoksa parola okunamaz: confidential öznitelik plain read'in ötesinde erişim ister ve şifreli parola decrypt izni olmadan işe yaramaz.

Exploitation mechanism / İstismar mekanizması

LAPS parolasının ele geçirilmesi çoğunlukla bir 'açık' değil, fazla geniş bir okuma/çözme yetkisidir. Bir principal computer object'lerde LAPS password özniteliklerini okuyabiliyorsa, açık metin msLAPS-Password (veya çözülmüş msLAPS-EncryptedPassword) ona directory üzerinden gelir; bu, o makinenin yerel Administrator parolasıdır. Yetki bir OU düzeyinde geniş verildiyse aynı principal onlarca makinenin yerel admin parolasını toplayıp lateral movement yapabilir — LAPS'in çözdüğü tekrar problemi, bu kez 'tek okuyucu, çok parola' biçiminde geri döner. Alternatif olarak yalnız expiration-time yazma hakkı (yeşil katman) olan bir aktör, parolayı yıkıcı olmayan biçimde erkenden döndürmeye zorlayabilir. Etki, okunabilen makine kümesiyle sınırlıdır; confidential okuma ve decrypt izinleri devrede olmadan parola alınamaz.

Geniş okuma hakkı: teklik yanılsaması

LAPS'in benzersiz parola üretmesi, o parolaların gizli kaldığı anlamına gelmez. Eğer bir help desk grubuna tüm workstation OU'su üzerinde LAPS password okuma hakkı verilmişse, o gruptaki herkes her workstation'ın yerel admin parolasını okuyabilir. Benzersizlik burada bir güvenlik sağlamaz; tek koruma, okuma hakkının dar tutulmasıdır.

Şifreleme bu tabloya ikinci bir kapı ekler: şifreli öznitelikler yalnız decrypt yetkisi olan principal'a açılır. Ama decrypt principal'ı geniş bir grupsa (ya da varsayılan Domain Admins ise) koruma zayıflar. Kırmızı katmanı dar tutmak, sarı katman kadar önemlidir.

Sınır ve engelleyici kontrol

Kapsam sınırı: LAPS parolası bir makinenin YEREL admin'idir; tek başına domain yönetimi vermez, ama geniş okunuyorsa toplu lateral movement'a açılır. Confidential okuma ve (şifreliyse) decrypt izinleri olmadan parola alınamaz; bu, keyfi bir okuyucuyu dışarıda tutar.

Engelleyici kontroller: password okuma ve decrypt izinlerini en dar gruba ve mümkün olan en dar OU kapsamına ver; makinelerin hassasiyetine göre güvenlik katmanlarını ayır (yönetici laptop'ları ile ön saha cihazlarını aynı gruba açma). Şifrelemeyi etkinleştir (WS2016 DFL+) ki 'okuma hakkı' tek başına açık metin vermesin. Expiration-time yazma hakkını da (yeşil katman) sınırlayarak zorla-döndürme kötüye kullanımını engelle.

3. Defense & Detection / Savunma ve tespit

Telemetry scope

  • LAPS olayları Security kanalında değil, ayrı Windows LAPS Operational kanalındadır; telemetri toplanırken bu kanal ayrıca kapsanmalıdır.
  • Döngü olayları: 10003 (başladı), 10004 (başarılı), 10005 (başarısız, hata kodlu); 10018 AD'ye parola yazımı başarısı; 10020 yerel hesap güncellendi.
  • Politika kanıtı: 10021/10022/10023 olayları etkin politikayı (backup dizini, parola yaşı, uzunluk, şifreleme) kaydeder.
  • Tampering: LAPS dışı parola değişikliği STATUS_POLICY_CONTROLLED_ACCOUNT (0xC000A08B) ile reddedilir ve 10031 olarak kaydedilir.
  • Bir domain controller'ın LAPS kanalı yalnız DSRM hesabıyla ilgili olayları içerir; domain-joined client davranışını içermez.

Events and relevant fields

  • 10003 / 10004 / 10005 — politika işleme döngüsünün başlaması / başarısı / başarısızlığı (hata koduyla).
  • 10018 — LAPS parolayı Active Directory'ye başarıyla yazdı.
  • 10021 / 10022 / 10023 — etkin LAPS politikasının ayrıntıları (AD / Entra / legacy kaynak).
  • 10031 — LAPS, managed hesabın parolasını değiştirme dış talebini engelledi (tampering protection).
  • 10041 / 10042 / 10043 / 10044 — post-authentication grace/rotation olayları.

Doğru kanalda doğru olay

LAPS tespitinin ilk kuralı kanaldır: olaylar Security'de değil, Windows LAPS Operational kanalındadır. Bir SIEM yalnız Security kanalını topluyorsa, 10031 (tampering) veya 10005 (döngü başarısızlığı) gibi anlamlı sinyaller hiç görünmez. Bu yüzden ilk 'sıkılaştırma' aslında bir telemetri kararıdır: LAPS kanalını toplamak.

İkinci nokta, olayların hangi makineye ait olduğudur. Bir DC'nin LAPS kanalı yalnız kendi DSRM hesabıyla ilgilidir; domain-joined client'ların LAPS davranışını içermez. Yani client parola olaylarını DC'de aramak yanlış yönlendirir; olay client makinelerin kendi kanalındadır.

Politika ve izin kanıtını birlikte oku

İyi bir doğrulama iki kanıt kaynağını birleştirir: politika olayları (10021/10022/10023) etkin ayarları — backup dizini, parola yaşı, şifreleme açık mı — gösterir; ACL denetimi ise computer object'lerde password/decrypt izinlerinin kimde olduğunu gösterir. Politikanın 'şifreleme açık' demesi ile izinlerin dar olması ayrı ayrı doğrulanmalıdır; biri diğerini garanti etmez.

Sıkılaştırma sonrası doğrulama geri alınabilir ve aşamalı olmalıdır: önce bir pilot OU'da okuma haklarını daraltıp 10018 (başarılı yazım) ve okuma denetimini izleyin, sonra genişletin. 10031'in ani artışı meşru bir imaging/otomasyon değişikliğine de işaret edebilir; alarmı bağlamla birlikte değerlendirin.

Detection logic · KQL

// Windows LAPS Operational kanalindan 10031 (tampering) olaylarini daraltir.
// Varsayim: LAPS Operational kanali AMA/DCR ile Log Analytics 'Event' tablosuna
// ingest ediliyor; klasik Security ingesti bu olaylari GETIRMEZ.
Event
| where TimeGenerated > ago(24h)
| where EventLog == 'Microsoft-Windows-LAPS/Operational'
| where EventID == 10031
| summarize count(), min(TimeGenerated), max(TimeGenerated) by Computer
| where count_ > 1
| order by count_ desc

Query assumptions

  • Ürün/tablo: Azure Monitor / Sentinel 'Event' tablosu; LAPS Operational kanalı AMA + DCR ile toplanır (klasik Security agent'ı bu kanalı getirmez).
  • Join key/gruplama: Computer alanı; süre penceresi son 24 saat (ago(24h)).
  • EventLog alanı kanal adını ('Microsoft-Windows-LAPS/Operational') taşımalı; farklı ingest şemasında (ör. modern channel için 'Channel') field mapping gerekir.
  • Eksik alan davranışı: kanal hiç toplanmıyorsa sonuç boş döner (alarm sessizce hiç oluşmaz) — bu, kapsama boşluğudur, temizlik değil.

False positives

  • Yanlış yapılandırılmış üçüncü taraf araçlar (parola yöneticileri, imaging scriptleri) LAPS-managed hesabı değiştirmeye çalışıp benign 10031 üretebilir.
  • Bir makinedeki tekil 10031 çoğu zaman zararsızdır; kural tekrar eden (count_ > 1) örüntüye odaklanır, yine de bağlam gerekir.
  • Kanal yalnız bazı makinelerde toplanıyorsa, kapsanmayan makinelerdeki tampering hiç görünmez (eksik telemetri false-negative).

Hardening

  • LAPS password okuma iznini (sarı katman) en dar gruba ve en dar OU kapsamına ver; geniş inherited okuma haklarını kaldır.
  • Şifrelemeyi etkinleştir (WS2016 DFL+) ve decrypt principal'ını (kırmızı katman / ADPasswordEncryptionPrincipal) dar tut; varsayılan Domain Admins'i bilinçli seç.
  • Expiration-time yazma yetkisini sınırla; bu hak sonraki beklenen rotation’a kalan süreyi kısaltabilir veya uzatabilir. Device’ın sonraki policy-processing sonucunu ayrıca izle; password read/decrypt yetkisiyle karıştırma.
  • LAPS Operational kanalını telemetriye dahil et; 10031 (tampering) ve 10005 (başarısızlık) olaylarını izleyip taban çizgisi kur.
  • Makine hassasiyetine göre güvenlik katmanlarını ayır; yönetici/executive cihazlarını yardım masası kapsamından çıkar.
  • Şifreleme principal’ını değiştirirken cihazdaki etkin policy ile saklanan değer ve varsa geçmişin şifreleme principal’ını ayrı kontrol et. Yeni policy’yi eski değerin yeniden şifrelendiğinin kanıtı sayma; okuma iznini, decryption yetkisini ve yeni yedeklemenin başarısını birbirinden ayır.

Örnekler üzerinde oku / Read the examples

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Bu RP ACE’i hangi koşulu gösteriyor, hangisi eksik?

LAPS property-set RP ACE — okuma kararının yalnız bir koşulu (sentetik)

01
S-1-5-21-1109110911-2202220222-3303330333-6510OA · Read Property

Nesneye özgü izin kaydı. Maske trustee’ye yönelik allow/deny kaydının kapsamıdır. İstek, token, sıra ve nesne türü incelenmeden effective access sonucu çıkarılmaz.

02
Nesnenin sahibiBuilt-in Administrators

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

03
Primary groupBuilt-in Administrators

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

04
Erişim kuralları / DACL(OA;;RP;f3531ec6-6330-4f8e-8d39-7a671fbac605;;S-1-5-21-1109110911-2202220222-3303330333-6510)

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

Buradan çıkaracağın fikir

Bu tek ACE yalnız RP koşulunu gösterir. Açık metin ve şifreli LAPS password attribute’ları confidential’dır: uygun RIGHT_DS_CONTROL_ACCESS de gerekir. Bu parçada control-access grant yok; etkin read sonucu çıkarılmaz. Decrypt ve expiration yazma ayrı yetkilerdir.

Bu görünüm SDDL’deki kuralları açıklar; Windows’un erişim kararını çalıştırmaz. SACL audit ve mandatory label kurallarını taşır; izin veren DACL’in yerine geçmez.

Bu örneğin kapsamı

Sentetik computer-object DACL parçası: tek OA ACE, f3531ec6-6330-4f8e-8d39-7a671fbac605 property set’inde RP verir. Bu ACE tek başına etkin password-read grant değildir. Açık metin ve şifreli LAPS password attribute’ları confidential’dır; ilgili RP ve RIGHT_DS_CONTROL_ACCESS birlikte gerekir. Control-access izni bu parçada gösterilmiyor. Trustee sentetik LAPS-readers SID’i; owner/group BA. Parser yapı ayrıştırır, Windows effective-access veya schema kontrolü yapmaz. RP/control-access, expiration yazma ve encryption principal’ına bağlı decrypt ayrı koşullardır.

Ham kaydı aç · SDDL
O:BAG:BAD:(OA;;RP;f3531ec6-6330-4f8e-8d39-7a671fbac605;;S-1-5-21-1109110911-2202220222-3303330333-6510)

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Bu olay kaydında hangi bilgileri görebiliyoruz?

Windows LAPS Operational olay zarfı — 10031 tampering (synthetic)

01
Kaydı hangi bilgisayar yazmış?ws-a7.outreason.example

System/Computer alanı olayın kaydedildiği bilgisayarı gösterir. İstemci adresiyle aynı alan değildir.

02
Ne zaman kaydedilmiş?2026-09-29T07:41:03.552108100Z

Olayın zaman damgası. Diğer kayıtlarla karşılaştırırken saat farklarını da hesaba kat.

03
Hangi olay türü?10031

Event ID, hangi olay şemasını okuduğunu söyler. Olayın bütünü hakkında tek başına karar vermez.

04
Provider/@NameMicrosoft-Windows-LAPS

Bu alanın kayıtta yazan değeri. Anlamını olayın türü ve dersin bağlamıyla birlikte değerlendir.

Buradan çıkaracağın fikir

Alanları birlikte oku: hesap, nesne, servis ve sonuç farklı soruların cevaplarıdır. Bir kayıt, sistemin bütün hikâyesi değildir.

Burada bir örnek kaydı okuyoruz. Windows’a bağlanmıyoruz; olayın gerçekten yaşandığını veya saldırı olduğunu doğrulamıyoruz.

Bu örneğin kapsamı

Sentetik Windows LAPS Operational olayı. EventID 10031 (managed hesabın parolasını değiştirme dış talebi engellendi) ve Channel adı (Microsoft-Windows-LAPS/Operational) Microsoft LAPS event-log referansından alınmıştır. EventData bilerek eklenmedi: kamuya açık belge olayın RENDERED mesajını verir, ham EventData Data Name bağlarını değil; bu yüzden alan adı uydurmuyoruz. Zarf (Provider/Channel/EventID) öğretici noktadır: LAPS olayları Security kanalında değil, kendi Operational kanalındadır. Parser yalnız System alanlarını okur.

Ham kaydı aç · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"><System><Provider Name="Microsoft-Windows-LAPS"/><EventID>10031</EventID><Version>0</Version><Level>3</Level><Task>0</Task><Opcode>0</Opcode><Keywords>0x8000000000000000</Keywords><TimeCreated SystemTime="2026-09-29T07:41:03.552108100Z"/><EventRecordID>4471</EventRecordID><Channel>Microsoft-Windows-LAPS/Operational</Channel><Computer>ws-a7.outreason.example</Computer><Security UserID="S-1-5-18"/></System></Event>

İki yanlış kanı / Two reality checks

Sanılan: LAPS kurulunca yerel admin parolaları güvende olur; benzersiz oldukları için kimse toplu erişemez.
Gerçekte: LAPS parolaları benzersiz yapar ama okunabilir bir yerde (computer object) saklar. Password okuma hakkı (ve şifreliyse decrypt izni) geniş bir OU'ya verilirse, tek bir yetkili principal birçok makinenin yerel admin parolasını meşru yoldan okuyabilir. Güvenlik benzersizlikten değil, okuma/çözme izinlerinin darlığından gelir.
Sanılan: LAPS olaylarını ve parola değişikliklerini Windows Security günlüğünde bulurum.
Gerçekte: Windows LAPS'in kendi ayrı Operational kanalı vardır (Microsoft-Windows-LAPS/Operational); 10018 (AD yazımı), 10031 (tampering) gibi olaylar oradadır, Security kanalında değil. Ayrıca bir DC'nin LAPS kanalı yalnız DSRM hesabıyla ilgilidir, domain-joined client davranışını içermez.

SIRA SENDE

Bu hikâyeyi sen çöz.

Bilgiyi hatırlamaktan bir adım ileri: koşulu değiştir, kanıtı oku, kararın nedenini anlat.

1 / 3 · SONUCU TAHMİN ET

Şifreli LAPS password kaydında yalnız attribute read izni yeterli mi?

Bir cevap seç

Bir ipucu

Ciphertext’i okumak ile içindeki parolayı elde etmek farklıdır.

Cevabın gerekçesini oku

Hayır; attribute read ve decrypt ayrı kararlardır.

Doğru. Expiration yazma hakkı da bu hakların yerine geçmez.

2 / 3 · KANITI OKU

Yeni policy’de principal değişmesi eski C_A kaydını otomatik B için çözülebilir yapar mı?

Yeni sentetik pratik örneği; ders artifact’inden bağımsızdır.
Kayıt / Record
C_A — symbolic encrypted LAPS record
Kayıt principal’ı / Record principal
A
Yeni policy principal’ı / New policy principal
B
Yeni backup / New backup
not observed
Bir cevap seç

Bir ipucu

Kaydın oluşturulduğu principal ile yeni policy’yi ayır.

Cevabın gerekçesini oku

Hayır; eski kayıt A principal’ıyla ilişkili kalır.

Doğru. Policy değişimi eski ciphertext’in principal’ını geriye dönük değiştirmez.

3 / 3 · KENDİN ANLAT

LAPS neden reports için kullanılan domain hesabının parolasını yönetmiyor?

Bir ipucu

Yönetilen hesap ile backup yapılan directory nesnesini ayır.

Cevabın gerekçesini oku

Bu örnekte LAPS, WS01’deki yönetilen yerel admin hesabının parolasını yönetir ve computer object’ine backup eder. Tunahan’ın IYELABS domain hesabı ayrı principal’dır; LAPS backup veya decrypt sonucu reports DACL hakkını göstermez.

  • Yönetilen hesabı WS01 yerel hesabı olarak belirttim.
  • Computer object backup’ını domain hesabıyla eşitlemedim.

Açıklaman otomatik puanlanmaz. Kontrol noktalarını kendi cevabınla karşılaştır.

Bu pratikler öğrenme amaçlıdır; sertifika sınavının puanını etkilemez.

Kaynaklar / Sources

  • Microsoft · Windows LAPS schema and rights extensions
    msLAPS-Password (Syntax 2.5.5.5, SearchFlags 904, JSON n/t/p), msLAPS-EncryptedPassword/History/DSRM (AttributeSecurityGuid f3531ec6-...), msLAPS-PasswordExpirationTime (SearchFlags 0); ms-LAPS-Encrypted-Password-Attributes rights GUID f3531ec6-6330-4f8e-8d39-7a671fbac605, valid accesses 48 (RP|WP); Update-LapsADSchema.
  • Microsoft · Windows LAPS architecture (concepts)
    Parola computer object'te; ACL + isteğe bağlı şifreleme; üç katmanlı izin (expiration/password/decrypt); CNG DPAPI AES-256 tek principal, ADPasswordEncryptionPrincipal varsayılan Domain Admins, WS2016 DFL; saatte bir hard-coded döngü (GPO CSE değil); tampering 10031 + STATUS_POLICY_CONTROLLED_ACCOUNT 0xC000A08B / ERROR_POLICY_CONTROLLED_ACCOUNT 0x21CE; safe mode'da devre dışı.
  • Microsoft · Use Windows LAPS event logs
    Operational kanalı; 10003/10004/10005 döngü, 10018 AD yazımı, 10020 yerel hesap, 10021/10022/10023 politika, 10031 tampering, 10041-10044 post-auth; DC kanalı yalnız DSRM.
  • Microsoft · Windows LAPS overview
    Windows LAPS yerel Administrator hesabının parolasını otomatik yönetir; benzersiz, döndürülen parolalar.
  • Microsoft Open Specifications · [MS-ADTS] Control Access Rights
    §5.1.3.2.1: control access right / property set GUID'i ACE ACCESS_MASK içinde ObjectType olarak taşınır; ObjectType boşsa tüm haklar kapsanır.
  • Microsoft · Configure policy settings for Windows LAPS
    ADPasswordEncryptionPrincipal: yapılandırılabilen kullanıcı/grup adı veya SID, cihaz tarafından çözümlenebilir olma ve AD şifreleme önkoşulları.
  • [MS-ADTS] Extended Access Checks
    Selected passages reviewed: bounded permission/operation conditions; no runtime validation.
  • Microsoft · Windows LAPS AD permissions
    Selected passages reviewed: bounded permission/operation conditions; no runtime validation.