9 Aralık 2025 tarihinde, Microsoft Güvenlik Yanıt Merkezi (MSRC) aylık "Salı Yaması" sırasında bir bomba patlattı: kritik bir Windows PowerShell'de 0 Günlük Güvenlik Açığıolarak izlenir. CVE-2025-54100.
ile CVSS puanı 7.8 (Yüksek)Bu güvenlik açığı, eski sunuculardan en son Windows 11 yapılarına kadar Windows ekosisteminin büyük bir bölümünü etkilemektedir. PowerShell işletim sistemi yapısına derinlemesine entegre edildiğinden, bu açık saldırganlara tehlikeli bir "Arazide Yaşama" (LotL) fırsatı sunarak güvenilir, yerel sistem araçlarını kullanarak kötü amaçlı kod çalıştırmalarına olanak tanır.
İster bir sunucu çiftliğini yöneten bir SysAdmin ister bir güvenlik araştırmacısı olun, bu yamayı görmezden gelmek bir seçenek değildir. Bu kılavuz, hatanın teknik bir dökümünü, resmi yama matrisini ve komut dosyalarınızın güvenli bir şekilde çalışmasını sağlamak için gerekli kod yeniden düzenlemesini sağlar.
Windows PowerShell 0-Day CVE-2025-54100
Teknik Derin Dalış: CVE-2025-54100'ün Mekaniği
Bu sorunun ciddiyetini anlamak için altta yatan zayıflığa bakmalıyız: CWE-77 (Bir Komutada Kullanılan Özel Unsurların Uygunsuz Şekilde Etkisiz Hale Getirilmesi).
Güvenlik Açığı Mantığı
Temel sorun, Windows PowerShell'in kullanıcı girdisini komut satırı yorumlayıcısına aktarmadan önce nasıl temizlediğinde yatmaktadır. Bir uygulama veya komut dosyası, uygun filtreleme olmadan güvenilmeyen girdiyi kullanarak bir PowerShell komutu oluşturduğunda, aşağıdakilere kapı açar Komut Enjeksiyonu.
Saldırı Senaryosu (Kavramsal Kavram Kanıtı)
Yasal Uyarı: Aşağıdaki kod yalnızca eğitim amaçlıdır.
Kullanıcı girdisine dayalı olarak günlük dosyalarını okumak için tasarlanmış meşru bir yönetim betiği düşünün:
PowerShell
`# HASSAS PATTERN $UserInput = Read-Host "Günlük dosya adını girin"
Microsoft acil durum güvenlik güncelleştirmelerini yayınladı. BT Yöneticileri aşağıdaki KB'leri WSUS, SCCM veya manuel indirme yoluyla derhal önceliklendirmelidir.
İşletim Sistemi Sürümü
Ciddiyet
Kritik KB Yama Kimliği
Dağıtım Notları
Windows Server 2025
Yüksek
KB5072033
Yeniden Başlatma Gerektirir
Windows 11 (24H2 / 25H2)
Yüksek
KB5074204
Kümülatif Güncelleme
Windows Server 2022
Yüksek
KB5074204
Öncelikli Kurulum
Windows Server 2019
Yüksek
KB5074353
–
Windows 10 (22H2)
Yüksek
KB5071546
Yalnızca güvenlik güncellemesi mevcut
Windows Server 2012 R2
Orta
KB5071544
Yalnızca ESU (Genişletilmiş Destek)
Kritik Uyarı: Bu yama çekirdek PowerShell ikili dosyalarını değiştirdiğinden, sistemin yeniden başlatılması zorunludur. Hizmet kesintilerini önlemek için bakım pencerelerini buna göre planladığınızdan emin olun.
"Gotcha": Yama Sonrası Bozuk Komut Dosyalarını Düzeltme
Güvenlik genellikle kolaylık pahasına gelir. CVE-2025-54100 için güncellemeler (özellikle KB5074204 ve KB5074353) web istekleri üzerinde daha sıkı güvenlik kontrolleri getirmektedir.
Sorun: Invoke-WebRequest Arızalar
Yamadan sonra, otomasyon komut dosyalarınızın aşağıdaki hata ile başarısız olduğunu fark edebilirsiniz:
"Internet Explorer motoru mevcut olmadığından veya Internet Explorer'ın ilk başlatma yapılandırması tamamlanmadığından yanıt içeriği ayrıştırılamıyor."
Bunun nedeni Microsoft'un saldırı yüzeyini azaltmak için PowerShell ile eski Internet Explorer ayrıştırma motoru arasındaki bağlantıyı nihayet kesmesidir.
Düzeltme: Kod Yeniden Düzenleme
DOM ayrıştırması için IE'ye güvenmeyi bırakmak için komut dosyalarınızı güncellemelisiniz. Çözüm, DOM ayrıştırması için Temel Ayrıştırma Mod.
Kırık Kod (Legacy)
PowerShell
# Bu, artık kısıtlanmış veya kaldırılmış olan IE motoruna dayanır $response = Invoke-WebRequest -Uri "" Write-Output $response.Content
Güvenli Kod (En İyi Uygulama)
PowerShell
# Hız, güvenlik ve uyumluluk için -UseBasicParsing anahtarını ekler $response = Invoke-WebRequest -Uri "" -UseBasicParsing Write-Output $response.Content
Yöneticiler için Profesyonel İpucu:
Kod havuzunuzu taramak için IDE'nizde (VS Code / ISE) bir regex araması kullanın:
Bul:Invoke-WebRequest\\s+(?!.*-UseBasicParsing)
Eylem: Ekleme UseBasicParsing bu örneklere.
Derinlemesine Savunma: Yamanın Ötesinde
Yamalama reaktiftir. Gelecekteki 0 günlere karşı korunmak için PowerShell için bir "Derinlemesine Savunma" stratejisi benimsemelisiniz.
A. Kısıtlı Dil Modunu Zorla
Yönetici olmayan kullanıcılar için PowerShell şu konumda çalıştırılmalıdır Kısıtlı Dil Modu. Bu, Windows API'lerini çağırma veya rastgele .NET kodu derleme yeteneğini ciddi şekilde sınırlar.
PowerShell
`# Geçerli modunuzu doğrulayın $ExecutionContext.SessionState.LanguageMode
Standart kullanıcılar için hedef çıktı: ConstrainedLanguage`
B. Komut Dosyası Bloğu Günlüğünü Etkinleştir
Saldırganlar PowerShell'i severler çünkü bellekte çalışır (dosyasız). Onları yakalamak için, çalıştırılan gerçek kodu günlüğe kaydetmelisiniz.
GPO Yolu:Bilgisayar Yapılandırması > Yönetim Şablonları > Windows Bileşenleri > Windows PowerShell > PowerShell Komut Dosyası Bloğu Günlüğünü Aç.
C. SIEM Algılama Kuralları
Potansiyel istismar girişimlerini işaretlemek için SOC izleme kurallarınızı güncelleyin:
Süreç Hiyerarşisi: Eğer uyarı powershell.exe Office uygulamaları (Word, Excel) tarafından ortaya çıkarılmıştır.
Şüpheli Tartışmalar: Ağır bir şekilde gizlenmiş komutları veya EncodedCommand.
Olay Kimliği 4104: Kod bloğu günlüklerini aşağıdaki gibi anahtar kelimeler için tarayın Invoke-Expression veya IEX şebeke çağrıları ile birlikte.
CVE-2025-54100'ün ifşa edilmesi çarpıcı bir hatırlatma işlevi görmektedir: Kimlik ve Konfigürasyon yeni perimetre. Acil çözüm Aralık KB'lerini (KB5072033/KB5074204) uygulamak olsa da, uzun vadeli çözüm ortamınızı yerel araçların kötüye kullanımına karşı güçlendirmektir.
Eylem Planınız:
Denetim: Ağınızı yamalanmamış Windows uç noktaları için tarayın.
Yama: Aralık güvenlik güncellemelerini hemen dağıtın.
Yeniden düzenle: Otomasyon komut dosyalarınızı kullanmak için güncelleyin UseBasicParsing.