PHP2Shell adıyla anılan kritik güvenlik açığı, PHP altyapısını Windows işletim sistemi üzerinde CGI yöntemiyle çalıştıran sunucuları doğrudan hedef haline getirdi. Açığın kötüye kullanılması halinde saldırganlar, özel olarak hazırlanmış HTTP istekleri üzerinden sunucuda yetkisiz komutlar çalıştırabilir, web sitelerinin içeriklerini değiştirebilir veya sistemdeki diğer kaynaklara erişim sağlamaya çalışabilir.
İnternet sitelerinin önemli bölümünde kullanılan PHP, sunucu tarafında çalışan açık kaynaklı bir programlama dili olarak biliniyor. İçerik yönetim sistemleri, e-ticaret platformları, müşteri panelleri, banka dışı finans uygulamaları ve kurumsal web servisleri PHP tabanlı olabiliyor. Bu nedenle güvenlik açığı yalnızca tek bir yazılımı değil, farklı üreticilerin geliştirdiği ve aynı altyapıyı kullanan çok sayıda sistemi etkileyebilecek bir risk oluşturuyor.
Hedefte Windows üzerindeki PHP CGI yapılandırmaları var
Güvenlik araştırmacılarının CVE-2024-4577 koduyla ilişkilendirdiği açık, PHP’nin Windows sistemlerde CGI olarak çalıştırıldığı yapılandırmalarda ortaya çıkıyor. Sorun, bazı karakterlerin işletim sistemi tarafından yorumlanma biçiminden yararlanarak PHP komut satırı parametrelerinin saldırgan tarafından manipüle edilebilmesine dayanıyor.
Bu yöntemle hazırlanan bir istek, sunucunun normal bir web talebi gibi görünürken arka planda işletim sistemine komut iletilmesine yol açabiliyor. Saldırganın elde edebileceği yetkinin kapsamı, web sunucusunun hangi kullanıcı hesabıyla çalıştığına ve sistemde uygulanan erişim izinlerine göre değişiyor. Yetkiler genişse güvenlik ihlalinin etkisi de büyüyor.
Her PHP sunucusu aynı ölçüde risk altında değil
PHP kullanan her internet sitesi otomatik olarak savunmasız kabul edilmiyor. Açığın özellikle Windows işletim sistemi üzerindeki PHP CGI kurulumlarıyla bağlantılı olduğu belirtiliyor. Apache veya IIS gibi web sunucularının PHP’yi hangi yöntemle çalıştırdığı, kullanılan PHP sürümü, işletim sisteminin dil ve karakter ayarları ile güvenlik duvarı kuralları risk seviyesini belirleyen unsurlar arasında yer alıyor.
PHP-FPM ya da farklı bir sunucu tarafı yapılandırması kullanan sistemler aynı saldırı yolundan etkilenmeyebilir. Bu durum, yöneticilerin yalnızca PHP sürüm numarasına bakmasının yeterli olmadığı anlamına geliyor. Sunucunun çalışma biçimi, etkin modüller, web sunucusu ayarları ve dışarıya açık servisler birlikte incelenmeli.
Güncellenmemiş sistemlerde saldırı zinciri büyüyebilir
Bir saldırganın ilk hedefi çoğu zaman doğrudan veri tabanı olmayabilir. Web sunucusunda komut çalıştırma yetkisi elde edilmesi, kötü amaçlı dosyaların yüklenmesi, yönetici hesaplarının ele geçirilmesi, trafik yönlendirmesi yapılması veya aynı ağdaki diğer cihazların taranması için başlangıç noktası oluşturabilir.
Kurumsal sistemlerde PHP sunucusunun ödeme altyapısına, müşteri kayıtlarına veya şirket içi uygulamalara erişebilmesi, açığın etkisini artırıyor. Bankacılık sistemlerinin tamamının PHP ile çalıştığı ya da tek bir açık nedeniyle tüm bankaların doğrudan ele geçirilebileceği yönündeki yorumlar gerçeği yansıtmıyor. Risk, her kurumun kullandığı yazılım mimarisi ve ağ segmentasyonuna göre değişiyor.
Yetkililer ulusal tarama başlattı
Memurlar.Net’in aktardığı bilgilere göre Siber Güvenlik Başkanlığı, PHP2Shell açığına karşı ulusal ölçekte tarama süreci başlattı. Çalışmanın amacı, kamuya açık IP adresleri üzerinde savunmasız PHP kurulumlarının belirlenmesi ve ilgili kurumların gerekli yamaları uygulaması olarak aktarılıyor.
Bu tür taramalar, sistem sahiplerine bildirim gönderilmesini ve internete açık sunucuların risk durumunun daha hızlı görülmesini sağlayabiliyor. Tarama sonuçlarının bir sistemin kesin olarak saldırıya uğradığını göstermediği, yalnızca belirli bir yazılım sürümü veya yapılandırmanın dışarıdan erişilebilir olduğunu ortaya koyduğu belirtiliyor. Kurumların bildirimleri teknik ekipleriyle değerlendirmesi gerekiyor.
Yöneticilerin kontrol listesinde hangi adımlar var?
DonanımHaber, Yeni Şafak, İndigo Dergisi ve Ekonomim’de yer alan değerlendirmelerde ortak uyarı, PHP sürümünün resmi olarak yayımlanan güvenlik güncellemeleriyle desteklenen bir sürüme yükseltilmesi yönünde. Yama uygulanmadan önce üretim sistemlerinin yedeği alınmalı, güncelleme mümkünse test ortamında denenmeli ve işlem sonrasında web uygulamalarının çalışması kontrol edilmeli.
- PHP sürümü ve Windows işletim sistemi yapılandırması tespit edilmeli.
- PHP’nin CGI olarak çalışıp çalışmadığı incelenmeli.
- Üreticinin yayımladığı güvenlik güncellemeleri uygulanmalı.
- Gerekli değilse CGI kullanımı devre dışı bırakılmalı veya daha güvenli bir yapılandırmaya geçilmeli.
- Web sunucusunun yetkileri en düşük seviyeye indirilmeli.
- Gelen istekler, hata kayıtları ve olağandışı komut çalıştırma belirtileri incelenmeli.
- Güvenlik duvarı ve erişim listeleriyle yönetim panelleri internetten sınırlandırılmalı.
Yama sonrasında log incelemesi önem taşıyor
Güncellemenin yapılması, daha önce gerçekleşmiş olabilecek saldırıların otomatik olarak ortadan kalktığı anlamına gelmiyor. Sistem yöneticilerinin web sunucusu kayıtlarında şüpheli parametreler, olağandışı PHP dosyaları, beklenmeyen dış bağlantılar ve kısa süre içinde artan hata kayıtları araması gerekiyor.
Şüpheli bir belirti görülmesi halinde sunucu ağdan izole edilmeli, kullanıcı parolaları ve erişim anahtarları yenilenmeli, çalışan süreçler ile dosya bütünlüğü incelenmeli. Olayın kamu kurumlarını veya kişisel verileri etkilemesi durumunda kurumun olay müdahale prosedürleri işletilmeli. Siber Güvenlik Başkanlığı’nın tarama süreciyle birlikte yöneticilerin kendi sistemlerinde yapacağı teknik kontroller, PHP2Shell riskinin azaltılmasında belirleyici olacak.