Ivanti EPM SQL Enjeksiyon Kusuru Saldırganların Uzaktan Kod Yürütmesine İzin Veriyor


24 Mayıs 2024’te Zero-Day Initiative, Ivanti EPM için SQL enjeksiyonu Uzaktan kod yürütme güvenlik açığıyla ilişkilendirilen bir güvenlik danışma belgesi yayınladı.

Bu güvenlik açığına CVE-2024-29824 atanmış ve önem derecesi 9,6 (Kritik).

ZDI, bu kritik güvenlik açığına ilişkin ek bir bilgi vermese de Ivanti EPM’yi etkileyen bir işlev adı belirledi: “RecordGoodApp”.

Ancak Horizon3 araştırmacıları tarafından bu güvenlik açığına ilişkin bir kavram kanıtı yayınlandı.

Teknik Analiz – Kavram Kanıtı

Cyber ​​Security News ile paylaşılan raporlara göre bu RecordGoodApp fonksiyonu, kurulum klasöründeki PatchBiz.dll dosyasında mevcuttu.

Free Webinar on API vulnerability scanning for OWASP API Top 10 vulnerabilities -> Book Your Spot.

Ayrıca bu DLL, daha ayrıntılı inceleme için Jetbrains dotPeek aracı kullanılarak parçalara ayrıldı. Bu Patchbiz.dll bir C# ikili dosyasıydı.

RecordGoodApp’in Sökülmesi (Kaynak: Horizon3)

Bu ikili dosyadaki SQL ifadeleri araştırılırken, ilk SQL ifadesinin SQL sorgusuna goodApp.md5 değerini eklemek için string.Format kullandığından SQL enjeksiyonuna karşı savunmasız olduğu bulundu.

Ayrıca RecordGoodApp işlevi ilk olarak AppMonitorAction’dan çağrıldı.RecordPatchIssue, IF ELSE ifadesinin içinde bulunur.

AppMonitorAction.RecordPatchIssue (Kaynak: Horizon3)

Ayrıca AppMonitorAction.RecordPatchIssue, LANDesk.ManagementSuite.PatchBiz, LANDesk.ManagementSuite.WSVulnerabilityCore ve StatusEvents gibi üç farklı konumdan çağrılan Patch.UpdateActionHistory tarafından çağrıldı.

Patch.UpdateActionHistory Kullanımı (Kaynak: Horizon3)

Bu konumlar arasında StatusEvents.EventHandler.UpdateStatusEvents, ek açıklamalara sahip olduğundan en ilgi çekici olanıydı. [WebMethod] EventHandler sınıfının içinde.

Bu EventHandler sınıfı, System.Web.Services.WebService’den miras alır ve HTTP üzerinden UpdateStatusEvents’e ulaşmak için kullanılabileceğini bildirir.

İstismarı Tetiklemek

Bu EventHandler sınıfının konumunu analiz etmenin bir yolu olarak, /WSStatusEvents uç noktasında bulunan EventHandler.cs dosyasının tam konumunu sağlayan bir IIS yöneticisi kullanıldı. Bu uç noktanın ziyaret edilmesi, örnek isteklerin ve yanıtların bir listesini sağladı.

IIS Yöneticisi WSStatusEvents (Kaynak: Horizon3)

Daha ileri analizler, bu uç noktanın isteklerle birlikte gönderildiğini ve sonunda xp_cmdshell’i kullanan belirli bir isteği gösterdiğini ortaya çıkardı.

Bu xp_cmdshell, sistem üzerinde komutları çalıştırabilir ve bu komutlar artık savunmasız Ivanti EPM’de Uzaktan Kod Yürütme gerçekleştirmek için kullanılabilir.

Burp kullanarak başarılı bir şekilde yararlanma (Kaynak: Horizon3)

Horizon3, bu güvenlik açığını tetiklemek için şu anda GitHub’da mevcut olan bir yararlanma kodu yayınladı.

Kullanıcılar, xp_cmdshell’in kötü amaçlı kullanımını incelemek için MS SQL günlüklerini kullanabilir.

Tehdit aktörlerinin bu güvenlik açığından yararlanmasını önlemek için Ivanti EPM kullanıcılarının ürünlerini en son sürüme yükseltmeleri önerilir.

MS SQL, xp_cmdshell Kullanımının Tehlike Göstergesi Olarak Günlüğe Kaydediyor (Kaynak: Horizon3)

Free Webinar! 3 Security Trends to Maximize MSP Growth -> Register For Free



Source link