CVE-2021-27877: Veritas Backup Exec Agent Improper Authentication Vulnerability
Zorluk Seviyesi: Orta | Kaynak: CISA KEV
Zafiyet Analizi ve Giriş
Veritas Backup Exec (BE) Agent'deki CVE-2021-27877 zafiyeti, günümüzde siber güvenlik alanında önemli bir konu haline gelmiştir. Bu zafiyet, BE Agent uygulamasının, SHA (Secure Hash Algorithm) doğrulama şemasını kullanarak yetersiz bir kimlik doğrulaması gerçekleştirmesi nedeniyle ortaya çıkmaktadır. Bu durum, saldırganların yasal kullanıcı erişimini taklit ederek BE Agent'a yetkisiz erişim sağlamasına olanak tanır. Yani, kimlik doğrulama mekanizması zayıf olduğu için, kötü niyetli bir aktör sistem üzerinde hakimiyet kurabilir.
Zafiyetin ortaya çıkması, 2021 yılına dayanıyor. Veritas, yedekleme ve kurtarma çözümleri sunan bir firma olarak, sonuçları itibarıyla geniş bir müşteri tabanına sahiptir. CVE-2021-27877, potansiyel olarak birçok sektördeki kuruluşları etkileyebilir; özellikle de finans, sağlık, eğitim ve devlet gibi veri hassasiyeti yüksek olan alanlar için ciddi bir tehdit oluşturuyor. Bu tür bir zafiyet, veri ihlali, yetkisiz veri erişimi veya veri bütünlüğünde bozulmalara yol açabilir.
Zafiyetin detaylarına baktığımızda, BE Agent yazılımında bulunan SHA esaslı kimlik doğrulama algoritmasının düzgün çalışmaması dikkat çekmektedir. İlgili kütüphanenin kullandığı doğrulama sürecindeki hatalar, saldırganların kimlik bilgileri olmadan sistemi ele geçirmelerine olanak tanımaktadır. Bu durumda, saldırganların sistemdeki yedekleme kayıtlarına erişim sağlaması, kritik verilerin tehdit altında kalmasına neden olur. Aşağıda örnek bir kod bloğu ile bir kimlik doğrulama zafiyetinin nasıl kötüye kullanılabileceğini gösterebiliriz:
import requests
url = "http://hedef_sunucu/rest/authenticate"
payload = {"username": "admin", "password": "şifre"}
response = requests.post(url, json=payload)
if response.status_code == 200:
print("Başarılı giriş testi: Yetkisiz erişim sağlandı!")
else:
print("Giriş başarılı değil.")
Bu örnekteki gibi bir zafiyetten faydalanan bir saldırgan, yetkisiz bir şekilde oturum açabilir ve sistemde bulunan tüm verilere ulaşabilir. Sadece sistem üzerinde değil, aynı zamanda ağ üzerinde de ciddi bir tehlike oluşturabilir. Bu durum, bir Remote Code Execution (Uzak Kod Yürütme) saldırısına (RCE) zemin hazırlayarak, kötü niyetli yazılımlar yüklenmesine veya daha fazla sisteme saldırıya yol açabilir.
Görünüşe göre, Veritas temelli sistemlerdeki bu zafiyet, çeşitli kullanıcıların sistemlerini etkilemiş ve siber güvenlik alanında önemli bir bilinç oluşturmuştur. Kuruluşlar, bu tür zafiyetlerin farkında olmalı ve zamanında güncellemeler yaparak kendilerini korumalıdır. Güvenlik yamalarının uygulanması ve erişim kontrollerinin sıkılaştırılması, bu tür zafiyetlerin etkilerini azaltmak için kritik öneme sahiptir.
Sonuç olarak, CyberFlow gibi platformlar, zafiyet analizi ve sızma testleri ile ağlarını korumak isteyen kuruluşlar için değerli araçlar sunmaktadır. Zafiyetin niteliği ve potansiyel etkileri göz önüne alındığında, bu tür güvenlik açıklarının değerlendirilmesi ve kapatılması büyük bir gereklilik haline gelmiştir.
Teknik Sömürü (Exploitation) ve PoC
Veritas Backup Exec Agent'ında bulunan CVE-2021-27877 zafiyeti, kötü niyetli kullanıcıların sistem üzerinden yetkisiz erişim elde etmesine olanak tanıyan bir kimlik doğrulama (auth bypass / yetki atlama) zayıflığıdır. Bu tür bir zafiyet, siber güvenlik açısından ciddi tehditler oluşturabilir. Her ne kadar bu tür bir zafiyetin etik hackerlar tarafından kötüye kullanılmaması gerektiği bilinse de, siber güvenlik alanında bilgi edinmek ve sistemlerin sağlamlığını artırmak adına öğrenim amaçlı keşifler yapılması elzemdir.
CVE-2021-27877 zafiyetinin sömürü aşamalarını adım adım inceleyelim.
İlk olarak, zafiyetin temelini anlayabilmemiz için Veritas Backup Exec Agent’ın nasıl çalıştığını bilmemiz gerekiyor. Bu ürün, ağ üzerinden veri yedekleme işlemlerini yönetmek için kullanılan bir yazılım çözümüdür. Yapılandırma aşamasında, özellikle SHA (Secure Hash Algorithm) kimlik doğrulama şemasını kullanmaktadır. Ancak, bu şemanın yanlış uygulanması, bir intrüzyon ortamında kimlik doğrulama zafiyetine yol açmaktadır.
- Ağ Taraması: İlk adımda, bir ağ tarayıcı (örneğin Nmap) kullanarak hedef sistemin açık portlarını tespit etmeliyiz. Veritas Backup Exec genelde 10000 gibi yüksek portlarda çalışmaktadır. Aşağıdaki komut ile hedef sistem üzerindeki açık portları tespit edelim:
nmap -sS -p 10000 <Hedef_IP>
- HTTP İstekleri ile Doğrulama: Hedef port açık ise, ora üzerinden HTTP istekleri göndererek kimlik doğrulama mekanizmasını deneyebiliriz. Şu örnek istekte olduğu gibi, öncelikle bir GET isteği gönderilebilir:
GET /backup_exec HTTP/1.1
Host: <Hedef_IP>:10000
Eğer yanıt başarılı olursa, sistem üzerinde çalıştırılacak diğer talimatlar için yetkisiz erişim sağlamış olabiliriz.
- Yetkisiz Erişim Sağlama: Şimdi, hedef sistemde SHA kimlik doğrulama işlemini manipüle ederek yetkisiz erişim sağlamaya çalışalım. Bunu sağlamak için, belirli alanları doğru doldurmalı ve bir "auth bypass" (yetki atlama) tekniği uygulamalıyız. Aşağıda örnek bir POST isteği mevcut:
POST /backup_exec/authenticate HTTP/1.1
Host: <Hedef_IP>:10000
Content-Type: application/x-www-form-urlencoded
username=admin&password=<SHA_Hash>
Bu istekle, bir saldırgan kimlik doğrulama aşamasında doğru olmayan bir şifre hash’i ile yetkisiz erişim talep edebilir. Eğer sistem ayrıca uygun bir hata durumu dönmezse, bu durum kötüye kullanıma açıktır.
- Python Exploit Taslağı: Daha da derinleşmek için basit bir Python exploit taslağı geliştirebiliriz:
import requests
target_url = "http://<Hedef_IP>:10000/backup_exec/authenticate"
payload = {
'username': 'admin',
'password': '<SHA_Hash>'
}
response = requests.post(target_url, data=payload)
if response.status_code == 200:
print("Başarılı giriş!")
else:
print("Giriş başarısız.")
Bu adımların her biri ayrı önem taşımaktadır ve zafiyetin gerçek dünyada nasıl kullanılabileceği hakkında bilgi vermektedir. Ancak bu tür bir zafiyetin etik hackerlar tarafından sadece öğrenim amaçlı test edilmesi gerektiği unutulmamalıdır. İzinsiz erişim ve kötüye kullanımlar, yasalarla ciddi şekilde cezalandırılabilir. Yapmamız gereken en önemli şey, sistem güvenliğini artırmak için bu tür zayıflıkları anlamak ve uygun düzeltmeler yapmaktır.
Forensics (Adli Bilişim) ve Log Analizi
Veritas Backup Exec Agent, kritik veri yedekleme ve yönetim çözümleri sunan bir yazılımdır. Ancak, bu çözümdeki CVE-2021-27877 numaralı zafiyet, kötü niyetli kişilerin yetkisiz erişim elde etmesine olanak tanıyabilir. Özellikle, SHA (Secure Hash Algorithm) doğrulama girişimi üzerinden yapılan yanlış kimlik doğrulama, saldırganların sisteme sızmasına ve SQL enjeksiyonu, servis kesintisi gibi uçtan uca saldırılara zemin hazırlayabilir.
Siber güvenlik uzmanları, bu tür bir zafiyetten kaynaklanan saldırıları, SIEM (Security Information and Event Management) sistemleri veya log dosyaları aracılığıyla tespit edebilir. Özellikle, Access log ve error log dosyalarındaki belirli imzalara (signature) dikkat edilmesi gerekmektedir. Örneğin, yetkisiz erişim girişimlerini tespit etmek için aşağıdaki kriterleri incelemek faydalı olacaktır:
Başarısız Oturum Açma Denemeleri: Log dosyalarında, belirli bir süre içinde çok sayıda başarısız oturum açma girişimi (login attempt) kaydı bulunuyorsa, bu durum saldırganların brute force (kör kuvvet) ile sisteme sızmaya çalıştığı anlamına gelebilir. Örneğin, aşağıdaki kod parçasında bu tür girişimlerin filtrelenmesi için bir örnek verilmiştir:
SELECT * FROM access_logs WHERE status = 'failed' AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 HOUR) GROUP BY user_id HAVING COUNT(*) > 5;Anomalik Davranışlar: Normalde belirli bir IP adresinden az sayıda erişim talebi gelen bir sisteme, aynı IP adresinden bilindik zaman dilimleri dışında yüksek sayıda talep gelmesi, yetkisiz bir erişim girişiminin belirtisi olabilir. Log analizi için şöyle bir sorgu yazılabilir:
SELECT ip_address, COUNT(*) AS request_count FROM access_logs WHERE timestamp BETWEEN '2023-01-01' AND '2023-01-02' GROUP BY ip_address HAVING request_count > 100;SHA Kimlik Doğrulama Girişimleri: Log dosyalarında, SHA kimlik doğrulama girişimleri ile ilgili herhangi bir hata veya beklenmedik durum notları dikkatle incelenmelidir. Örneğin, yanlış bir SHA anahtarının kullanıldığına dair hatalar, potansiyel bir saldırının belirtisi olabilir.
Sistem Hataları: Error log dosyalarında, beklenmedik ve sistemin normal çalışmasını etkileyen hatalar (örneğin, "authentication failed" mesajları) gözlemleniyorsa, bu tür hataların kaynağı araştırılmalıdır. Aşağıdaki SQL sorgusu bu hataları incelemek için kullanılabilir:
SELECT * FROM error_logs WHERE error_message LIKE '%authentication failed%' AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY;Yeni Kullanıcı Hesapları: Eğer aniden tanımadığınız bir kullanıcı hesabı oluşturulmuşsa, bu da potansiyel bir sıfır gün açığı kullanılarak gerçekleşmiş bir saldırının belirtisi olabilir. Log dosyalarındaki kullanıcı oluşturma (user creation) etkinliklerinde olağan dışı bir artış varsa, bu durumu incelemek önemlidir.
Sonuç olarak, bir siber güvenlik uzmanı olarak Veritas Backup Exec Agent'taki CVE-2021-27877 zafiyetini anlamak ve tespit etmek için, sistem loglarının titizlikle analizi gereklidir. Sahte oturum açma girişimlerinin, şifre hatalarının veya beklenmedik kullanıcı etkinliklerinin izlenmesi, olası saldırıların önüne geçmek için büyük önem taşır. Güncel güvenlik yamalarının ve koruma sistemlerinin uygulanması; potansiyel saldırıları önceden engellemek adına kritik bir adımdır.
Savunma ve Sıkılaştırma (Hardening)
Veritas Backup Exec (BE) Agent içindeki CVE-2021-27877 zafiyeti, kötü niyetli kullanıcıların SHAk (SHA) kimlik doğrulama mekanizmasını bypass ederek (atlatma) sisteme yetkisiz erişim sağlamalarına olanak tanımaktadır. Bu tür bir zafiyet, özellikle veri yedekleme ve kurtarma süreçlerinin kritik olduğu ortamlarda büyük tehditler oluşturabilir. Bu nedenle, BU zafiyeti önlemek ve sistemlerin güvenliğini sağlamak adına çeşitli savunma ve sıkılaştırma (hardening) yöntemlerine başvurmak gerekmektedir.
Birincil önlem olarak, Veritas Backup Exec güncellemelerinin düzenli olarak kontrol edilmesi ve en son güvenlik yamalarının uygulanması önerilmektedir. Yazılım tedarikçileri, zamanla ortaya çıkan zafiyetlere karşı düzenli güncellemeler sağlarlar ve bu güncellemeleri uygulamak, sisteminizin güvenliğini önemli ölçüde artırabilir. Kullanıcı, güvenlik güncellemelerinin yanı sıra varsayılan kimlik bilgilerini değiştirmelidir. Bu, yetkisiz erişimi engellemenin en temel yollarından biridir.
Aynı zamanda, sistem araştırmalarında kullanılan çeşitli uygulamaların güvenliğinde sıkılaştırma önlemleri de önemlidir. Örneğin, aşağıdaki güvenlik ayarları uygulanabilir:
Ağ Segmentasyonu: Yedekleme işlemlerinin yapıldığı ağ segmentinin diğer kritik sistemlerden ayrılması, saldırganların erişimini sınırlamak adına güçlü bir savunma mekanizmasıdır. Bu şekilde, bir sistemde gerçekleşebilecek bir sızma durumu, diğer sistemlere sıçramayacaktır.
Güvenlik Duvarı Kuralları (Firewall): Zafiyetin yayılmasını önlemek için veri akışını izlemek ve kontrol etmek amacıyla ek güvenlik duvarı kuralları uygulanabilir. Örneğin, aşağıdaki gibi bir kural ile yalnızca belirli IP adreslerine izin verilebilir:
iptables -A INPUT -s allowed_ip_address -j ACCEPT
iptables -A INPUT -p tcp --dport port_number -j REJECT
Bu, yalnızca belirlenen güvenilir IP adreslerinin belirli portlara erişimine izin verirken diğer tüm istekleri bloklayacaktır.
- WAF (Web Application Firewall) kullanımı: WAF, uygulama katmanında gerçekleşen saldırılara karşı koruma sağlamak için yapılandırılabilir. Örneğin, özellikle Auth Bypass (Kimlik Doğrulama Atlatma) saldırılarına karşı koruma sağlamak amacıyla, aşağıdaki gibi bir kural oluşturulabilir:
<rule>
<request>
<check-method method="POST" />
<check-parameter name="username" />
</request>
<action>deny</action>
</rule>
Bu kural, POST isteklerinde belirli parametrelerin kontrol edilmesine ve şüpheli girişimlerin engellenmesine olanak tanır.
Kayıt ve İzleme: Sistemde düzenli olarak kayıt (log) tutmak, gerçekleşen erişim denemelerini analiz etmek ve anomali tespiti yapmak için gereklidir. Kullanıcıların hangi IP'lerden sisteme giriş yapıldığını takip etmek, potansiyel tehditleri zamanında tespit etmenin en etkili yollarından biridir.
MFA (Multi-Factor Authentication -çok aşamalı kimlik doğrulama) Mümkünse sistemde çok aşamalı kimlik doğrulama mekanizmalarının devreye sokulması, yetkisiz erişimlerin önlenmesi konusunda son derece etkilidir. Kötü niyetli bir kullanıcının yalnızca bir kimlik bilgisiyle sisteme erişim sağlamasını zorlaştıracaktır.
Sonuç olarak, CVE-2021-27877 zafiyetini minimize etmek adına uygulanacak bu önlemler, organizasyonların veri güvenliğini ve sistem bütünlüğünü sağlamaya yardımcı olacaktır. Veritas Backup Exec gibi kritik uygulamalarda güvenlik zafiyetlerini proaktif bir şekilde ele almak, güçlü bir siber güvenlik stratejisinin önemli bir parçasıdır.