Hoşgeldin Misafir

CVE-2024-1709 ve CVE-2024-1708: ConnectWise ScreenConnect Zafiyeti

SurHan

28 Kas 2017
4,185 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
19 Şubat'ta ConnectWise, ScreenConnect'in 23.9.8 öncesindeki tüm yerinde sürümlerinin iki güvenlik açığı içerdiğini vurgulayan bir güvenlik düzeltmesi yayınladı (CVE-2024-1709 ve CVE-2024-1708 olarak belirlendi) ve kullanıcıların yamayı gecikmeden uygulamalarını önerdi. Normal koşullarda, böyle bir danışmanlık hemen endişe uyandırmayabilir. Ancak, bu güvenlik açıklarından birine 10/10'lık bir CVSS puanı atanmış olması, kritik bir ciddiyeti işaret ediyor. Bu derecelendirme, sorunun çözülmesi gerekliliğini, kullanıcıların yamalamayı acil bir işlem olarak önceliklendirmesini önermektedir.

Bu blog, yeni ConnectWise ScreenConnect güvenlik açıkları ve bunların nasıl sömürüldüğüne dair saldırıların çalışmasını ve kuruluşların olası CVE-2024-1709 ve CVE-2024-1708 saldırılarını nasıl savunabileceğini açıklar.

BU TEHDİDİ ÜCRETSİZ OLARAK NASIL SİMÜLE EDEBİLİRSİNİZ - KURULUM YOK
CVE-2024-1709: Kimlik Doğrulama Atlatma Zafiyeti
ScreenConnect'te tanımlanan CVE-2024-1709 olarak adlandırılan zafiyet, .NET çerçevesinin URL'lerin ayrıntılı işlemesini ve ScreenConnect'in yapılandırma ve kimlik doğrulama mekanizmalarında güvenlik önlemlerinin eksikliğini kapsamlı bir şekilde kötüye kullanır. Temelde, bu hata, uzaktan destek için güçlü bir araç olan ScreenConnect'in, yazılımın ilk kurulumundan sonra “kurulum sihirbazı”na erişimi nasıl kontrol ettiğinde bir boşluğu sömürür.

Sömürü Nasıl Çalışır?
Sömürünün mekaniğini anlamak için, araştırmacılar, bu iki güvenlik açığını ele alan ConnectWise tarafından yayınlanan yamayı tersine mühendislik ederek ayrıntılı bir inceleme yaptılar. Bu, yazılımın yamalı ve yamalı olmayan sürümleri için yerel test ortamları kurarak, zafiyetlerin doğası hakkında ışık tutacak belirli değişiklikleri ortaya çıkarmayı amaçladı.

Burada, yamanın ardından güncellenen dosyaların bir
listesini bulacaksınız. Ekip, yürütülebilir dosyalar, kitaplıklar ve yapılandırma dosyaları da dahil olmak üzere çeşitli dosyalarda farklılıklar (delta) tespit etti.

Bunlar arasında, SetupWizard.aspx dosyası, metin dosyası olması nedeniyle, ikili dosyaları decompile etmeye gerek kalmadan değişiklikleri doğrudan karşılaştırmayı kolaylaştırdığı için umut verici bir ipucu olarak öne çıktı.

İşte SetupWizard.aspx dosyasının başlangıç ve yama sonrası arasındaki delta kodu.

Kod:
# SetupWizard.aspx.diff

1a2
> <%@ Implements Interface="ScreenConnect.ISetupHandler" %>
5a7,14
>
>     protected override void OnInit(EventArgs e)
>     {
>    base.OnInit(e);
>
>    if (SetupModule.IsSetup)
>    throw new InvalidOperationException("Already setup");
>     }


Bu değişiklikler, yamalı sürümde ScreenConnect örneğinin daha önce yapılandırılıp yapılandırılmadığını belirlemek için kritik bir doğrulama süreci tanıttı ve kurulum sihirbazına erişim sağlamadan önce kontrol eder. SetupWizard.aspx dosyasındaki OnInit etkinliğini değiştirerek, güncelleme, sistemin kurulduktan sonra kurulum sihirbazına erişim girişiminde bulunulursa bir hata fırlatılmasını sağlar, böylece bu tür girişimleri etkili bir şekilde engeller.

ScreenConnect.Web.dll'ye ve özellikle de ScreenConnect.SetupModule'e daha derin bir dalış, olası sömürü mekanizmaları ve bunların önlenmesine yönelik alınan önlemlere ilişkin daha fazla ışık tuttu. En son güncellemedeki önemli bir değişiklik, işleyici kaydının OnBeginRequest etkinliğinden OnPostMapRequestHandler etkinliğine geçirilmesiydi.

Bu değişiklik, context.Handler alanının doldurulmasını sağladığı için önemlidir, böylece yeni bir doğrulama kontrolü kolaylaştırılır. Bu kontrol, çağrılan HTTP işleyicisinin yeni tanıtılan ISetupHandler arabirimini uygulayıp uygulamadığını değerlendirir, önceki yaklaşımın sadece isteği dize olarak eşlemeğe dayandığı keskin bir karşıtlık oluşturur.

Bu değişiklik, saldırganların URL yolunu manipüle ederek kurulum sihirbazının erişim kısıtlamalarını önceki şekilde atlatmasına izin veren ince bir yolun kapatılmasını etkili bir şekilde sağlar. Saldırganlar, meşru bir URL'den sonraki ek yol bileşenlerini işleyen özel bir .NET özelliğinden yararlanarak, zaten yapılandırılmış ScreenConnect örneklerinde kurulum sihirbazına erişebilirlerdi, aşağıdaki gibi bir isteği oluşturarak.​


Kod:
/SetupWizard.aspx/anygivenstring

Birçok araştırmacı ve satıcının kavram kanıtını paylaşması ve zafiyetin kolayca sömürülebilir doğası nedeniyle, yamalanmamış sistemlerde birçok sömürü vakası görmemiz muhtemeldir.

Bu, kurulum sihirbazına erişildikten sonra saldırganın yeni bir yönetici kullanıcı oluşturmasına veya mevcut kullanıcı veritabanını üzerine yazmasına izin verir. Temelde, bu, ScreenConnect örneği üzerinde tam yönetici kontrolü sağlar. Yönetici haklarıyla, saldırgan daha sonra kötü niyetli uzantılar yükleyebilir veya sistemde .NET kodunu SYSTEM olarak yürütmek için ScreenConnect'in yeteneklerinden yararlanabilir.

CVE-2024-1708: Yol Geçişi Açığı
Yol Geçişi açıkları, saldırganların web kök klasörü dışında depolanan dosyalara ve dizinlere erişmesine olanak tanır. Saldırganlar, nokta-nokta-slash (../) dizileri ile dosyalara başvuran değişkenleri manipüle ederek, dizin ağacında yukarı doğru hareket edebilir ve keyfi dosyalara veya dizinlere erişebilir.

CVE-2024-1708'in durumunda, zafiyet, ScreenConnect'in ZIP arşivlerinden dosyaları çıkardığında yetersiz yol doğrulamasından kaynaklanıyordu, özellikle ScreenConnect uzantılarını işlerken. Orijinal kod (yamadan önce), çıkartılan dosyaların yollarını sıkı bir şekilde doğrulamıyor veya temizlemiyordu, bu da kötü amaçlı bir zip dosyasının dizinleri geçmesine (ZipSlip) ve dosyaları istenilen hedef dizinin dışına yerleştirmesine izin verebilirdi.

Yayınlanan yama, bir zip arşivinden çıkartılan tüm dosyaların belirli bir dizine sıkıştırıldığını doğrulayarak güvenliği sıkılaştırır, böylece başarılı bir ZipSlip saldırısının riskini önemli ölçüde azaltır.

Saldırı Nasıl Gerçekleşir?
23.9.8 güvenlik yamasından önce, bir saldırgan, kötü amaçlı bir ScreenConnect uzantısını bir zip dosyası içinde oluşturabilirdi. Bu dosya, ScreenConnect tarafından işlendiğinde, bu dosya ScreenConnect sunucusunun dosya sistemi içinde isteğe bağlı konumlara içeriğini çıkarabilirdi. Tipik olarak, bunun için yönetici kimlik bilgileri ve ScreenConnect'in Uzantılar işlevine erişim gerekecektir, bu da saldırganın kimlik doğrulamasını atlaması veya aksi takdirde meşru bir şekilde kimlik doğrulaması yapması gerekecektir.

Bu nedenle, saldırganlar CVE-2024-1708 ve CVE-2024-1709 zafiyetlerini işbirliği içinde sömürüyorlar, CVE-2024-1709 onlara yönetici hesapları oluşturmak için izin verdiği için CVE-2024-1708 zafiyetini sömürmek için.

Yayınlanan yama, bir zip arşivinden çıkartılan tüm dosyaların belirli bir dizine sıkıştırıldığını doğrulayarak güvenliği sıkılaştırır, böylece başarılı bir ZipSlip saldırısının riskini önemli ölçüde azaltır.

Etki ve Sömürülebilirlik
CVE-2024-1708, başlı başına daha kontrollü bir kapsama sahip olabilir, ancak yönetici erişimi gerektiği için, CVE-2024-170



1.png



KAYNAKLAR: