Bu dosyayı analiz edebilirim ama sistem ekran kartı takılıyken açılmayıp yokken açılıyorsa da sorunun kaynağı olabilir. Bunu ek olarak tetikleyen bir şey de olabilir.
Rich (BB code):
WINLOGON_FATAL_ERROR (c000021a)
The Winlogon process terminated unexpectedly.
Arguments:
Arg1: ffffb8062aee61d0, String that identifies the problem.
Arg2: ffffffffc0000428, Error Code.
Arg3: ffffb8062e7ff7d0
Arg4: 0000000000000000
İlk değerin içeriğine bakıp hata hakkında bilgileri alabiliriz.
Rich (BB code):
2: kd> dc ffffb8062aee61d0
ffffb806`2aee61d0 69726556 61636966 6e6f6974 20666f20 Verification of
ffffb806`2aee61e0 6e4b2061 446e776f 66204c4c 656c6961 a KnownDLL faile
ffffb806`2aee61f0 00002e64 000000a2 00000000 00000000 d...............
ffffb806`2aee6200 0304a100 3066744e 0069004d 00720063 ....Ntf0M.i.c.r.
ffffb806`2aee6210 458df350 ffffce0f 00000002 00000000 P..E............
ffffb806`2aee6220 0000a079 00000000 0000b079 00000000 y.......y.......
ffffb806`2aee6230 00460074 00330078 004f002d 002d0043 t.F.x.3.-.O.C.-.
ffffb806`2aee6240 00610050 006b0063 00670061 007e0065 P.a.c.k.a.g.e.~.
Ek olarak, Burada Ntf0M, NTFS dosya sistemi sürücüsü olan ntfs.sys sürücüsü ile ilişkili genel bir havuz tahsisine karşılık geliyor. “General pool allocation”, bunun NTFS sürücüsü tarafından dosya sistemi yapılarının yönetimi de dahil olmak üzere kullanılan standart bir bellek havuzu olduğunu gösteriyor.
Rich (BB code):
2: kd> !pooltag Ntf0M
Pooltag Ntf0
Description: General pool allocation
Driver!Module: ntfs.sys
Hata açıklaması tam olarak görünmüyor. Bunu tam olarak açarsak,
Rich (BB code):
2: kd>da 0xffffce0f45b3a280
The Verification of a KnownDLL failed. system process terminated unexpectedly with a status of 0xc0000428 (0x2e7ff7d0 0x00000000).
The system has been shut down.
Bilmemiz gereken 2 şey var; KnownDLL nedir? Ve WinLogon süreci nasıl işliyor?
Aslında ne olduğundan çok, ne yaptığı ilgilendiren kısım. KnownDLL'in yaptığı tek şey, dolaylı olarak yüklenen DLL'lerin uygulamalar klasöründen yüklenmesini önlemektir. Yani 3.taraf yüklemeleri kesinlikle önyükleme sürecine katmamaktır. Güvenlik nedenleriyle olduğu için de “KnownDLL ‘in geçerli olduğu tek klasör
C:\Windows\System32 klasörüdür. (ya da yerelleştirilmiş eşdeğeri) ve bu klasör sistem işlemlerinden sonra başlatılan 2.klasördür.
Amacı temelde, Kernel32.DLL gibi sistem DLL'lerinin başkaları tarafından değiştirilen kopyalarının farklı klasörler üzerinden yüklenmesini önlemektir.
Hataya geri dönüp bakarsak da DLL için doğrulama işleminin başarısız olduğunu görüyoruz çünkü bazı nedenlerden dolayı sorumlu bir dosya o sırada silinme sürecinde idi ve bunun sonucunda da bu hatayı aldık. Garip aslında. Atılan hata kodunu incelersek de,
Rich (BB code):
2: kd> !error 0xc0000428
Error code: (NTSTATUS) 0xc0000428 (3221226536) - Windows bu dosyanın dijital imzasını doğrulayamıyor. Yeni yapılmış bir yazılım ve donanım değişikliği, hatalı imzalanmış ya da bozuk bir dosya veya bilinmeyen kaynaktan gelen kötü amaçlı bir yazılım yüklemi olabilir.
Görünüşe göre işletim sistemi, bir anahtar sistem dosyasıyla ilişkili dijital imzayı doğrulayamıyor ve bundan dolayı kendini sonlandırıyor. Bunun nedeni de muhtemelen dosyamızda belirtilen doğrulama hatası. Sonuç olarak Windows oturum açma işleminin bütünlüğünü doğrulayamadı ve bu nedenle kapatıldı.
Rich (BB code):
2: kd> .time
Debug session time: Thu Oct 10 23:08:46.913 2024 (UTC + 3:00)
System Uptime: 0 days 0:00:09.647 < Sistem açıldıktan 9 saniye sonra kapanıyor.
Bir diğer bilmemiz gereken ve aslında konuyu yazarken yanlış noktada yani şu an yazdığımı fark ettiğim şey WinLogon süreci,
WinLogon.exe başlangıç sürecinin başlarında başlatılır ve oturum açma işlemini gerçekleştiren LogonUI.exe'nin başlatılmasından sorumlu olur. Bunu yapmadan önce, WinLogon.exe lsass.exe ve LSM hizmetinin başarılı bir şekilde başlatılmasını bekliyor. İşletim sisteminin oturum açma ekranının önceden de dediğimiz gibi başkaları tarafından oluşturulmadığını garanti edebilmesi için yalnızca WinLogon.exe'nin LogonUI.exe'yi çağırabilmesi gerekiyor. Sistem sahibi kendisi olduğunu doğrulayacak bir şifre girdikten sonra da bir oturum açma oturumu oluşturulur ve kimlik bilgileri LSASS işlemi tarafından doğrulanır. Kimlik bilgileri geçerliyse kullanıcının profili HKEY_CURRENT_USER adlı kayıt defteri anahtarına yükleniyor. SMSS.EXE sürecine de bakabilirsin,,
Daha detaylı tanımı da burda var:
Ana yığıt bir bilgi vermez, sistemin kullanıcı modundan çekirdek moduna geçtiğini ve hatanın atıldığını gösterir bu yüzden spesifik olarak minidump da bulunmayan ve ilgili işlemi temsil eden yığıta bakabiliriz;
Rich (BB code):
2: kd> !process ffffce0f42861040
PROCESS ffffce0f42861040
SessionId: none Cid: 0184 Peb: c97c60a000 ParentCid: 0004
DirBase: 100361000 ObjectTable: ffffb8062d8fbd00 HandleCount: 38.
Image: smss.exe
VadRoot ffffce0f45bfcb70 Vads 28 Clone 0 Private 5240. Modified 15. Locked 0.
DeviceMap ffffb8062a839300
Token ffffb8062e9cba40
ElapsedTime 00:00:03.446
UserTime 00:00:00.000
KernelTime 00:00:00.000
QuotaPoolUsage[PagedPool] 9096
QuotaPoolUsage[NonPagedPool] 4136
Working Set Sizes (now,min,max) (5464, 50, 345) (21856KB, 200KB, 1380KB)
PeakWorkingSetSize 9548
VirtualSize 2101308 Mb
PeakVirtualSize 2101324 Mb
PageFaultCount 9657
MemoryPriority BACKGROUND
BasePriority 11
CommitCharge 5265
THREAD ffffce0f45c40040 Cid 0184.0188 Teb: 000000c97c60b000 Win32Thread: 0000000000000000 WAIT: (Suspended) KernelMode Alertable
ffffce0f45e7eec0 NotificationEvent
Not impersonating
DeviceMap ffffb8062a839300
Owning Process ffffce0f45c3f040 Image: smss.exe
Attached Process N/A Image: N/A
Wait Start TickCount 548 Ticks: 69 (0:00:00:01.078)
Context Switch Count 171 IdealProcessor: 2
UserTime 00:00:00.031
KernelTime 00:00:02.328
Win32 Start Address smss!NtProcessStartupW (0x00007ff6e9d714f0)
Priority 12 BasePriority 11 IoPriority 2 PagePriority 5
Child-SP RetAddr Call Site
ffff9102`c6d5ae20 fffff803`61a41330 nt!KiSwapContext+0x76
ffff9102`c6d5af60 fffff803`61a4085f nt!KiSwapThread+0x500
ffff9102`c6d5b010 fffff803`61a40103 nt!KiCommitThreadWait+0x14f
ffff9102`c6d5b0b0 fffff803`61f74ef1 nt!KeWaitForSingleObject+0x233
ffff9102`c6d5b1a0 fffff803`61c11238 nt!NtInitiatePowerAction+0x1a1
ffff9102`c6d5b230 fffff803`61c023d0 nt!KiSystemServiceCopyEnd+0x28 (TrapFrame @ ffff9102`c6d5b230)
ffff9102`c6d5b3c8 fffff803`620e9d59 nt!KiServiceLinkage
ffff9102`c6d5b3d0 fffff803`621b6840 nt!PoShutdownBugCheck+0xd9 // Sistem kapanır ve mavi ekran verir
ffff9102`c6d5b470 fffff803`61c08d68 nt!ExpSystemErrorHandler2+0x680
ffff9102`c6d5b6d0 fffff803`62158b5e nt!ExpSystemErrorHandler+0xd8
ffff9102`c6d5b710 fffff803`62158f7a nt!ExpRaiseHardError+0x132 // Hata
ffff9102`c6d5ba90 fffff803`61c11238 nt!NtRaiseHardError+0x1ba // Hata bildirim
ffff9102`c6d5bbd0 00007ff9`fe370204 nt!KiSystemServiceCopyEnd+0x28 // Kullanıcı modu işlemlerimizin sonu, Kernel'e geçiş
000000c9`7c4bec08 00007ff6`e9d85672 ntdll!NtRaiseHardError+0x14 // Kullanıcı modu üzerinden, NtRaiseHardError fonksiyonunun çağrılması
000000c9`7c4bec10 00007ff6`e9d783ca smss!SmpTerminate+0x7a // Oturum kapatılıyor
000000c9`7c4bec60 00007ff6`e9d77a79 smss!SmpInitializeKnownDllsInternal+0x75a
000000c9`7c4bee30 00007ff6`e9d79917 smss!SmpInitializeKnownDlls+0x129 // KnownDLL'lerin yüklenme süreci
000000c9`7c4beef0 00007ff6`e9d7ca2e smss!SmpLoadDataFromRegistry+0x447 // Kayıt defterinden verileri yüklüyor
000000c9`7c4bf290 00007ff6`e9d71bcd smss!SmpInit+0x40e
000000c9`7c4bf7a0 00007ff6`e9d717ea smss!wmain+0x38d
000000c9`7c4bf8f0 00007ff6`e9d71506 smss!NtProcessStartupW_AfterSecurityCookieInitialized+0x2da // Güvenlik ile ilgili cookie'ler yüklendikten sonra sistem başlatılıyor
000000c9`7c4bf970 00007ff9`fe31cc9f smss!NtProcessStartupW+0x16 // Yeni bir işlem başlatılır. (Sistem açılıyor)
000000c9`7c4bf9a0 00000000`00000000 ntdll!RtlUserThreadStart+0x2f // Yeni bir kullanıcı iş parçacığı başlatılır
Sonuç olarak bu dosya bunları anlatıyor. Spesifik olarak bu hata, bir donanım hatasından da ortaya çıkabilir ama burdaki sorun daha farklı duruyor senin açından çünkü aynı şekilde ekran kartının hatalı olduğu farklı bir dosyan da var. Lütfen yönetim olayları logunu MTA değil EVTX olarak paylaş. Bu şekilde inceleyemem.