İzleme altyapısı güvenli bölgede sayılır — çoğu kurumun kör noktası tam da burası. CVE-2026-23921, Zabbix API’sinde keşfedilen bir kör SQL enjeksiyonu (blind SQL injection) zafiyeti; sıradan, düşük yetkili bir API kullanıcısının zaman tabanlı tekniklerle tüm veritabanını sızdırmasına ve yönetici oturumunu ele geçirmesine kapı aralıyor. ⚠️ Zabbix, dünyada yüz binlerce kurum tarafından ağ ve sunucu izleme amacıyla kullanılan bir platform — Türkiye’deki devlet kurumları, bankalar ve telekom operatörleri dahil. Şimdi sorulması gereken soru şu: Zabbix API’nize kimin erişimi var ve bu erişimi gerçekten denetliyor musunuz?
Zafiyet Nedir? Yüzey Bakışın Ötesinde
CVE-2026-23921, Zabbix’in include/classes/api/CApiService.php dosyasındaki sortfield parametresinin yetersiz doğrulanmasından kaynaklanıyor. Saldırgan bu parametreye keyfi SQL ifadeleri yerleştirerek veritabanı sunucusunu zaman tabanlı yanıtlarla sorgulayabiliyor.
“Kör” ifadesi burada kilit nokta. Klasik SQL enjeksiyonunda sorgu sonuçları doğrudan HTTP yanıtında görünür. Kör SQL enjeksiyonunda ise saldırgan sorgunun doğru mu yanlış mı çalıştığını sadece yanıt süresinden anlıyor. Örneğin veritabanı belirli bir koşul doğruysa 5 saniye bekletiliyorsa, saldırgan bu gecikmeyi ölçerek veri hakkında bit bit bilgi çıkarabiliyor. Yavaş ama etkili — ve tespit edilmesi son derece güç.
Zafiyetin kritik boyutu şurası: istismar için yüksek yetkiye gerek yok. Yalnızca API erişimi olan herhangi bir Zabbix kullanıcısı bu saldırıyı gerçekleştirebilir. Kurumunuzda Zabbix API anahtarı dağıtıldıysa, entegrasyon hesapları oluşturulduysa ya da harici uygulamalar Zabbix ile konuşuyorsa — saldırı yüzeyi düşündüğünüzden çok daha geniş.
Saldırı Zinciri: Düşük Yetkiden Yönetici Hesabına
Bu zafiyetin sömürü akışını adım adım ele alalım:
- Erişim noktası: Saldırgan, API erişimine sahip düşük yetkili bir Zabbix hesabı ediniyor. Bu hesap bir çalışandan ele geçirilmiş olabilir, zayıf parolayla korunan bir servis hesabı olabilir ya da harici bir entegrasyon anahtarı olabilir.
- Kör sorgulama:
sortfieldparametresine zaman tabanlı SQL ifadeleri enjekte ederek veritabanı şemasını keşfediyor. Hangi tablolar var? Hangi sütunlar? Yanıt sürelerini milisaniye hassasiyetiyle ölçerek bu bilgileri çıkarıyor. - Oturum kimliklerini sızdırma: Oturum bilgilerinin tutulduğu tabloya ulaştıktan sonra aktif yönetici oturumlarının kimlik bilgilerini (session identifier) sızdırıyor.
- Yönetici ele geçirme: Ele geçirilen oturum kimliği ile Zabbix web arayüzüne yönetici olarak giriş yapıyor. Artık tüm izleme altyapısı — ağ haritaları, host bilgileri, kimlik bilgileri, uyarı kuralları — saldırganın elinde.
🔧 Bu zincirin en sinsi tarafı şu: her adım tek başına “normal” görünüyor. API çağrıları meşru kullanıcıdan geliyor, yanıt süreleri biraz uzun ama alarm eşiğinin altında kalabiliyor, oturum açma kaydı gerçek bir oturuma ait görünüyor. Geleneksel imza tabanlı tespit burada yetersiz kalır.
Kimin İçin Ne Kadar Kritik?
Zabbix’i sadece küçük ya da orta ölçekli kurumların kullandığını düşünmek yanıltıcı olur. Açık kaynak ve kurumsal lisans seçenekleriyle büyük ölçekli kurumlar da dahil olmak üzere pek çok farklı yapıda yaygın biçimde kullanılıyor. Türkiye özelinde değerlendirdiğimizde:
- Kamu kurumları: NOC (ağ operasyon merkezi) altyapısında Zabbix kullanan kurumlar için bu zafiyet, tüm ağ topolojisinin sızdırılması anlamına gelebilir.
- Finans sektörü: Bankacılık altyapısında izleme aracı olarak kullanılan Zabbix örnekleri, kritik sistem bilgilerini barındırıyor olabilir.
- MSP ve SOC hizmet sağlayıcıları: Birden fazla müşteri altyapısını tek Zabbix örneğiyle izleyen yapılarda bir hesabın ele geçirilmesi, tüm müşteri tabanını riske atabilir.
- Endüstriyel tesisler: OT/ICS ağlarını izlemek için Zabbix kullanan enerji, üretim ve su altyapıları için risk özellikle yüksek.
MITRE ATT&CK çerçevesinde bu saldırı birkaç teknikle örtüşüyor:
- T1190 – Exploit Public-Facing Application (Herkese Açık Uygulama İstismarı): Zabbix API’si genellikle ağ içinden erişilebilir konumda.
- T1078 – Valid Accounts (Geçerli Hesaplar): Oturum kimliği ele geçirildikten sonra saldırgan geçerli bir kimlikle hareket ediyor.
- T1555 / T1212 – Credential Access (Kimlik Bilgisi Erişimi): Veritabanından oturum ve kimlik bilgilerinin sızdırılması.
- T1005 – Data from Local System (Yerel Sistemden Veri): Veritabanı içeriğinin zaman tabanlı kanaldan dışarı aktarılması.
Wazuh ile Tespit: Zaman Tabanlı Saldırıyı Yakalamak
📊 Kör SQL enjeksiyonunu tespit etmek zordur çünkü kötü amaçlı trafik meşru API çağrılarına benzer. Ancak Wazuh üzerinde birkaç katmanlı yaklaşımla bu saldırıyı erken aşamada yakalamak mümkün.
1. Zabbix API günlüklerini Wazuh’a beslemek
Öncelikle Zabbix’in API erişim günlüklerini Wazuh ajanı üzerinden toplamak gerekiyor. /etc/zabbix/zabbix_server.conf dosyasında günlük kaydı seviyesini artırın ve Wazuh ajanının bu dosyayı izlemesini sağlayın:
# /var/ossec/etc/ossec.conf içine ekleyin (Wazuh agent)
<localfile>
<log_format>syslog</log_format>
<location>/var/log/zabbix/zabbix_server.log</location>
</localfile>
# Zabbix web sunucusu (Apache/Nginx) erişim günlüğü için
<localfile>
<log_format>apache</log_format>
<location>/var/log/nginx/zabbix_access.log</location>
</localfile>
2. sortfield parametresinde şüpheli içerik tespiti için özel Wazuh kuralı
<!-- /var/ossec/etc/rules/zabbix_sqli_rules.xml -->
<group name="zabbix,sqli,web,">
<!-- Zabbix API POST isteklerinde SQL zaman fonksiyonu tespiti -->
<rule id="100501" level="12">
<if_group>web|accesslog</if_group>
<url>/api_jsonrpc.php</url>
<regex type="pcre2">(?i)(sleep\s*\(|benchmark\s*\(|pg_sleep\s*\(|waitfor\s+delay)
3. Başarılı oturum ele geçirme sonrası davranış tespiti için FIM kuralı
Zabbix konfigürasyon dosyaları ve yönetici eylemlerini Wazuh FIM (Dosya Bütünlüğü İzleme) ile takip etmek, oturum ele geçirme sonrası yapılan değişiklikleri yakalamaya yardımcı olur:
# /var/ossec/etc/ossec.conf içine ekleyin
<syscheck>
<!-- Zabbix konfigürasyon degişikliklerini izle -->
<directories check_all="yes" realtime="yes" report_changes="yes">
/etc/zabbix/
</directories>
<!-- Zabbix veritabani dizinini izle -->
<directories check_all="yes" realtime="yes">
/var/lib/zabbix/
</directories>
</syscheck>
🛡️ Ne Yapmalısınız? Öncelikli Aksiyon Listesi
- Zabbix sürümünüzü hemen kontrol edin. Zabbix'in resmi güvenlik duyurularını takip edin ve mevcut sürümünüzün etkilenip etkilenmediğini doğrulayın. Etkilenen sürümdeyseniz güvenlik yamasını vakit kaybetmeden uygulayın. "İzleme sistemi kimse saldırmaz" varsayımı sizi bu kez yanıltabilir.
- API erişimini en az ayrıcalık ilkesiyle yeniden yapılandırın. Zabbix API'sine kimlerin erişimi olduğunu listeleyin. Servis hesaplarının, entegrasyon anahtarlarının ve kullanıcıların yalnızca işleri için gereken minimum yetkiye sahip olduğundan emin olun. Kullanılmayan API hesaplarını devre dışı bırakın.
- Zabbix API'sini ağ katmanında izole edin. Mümkünse Zabbix API erişimini yalnızca belirli kaynak IP adreslerinden gelecek şekilde güvenlik duvarı ya da ağ erişim kontrol listesiyle sınırlayın. API'nin genel internete açık olması kabul edilemez bir risk.
- Yukarıdaki Wazuh kurallarını devreye alın ve test edin. Kör SQL enjeksiyonunu tespit etmek için belirtilen kurallara ek olarak API günlüklerindeki yanıt süresi anomalilerini izleyin. Normalden uzun süren API yanıtları, zaman tabanlı saldırının göstergesi olabilir.
- Aktif Zabbix oturumlarını geçersiz kılın. Yamayı uygulamadan önce ya da etkilenme ihtimaliniz varsa tüm aktif Zabbix oturumlarını sonlandırın ve kullanıcılardan yeniden oturum açmalarını isteyin. Yönetici hesaplarının parolalarını değiştirin.
- Zabbix veritabanı erişimini uygulama katmanıyla sınırlayın. Zabbix'in veritabanı kullanıcısının yalnızca gerekli tablolara erişimi olmalı; tam veritabanı yöneticisi yetkisiyle çalışmamalı. Bu, zafiyetin sömürülmesi durumunda hasarı sınırlar. Biz kurumda bu ayrıştırmayı standart hale getirdik — SQL enjeksiyonu olsa bile saldırgan tüm şemaya değil yalnızca Zabbix tablolarına erişebiliyor.
Son bir not: İzleme sistemleri güvenlik açısından çoğunlukla göz ardı edilen bir alan. Oysa Zabbix gibi araçlar, altyapınızın tamamını görebilen, kimlik bilgilerini bilen ve ağ haritanızı tutan sistemler. Bir saldırgan için mükemmel keşif ve yanal hareket (lateral movement) platformu. Tek Eksik Parametre, Tam Yönetici Yetkisi: Blinko CVE-2026-23480 yazısında da benzer bir örüntüyü incelemiştik — düşük yetkiden yönetici hesabına ulaşma zinciri, burada da aynı şekilde işliyor.
Orijinal kaynak: https://nvd.nist.gov/vuln/detail/CVE-2026-23921
Bir Cevap Yazın