Fortra’ya ait GoAnywhere MFT’de (Yönetilen Dosya Aktarımı), yetkisiz bir tehdit aktörünün yönetim paneli aracılığıyla yönetici kullanıcı oluşturmasına izin verebilecek yeni bir güvenlik açığı keşfedildi. Bu güvenlik açığına CVE-2024-0204 atanmış ve önem derecesi 9,8 (Kritik) olarak verilmiştir.
Ancak Fortra, bu güvenlik açığını gidermek için, etkilenen ürünlerin 6.0.1’den Fortra GoAnywhere MFT 6.x ve 7.4.1’den önceki Fortra GoAnywhere MFT 7.x olduğunu belirten bir güvenlik danışma belgesi yayınladı. Ayrıca bu güvenlik açığının kimlik doğrulamayı atlama güvenlik açığı olduğu da belirlendi.
HERHANGİ BİR ÇALIŞTIRMA Sandbox’ındaki Şüpheli Dosyaları ve Bağlantıları Güvenle Açın; Tüm Özellikleri Ücretsiz Deneyin. Kötü amaçlı yazılım davranışını anlayın, IOC’leri toplayın ve kötü amaçlı eylemleri TTP’lerle kolayca eşleştirin; tüm bunları etkileşimli sanal alanımızda yapın.
Ücretsiz deneme
GoAnywhere MFT Kimlik Doğrulama Atlaması
Cyber Security News ile paylaşılan raporlara göre araştırmacılar bu güvenlik açığını yeniden oluşturmak için çalışıyor ve GitHub’da bir kavram kanıtı yayınlandı.
Fortra’nın güvenlik tavsiyesine göre uç nokta, silinebilen /InitialAccountSetup.xhtml olarak belirtildi ve sorunun hafifletilmesi için hizmetin yeniden başlatılması gerekiyor.
Uygulama dizinleri aracılığıyla daha ayrıntılı analiz yapıldığında, bu uç noktanın GoAnywhere/adminroot/WEB-INF/forms-faces.xml dosyası içindeki com.linoma.ga.ui.admin.users.InitialAccountSetupForm ile eşlendiği bulundu.
GoAnywhere MFT kurulumundan itibaren, ilk kurulum, kullanıcıların /InitialAccountSetup.xhtml uç noktasında yeni bir yönetici kullanıcı oluşturmasını gerektirir. Ancak yönetici kullanıcı oluşturulduktan sonra bu uç nokta artık kullanılamayacak veya erişilebilir olmayacaktır.
Bunun yerine, kullanıcılar /Dashboard.xhtml uç noktasına yönlendirilir ve kullanıcının kimliği doğrulanmadıysa bunu /auth/Login.xhtml takip eder.
Kimlik Doğrulama Baypası
Kaynak koduna göre, hangi uç noktanın istendiğini kontrol etmek için doFilter() işlevini gerçekleştiren com.linoma.dpa.security.SecurityFilter adında başka bir sınıf daha vardı. Uç noktalara, kullanıcı bağlamına ve uygulama ayarlarına bağlı olarak isteklerin doğru uç noktaya yönlendirilmesine olanak tanır.
Ancak, bu SecurityFilter sınıfının güvenlik açığı bulunan ve /InitialAccountSetup.xhtml uç noktasını istemek için atlanan iki açık yeri vardır. Bunlardan biri, bir yönetici kullanıcının oluşturulup oluşturulmadığını ve istenen yolun /wizard/InitialAccountSetup.xhtml olup olmadığını kontrol etmek gibi iki kriter için belirtilen 91. Satırdaydı. Bu iki kontrol başarılı olursa kurulum sayfasına yönlendirilir.
İkinci güvenlik açığı bulunan yer ise, halihazırda oluşturulmuş bir yönetici kullanıcı olup olmadığını kontrol etmek gibi iki kriteri olan Hat 102’deydi ve istenen yol /wizard/InitialAccountSetup.xhtml idi. Bu iki kontrolü geçen kullanıcılar /Dashboard.xhtml sayfasına yönlendirilecektir.
Sömürü
Bu durumdan yararlanmak için araştırmacılar, onları kurulum sayfasına yönlendiren /..;/ yüküyle mantık ve bir yol geçiş kodu kullandılar.
Bu sayfa görüntülendikten sonra araştırmacılar, yol geçiş yüküyle birlikte isteği göndererek yeniden bir yönetici kullanıcı oluşturabildiler.
Ayrıca, bu istismara ilişkin, kaynak kodu, kullanım ve diğer bilgiler hakkında ayrıntılı bilgi sağlayan, Horizon3 tarafından eksiksiz bir rapor yayınlandı.
Uzlaşma Göstergeleri
Kötüye kullanımı kontrol etmenin en kolay yollarından biri, yönetici portalı Kullanıcılar–> Yönetici Kullanıcılar bölümündeki Yönetici Kullanıcılar grubundaki arayüzde oluşturulan yeni yönetici kullanıcıları kontrol etmektir.
Ayrıca veritabanı günlükleri, kullanıcılar için giriş ekleme ve oluşturma da dahil olmak üzere işlemlerin geçmişini içeren \GoAnywhere\userdata\database\goanywhere\log\*.log dosyasında da bulunabilir.