Online, offline ve cached logon: DC yokken oturum açmak ne anlama gelir?
Domain'e katılmış bir bilgisayarda DC yokken oturum açabilmek, yerel bir cached verifier'ın girilen parolayı doğrulamasıyla mümkün olur. Bu verifier one-way'dir ve güncel domain durumunu yansıtmayabilir; başarılı cached logon, hesabın hâlâ etkin veya parolanın güncel olduğunu ya da DC gerektiren kaynaklara erişilebileceğini kanıtlamaz. Cached verifier, mevcut access token, mevcut Kerberos ticket'lar ve uzak oturum cache'leri ayrı şeylerdir.
1. Core Mechanism / Temel mekanizma
Online parola tabanlı domain logon, DC üzerinden doğrulamadır. Kerberos başarılı olduğunda ticket alınır; Kerberos başarısızsa uygulanan koşullara göre NTLM pass-through yolu kullanılabilir. Dolayısıyla “DC doğruladı” ile “Kerberos ticket üretildi” aynı iddia değildir. Offline logon'da DC erişilemezse LSA, girilen parolayı yerel olarak saklanan cached domain credential (verifier) ile karşılaştırır; eşleşirse kullanıcı masaüstüne erişir. Bu verifier one-way bir dönüşümle üretilir, parolayı geri veremez ve cache kapsamı CachedLogonsCount ile belirlenir (HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon, REG_SZ, 0–50; varsayılan Windows Server 2008'de 25, diğer sürümlerde 10'dur; credential türü kullanıcı başına tüketilen cache entry sayısını etkiler). Offline logon başarılı olsa da DC doğrulaması gerektiren network resource'lara erişilemez.
Arabirimler ve belirtimler
- Cached domain credential (verifier): yerel, şifreli ve one-way; yalnız offline logon doğrulaması içindir, parolayı geri vermez.
- CachedLogonsCount: cache sınırı 0–50 entry'dir; 0 caching'i kapatır. Varsayılan Windows Server 2008'de 25, diğer sürümlerde 10'dur; credential türü kullanıcı başına tüketilen entry sayısını etkiler. Parola kullanıcıları örneğinde sınır dolduğunda yeni kullanıcı en eski cache kaydını ezer.
- Access token: başarılı logon sonrası oluşan SID kümesi; offline logon da token üretir, ancak bu token DC doğrulamasını temsil etmez.
- Kerberos ticket cache: mevcut TGT ve service ticket'lar; DC yokken yeni ticket alınamaz, fakat lifetime içindeki mevcut ticket'lar kullanılabilir.
- Kanıt yüzeyi: hedefteki Security kanalında LogonType 11 (CachedInteractive) taşıyan 4624; "DC contacted edilmedi" anlamına gelir. Yeni kaynak erişimi ayrı kanıt üretir.
Online ve offline logon
Online parola tabanlı domain logon, DC üzerinden doğrulamadır. Kerberos başarılı olduğunda ticket alınır; Kerberos başarısızsa uygulanan koşullara göre NTLM pass-through yolu kullanılabilir. Dolayısıyla “DC doğruladı” ile “Kerberos ticket üretildi” aynı iddia değildir. DC’ye ulaşılamıyorsa ve uygun cache kaydı varsa yerel cached doğrulama yapılabilir. Bu yol yeni TGT üretmez ve güncel domain hesabını sorgulamaz.
Caching kapalıysa veya kullanıcı daha önce cache'lenmemişse bunun yerine "The system cannot log you on now because the domain <DOMAIN> is not available." mesajı gelir. Yani offline logon, cache'in varlığına ve CachedLogonsCount ayarına bağlıdır.
Cached verifier ne değildir
Cached verifier parolanın kendisi değildir; one-way bir dönüşümdür ve geri çevrilemez. Offline logon'da LSA girilen parolayı aynı biçimde dönüştürüp saklanan verifier ile karşılaştırır.
Kritik nokta şudur: parola cloud'da veya domain'de değiştirildiğinde yerel cached verifier güncellenmez. Bu yüzden kullanıcı, cache güncellenene kadar eski parolayla offline oturum açmaya devam edebilir. Cached logon başarılı olması, hesabın güncel domain durumunu yansıttığını göstermez.
Dört ayrı cache'i karıştırma
"DC yokken oturum açtım" ifadesi birden çok farklı mekanizmayı gizleyebilir. Cached verifier offline logon doğrulaması içindir. Mevcut access token zaten oluşmuş bir oturumun kimliğidir. Mevcut Kerberos ticket'lar geçmişte alınmış ve lifetime içinde geçerli olabilir. Uzak oturum cache'leri (ör. hâlihazırda açık bir SMB oturumu) ayrı yaşar.
Bu dördü farklı zamanlarda oluşur ve farklı süreler geçerlidir. Birini görmek diğerinin geçerli olduğunu söylemez; örneğin geçerli bir cached logon, geçerli bir TGT'nin var olduğu anlamına gelmez.
Artifact: LogonType 11 ne söyler
Sentetik 4624 örneği LogonType 11 (CachedInteractive) taşır: kullanıcı yerelde saklanan network credential'larla oturum açmıştır ve doğrulama için domain controller ile iletişim kurulmamıştır.
Bu kayıt, parolanın güncel veya hesabın etkin olduğunu kanıtlamaz; DC gerektiren bir kaynağa erişildiğini de göstermez. Yeni domain-validated erişim ayrı bir kanıt üretir.
Durum ve veri akışı
- Kullanıcı domain hesabıyla interaktif oturum açmayı dener; DC erişilemez durumdadır.
- LSA girilen parolayı yerel cached verifier ile karşılaştırır (one-way karşılaştırma).
- Eşleşirse yerel access token oluşur; Audit Logon Success açıksa hedefte 4624 / LogonType 11 görülebilir.
- DC doğrulaması gerektiren network resource'lara erişilemez; yeni Kerberos ticket alınamaz.
- DC gerektirmeyen kaynaklara ve lifetime içindeki mevcut ticket'lara erişilebilir.
- DC’ye tekrar ulaşıldığında başarılı online logon cached verifier’ı yenileyebilir. Bu güncelleme eski token, ticket veya uzak session’ı kendiliğinden yenilemez.
2. Exploitation / İstismar
Broken trust assumption
Bozulan varsayım: "Offline (cached) logon başarılıysa hesap hâlâ etkindir ve parola günceldir." Oysa cached verifier güncel domain policy/credential durumunu yansıtmaz. Parola domain'de/cloud'da değişse bile yerel verifier güncellenene kadar eski parola offline kabul edilebilir; devre dışı bırakılmış bir hesap da DC kontrolüne ulaşılana kadar offline oturum açabilir.
Technical prerequisites
- Domain'e katılmış ve kullanıcının en az bir kez interaktif oturum açtığı bir cihaz (verifier cache'lenmiş).
- CachedLogonsCount > 0, yani caching etkin.
- DC'nin erişilemez olması (ağ kesintisi, izole cihaz, kasıtlı yalıtım).
- Cache doğrulamasına konu olan senaryoda cihaza console/fiziksel erişim veya dosya sistemine erişim.
Exploitation mechanism / İstismar mekanizması
Cached verifier güncel domain durumundan bağımsız yaşar. Parola cloud'da/domain'de değiştirildiğinde yerel verifier güncellenmediği için eski parola ile offline logon çalışmaya devam eder. Devre dışı bırakma/kilitleme gibi kararlar DC'de değerlendirildiği için DC erişilemezken hemen uygulanmaz. Ek olarak, verifier şifreli biçimde registry'de saklanır; cihazın dosya sistemine erişebilen biri bu veri üzerinde offline brute-force deneyip doğru tahmini bulursa ilgili parola açığa çıkabilir. Cached logon’un kendisi ise yerel masaüstü oturumu açar; DC doğrulaması gereken network resource’a otomatik erişim vermez. Tahmin edilmiş parolanın çevrimiçi kullanımı ayrı bir doğrulama ve güncel domain durumuna bağlıdır. Bu içerik güvenlik mekanizmasını öğretmek içindir; ürün gerçek parola/verifier çıkarımı yapmaz.
Cache, güncel durum değildir
Cached verifier son başarılı doğrulamanın anlık görüntüsüdür; sonrasında domain'de olan parola değişikliği, devre dışı bırakma veya erişim kaldırma cache'e anında yansımaz.
Bu yüzden "offline logon başarılı oldu" gözlemi, hesabın şu anda geçerli olduğunu kanıtlamaz. Kesin karar için DC'deki güncel durum gerekir.
Etkinin sınırı
Başarılı cached logon yerel masaüstü erişimi verir. DC doğrulaması gerektiren kaynaklar (yeni Kerberos bileti isteyen paylaşımlar/servisler) erişilebilir olmaz.
Cached verifier'a yönelik offline brute-force ise cihaz dosya sistemine erişim gerektirir ve verifier şifreli tutulduğu için doğrudan bir parola ifşası değildir; kontrol, diski ve ayrıcalıklı hesap cache'lerini korumaya yönelir.
3. Defense & Detection / Savunma ve tespit
Telemetry scope
- Telemetri oturumun oluşturulduğu hedef bilgisayarda oluşur; kanal Security'dir.
- Audit Logon alt kategorisinde Success, LogonType 11 (CachedInteractive) taşıyan 4624 kayıtlarını destekler.
- Cached logon'da DC ile iletişim kurulmadığı için karşılık gelen bir DC-tarafı Kerberos olayı (ör. 4768/4769) beklenmez; bu artifact yalnız hedefteki cached logon kaydını taşır.
Events and relevant fields
- 4624 / LogonType 11: yerelde saklanan network credential ile logon; DC doğrulama için iletişime geçilmemiştir.
- 4624 / TargetUserName ve TargetDomainName: domain principal görünse de bu kayıt online DC doğrulamasını kanıtlamaz.
- 4624 / AuthenticationPackageName: kullanılan paket adı; cached logon bağlamında online bilet alımını göstermez.
- 4624 / TargetLogonId: aynı hosttaki ilişkili olaylarla korelasyon için oturum tanıtıcısı.
- Ayrı akışın kanıtı: hedefte LogonType 3 taşıyan 4624 network logon'u; Audit Detailed File Share açıksa sunucuda 5145 share-level access check'i gösterir. DC'deki 4769 TGS isteğini/sonucunu kaydeder, kaynak erişiminin başarılı olduğunu tek başına kanıtlamaz.
Logon var, DC doğrulaması yok
LogonType 11 anlambilimsel olarak "yerel cached credential ile giriş, DC ile iletişim yok" der. Bu yüzden DC tarafında karşılık gelen bir Kerberos olayı aramanın anlamı yoktur; yokluğu beklenen davranıştır.
İnceleme, cached logon'u online logon'la karıştırmamalı; DC-tarafı kanıtın olmaması burada bir alarm değil, mekanizmanın doğal sonucudur.
Yeni kaynak erişimi ayrı kanıttır
Kullanıcı DC yokken masaüstüne girmiş olsa da, DC doğrulaması gerektiren bir kaynağa eriştiğinde ayrı olaylar oluşur (hedefte LogonType 3 4624 veya DC'de 4769).
Bu ayrım, "oturum açabildi öyleyse her kaynağa erişti" hatasını engeller; cached logon ile domain kaynak erişimini ayrı kanıtlarla değerlendirmek gerekir.
Detection logic · XPath
*[System[(EventID=4624)] and EventData[Data[@Name='LogonType']='11']]Query assumptions
- Bu, Windows Event Log XML alanlarına yönelik çalıştırılmamış bir aday filtredir; SIEM sorgusu veya çok-host korelasyonu değildir.
- LogonType 11 yalnız yerel cached doğrulamayı gösterir; DC'de karşılık gelen bir kimlik doğrulama kaydının olmaması normaldir ve kaynak erişilmediği anlamına gelmez.
- Sonuç TargetUserSid, TargetDomainName ve Computer birlikte incelenerek sınıflandırılmalı; DC gerektiren erişim ayrı olaylarda aranmalıdır.
- Fixture parser'da henüz çalıştırılmadı; gerçek Windows veri kümesinde sonuç ürettiği iddia edilmez.
False positives
- Dizüstü/mobil kullanıcılar ağ dışındayken normalde cached (LogonType 11) logon yapar; bu tek başına kötü niyet değildir.
- VPN öncesi veya geçici DC erişilemezliği de meşru cached logon üretir; benign baseline bu davranışı içerir.
- Negatif örnek: tek bir LogonType 11 kaydı parolanın güncel olduğunu veya hesabın etkin kaldığını göstermez.
Hardening
- CachedLogonsCount değerini iş ihtiyacına göre envanter alıp uygun biçimde sınırla; 0 caching'i tümüyle kapatır ve DC erişilemezken offline logonu engeller. Bu trade-off'u cihazların kullanım gereksinimine göre değerlendir.
- Cihaz disklerini şifrele (ör. BitLocker) ki dosya sistemine fiziksel erişimle cache'e ulaşmak zorlaşsın.
- Ayrıcalıklı hesapların paylaşılan/güvensiz cihazlarda cache'lenmesini sınırla; bu hesapların offline izini küçült.
- Credential Guard, desteklenen NTLM hash, Kerberos TGT ve domain credential materyalini runtime’da izole eder; Kerberos service ticket’larını korumaz. Registry’deki cached logon verifier ayrı saklama/kapsamdır. Verifier için CachedLogonsCount, disk encryption, fiziksel erişim ve privileged-account cache kapsamını değerlendir; Credential Guard’ı verifier-at-rest kontrolü sayma.
- Değişiklik sonrası offline logon davranışını ve cache tazelenmesini kontrollü lab'da doğrula; bu adım henüz yapılmadı.
Örnekler üzerinde oku / Read the examples
ÖRNEĞİ BİRLİKTE OKUYALIM
EĞİTİM İÇİN HAZIRLANDIBu alanlar hangi kararı gösteriyor?
4624 · LogonType 11 CachedInteractive (sentetik)
1111, credential doğrulamak için DC ile iletişim kurulmamış cached logon. Yeni TGT veya güncel hesap durumu kanıtı değildir.
OUTREASONDomain adı görünmesi, bu denemede DC’nin doğrulama yaptığı anlamına gelmez.
0xb14d7Bu hosttaki session korelasyon alanı. Eski ticket veya açık SMB session ayrı kanıt gerektirir.
Cached logon yerelde gerçekleşmiş. DC’de güncel hesap doğrulaması, yeni ticket veya uzak kaynak erişimi gösterilmiyor.
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ı
Microsoft 4624 şemasındaki dersle ilgili alanların sentetik alt kümesidir; tam Version 2 alan kümesi değildir. SID ve hesap üretim verisi değildir. LogonType 11 yerel cached doğrulamayı gösterir ve DC contacted edilmediği anlamına gelir; parolanın güncel veya hesabın etkin olduğunu ya da DC gerektiren bir kaynağa erişildiğini kanıtlamaz. Parser kabulü ve gerçek Windows değerleri henüz doğrulanmadı.
Ham kaydı aç · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System><Provider Name="Microsoft-Windows-Security-Auditing"/><EventID>4624</EventID><Version>2</Version><Channel>Security</Channel><Computer>WS10.outreason.example</Computer></System>
<EventData><Data Name="SubjectUserSid">S-1-5-18</Data><Data Name="TargetUserSid">S-1-5-21-3623811015-3361044348-30300820-1124</Data><Data Name="TargetUserName">tunahan</Data><Data Name="TargetDomainName">OUTREASON</Data><Data Name="TargetLogonId">0xb14d7</Data><Data Name="LogonType">11</Data><Data Name="LogonProcessName">User32</Data><Data Name="AuthenticationPackageName">Negotiate</Data><Data Name="WorkstationName">WS10</Data><Data Name="IpAddress">-</Data><Data Name="KeyLength">0</Data></EventData>
</Event>İki yanlış kanı / Two reality checks
- Sanılan: Cached (offline) logon başarılıysa hesap etkindir ve parola günceldir.
- Gerçekte: Cached verifier güncel domain durumunu yansıtmaz. Parola domain'de/cloud'da değişse bile yerel verifier güncellenene kadar eski parola offline kabul edilebilir; devre dışı bırakılmış hesap da DC kontrolüne ulaşılana kadar offline oturum açabilir. LogonType 11 yalnız yerel doğrulamayı gösterir.
- Sanılan: DC yokken oturum açabiliyorsam domain kaynaklarına da erişebilirim.
- Gerçekte: Cached logon yalnız yerel masaüstü erişimi verir. DC doğrulaması gerektiren network resource'lara erişilemez (yeni Kerberos bileti alınamaz). Yalnız DC gerektirmeyen kaynaklar ve lifetime içindeki mevcut ticket'lar kullanılabilir.
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
Başarılı cached logon hangi bilgiyi tek başına vermez?
Bir ipucu
Yerel verifier güncel DC görünümü mü?
Cevabın gerekçesini oku
Domain hesabının şu an enabled ve domain parolasının güncel olduğunu.
Doğru. DC görülmeden yerel verifier güncel domain durumunu doğrulamaz.
2 / 3 · KANITI OKU
Bu kayıt DC01’in yeni bir TGT verdiğini gösterir mi?
- EventID
- 4624
- Computer
- WS01.iyelabs.example
- LogonType
- 11
- TargetUserName
- tunahan
- DC erişimi / DC access
- unavailable
Bir ipucu
Type 11 yerel oturum türüdür.
Cevabın gerekçesini oku
Hayır; yalnız cached interactive logon gösterilir.
Doğru. Mevcut geçerli ticket veya target session kullanımı ayrıca incelenir.
3 / 3 · KENDİN ANLAT
Cached verifier güncellenince neden eski FS01 session’ının da yenilendiğini varsaymazsın?
Bir ipucu
Verifier, token, ticket ve uzak session farklı saklanır.
Cevabın gerekçesini oku
Başarılı online logon yerel cached verifier’ı yenileyebilir; bu mevcut process token’ını, ticket’ları veya FS01’deki açık session’ı geriye dönük yenilemez. Reports için gerçekten kullanılan ticket/session ve yeni DC gereksinimi ayrıca incelenir.
- Dört farklı state’i ayırdım.
- Yeni online logon’u eski session sonucu yerine koymadım.
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 · Cached domain logon information (KB172931)
Summary ve More information: cached logon mesajları, DC gerektiren/gerektirmeyen kaynak ayrımı, CachedLogonsCount kayıt yeri/türü/değer aralığı ve parola değişince verifier'ın güncellenmemesi. Windows Server 2008 istisnasının sayısal varsayılanı için güncel Policy CSP kullanılır. - Microsoft · Interactive logon: Number of previous logons to cache (in case domain controller is not available)
Reference, Possible values, Vulnerability ve Countermeasure: cache sınırı dolduğunda parola-kullanıcısı örneğinde eski kaydın ezilmesi, dosya sistemi erişimiyle brute-force riski, Windows'un şifreleme/registry koruması ve 0 değerinin etkisi. Default values bölümü Windows Server 2008 dışındaki 10 varsayılanını gösterir. - Microsoft · Policy CSP - LocalPoliciesSecurityOptions
InteractiveLogon_NumberOfPreviousLogonsToCache: maximum 50 entries, credential-dependent entry use, and default values (Windows Server 2008: 25; all other versions: 10). - Microsoft · Passwords technical overview
Cached credentials: verifier is computed from the NT hash and user name using MD4; one-way function definition is documented above. - Microsoft · 4624(S) An account was successfully logged on
Logon types tablosu: Type 11 CachedInteractive tanımı ("domain controller wasn't contacted to verify the credentials") ve Field Descriptions. - Microsoft · Kerberos authentication overview
Giriş: TGT/service ticket modeli ve ticket'ların DC (KDC) tarafından verilmesi; mevcut ticket'ların lifetime içinde kullanımı bağlamı. - Microsoft · 5145(S, F) A network share object was checked to see whether client can be granted desired access
Event Description and Important note: share-level access checks, with the failure-event limitation when access is denied at the NTFS level. - Microsoft · Access tokens
Access-token overview: after successful authentication at logon, Windows produces an access token that identifies the user/process security context. - Microsoft · 4769(S, F) A Kerberos service ticket was requested
Event Description: generated when a KDC receives a TGS request; event records request result, not target-service acceptance.