Oracle Weblogic Sunucu Kusuru Saldırganlara Tam Kontrol Sağlıyor


Oracle Weblogic Sunucu Kusuru Saldırganlara Tam Kontrol Sağlıyor – PoC Yayınlandı

WebLogic’in yeni bir sürümünde, saldırganların başka bir JNDI arama işlemi sırasında JNDI enjeksiyonunu tetiklemesine olanak tanıyan ve hedeflenen sistemde Uzaktan Kod Yürütmeyi (RCE) etkili bir şekilde etkinleştiren yeni bir ikincil JNDI enjeksiyon güvenlik açığı keşfedildi.

Bu güvenlik açığı için, Oracle yazılımının önceki sürümlerinde bulunmayan ve resmi Oracle Q2 üç aylık güncellemesinde yer alan bir yama uygulandı.

Bir saldırgan, WebLogic’in JNDI işlevselliğinden iki ana yöntemle yararlanabilir. İlk olarak, hedef sınıf OpaqueReference arayüzünü uyguluyorsa ve WebLogic, YabancıOpaqueReference sınıfını kullanıyorsa, kötü amaçlı bir arama işlemi, getReferent yöntemi aracılığıyla JNDI enjeksiyonunu tetikleyebilir.

İkinci olarak, Java.naming.factory.object özniteliğinin, InitialContext başlatma sırasında messageDestinationObjectFactory sınıfına ayarlanmasıyla getObjectInstance yöntemi, bir arama işlemi gerçekleştirildiğinde JNDI enjeksiyonuna karşı savunmasız hale gelir.

WebLogic sunucusunda herhangi bir kodun çalıştırılmasına izin veren JNDI özniteliklerindeki normal kısıtlamaları aşıyor ve WebLogic sunucusu bağlamında iki yeni JNDI enjeksiyon güvenlik açığına, CVE-2024-20931 ve CVE-2024-21006’ya bakıyor.

Belge

Etkili Kötü Amaçlı Yazılım Analizi için ANY.RUN’u Şirketinize Entegre Edin

SOC, Tehdit Araştırması veya DFIR departmanlarından mısınız? Öyleyse, 400.000 bağımsız güvenlik araştırmacısından oluşan çevrimiçi topluluğa katılabilirsiniz:

  • Gerçek Zamanlı Tespit
  • İnteraktif Kötü Amaçlı Yazılım Analizi
  • Yeni Güvenlik Ekibi Üyelerinin Öğrenmesi Kolay
  • Maksimum veriyle ayrıntılı raporlar alın
  • Linux’ta ve tüm Windows İşletim Sistemi Sürümlerinde Sanal Makineyi Kurma
  • Kötü Amaçlı Yazılımlarla Güvenli Bir Şekilde Etkileşim Kurun

Tüm bu özellikleri şimdi sanal alana tamamen ücretsiz erişimle test etmek istiyorsanız:


CVE-2024-20931, InitialContext’in başlatılmasından yararlanırken, CVE-2024-21006 bu başlatma sırasında kötü amaçlı bir nesne fabrikası sunar ve arama sırasında tetiklenir. WebLogic’in arama işlemi, hedef sınıfın uygulanan arayüzlerini temel alan yöntemleri çağırır.

CVE-2023-21839, CVE-2023-21931 ve CVE-2024-20931 ile birlikte yalnızca ClassTypeOpaqueReference ve ilgili yöntemlerin (getObjectClass/getReferent) veya OpaqueReference (getReferent) uygulanmasıyla bu güvenlik açıklarından yararlanılabilir.

WLNamingManager.class

CVE-2023-21839 ve CVE-2024-20931 için WebLogic yamaları, yetkisiz JNDI aramalarını önler. Düzeltme, “weblogic.jndi.internal.ForeignOpaqueReference#getReferent” yöntemini değiştirir. `getReferent` çağrıldığında, `InitialContext` otomatik olarak `java.naming.factory.initial` ve `java.naming.provider.url` özelliklerini ayarlar.

Kötü amaçlı ‘remoteJNDIName’ değerinin ‘lookup’ çağrısında kullanılmasını önleyerek, ‘ForeignOpaqueReference’ yoluyla uzak JNDI istismarını etkili bir şekilde durdurur. Ek olarak, `weblogic.jndi.internal.JNDIUtils#isValidJndiScheme`, yetkisiz erişimi daha da kısıtlamak için JNDI şemasını doğrular.

YabancıOpaqueReference.class

pwnull’a göre, “java.naming.factory.initial” gibi standart JNDI özellikleri ayarlanmamış olsa bile kod, JNDI enjeksiyonuna karşı savunmasız görünüyor. Saldırgan, daha yeni JDK sürümlerinde yaygın olarak kullanılan “java.naming.factory.object” özelliğinden yararlanabilir.

MesajDestinationObjectFactory.class

Bu istismar, Tomcat’teki BeanFactory#getObjectInstance yöntemini kullanarak WebLogic’te messageDestinationObjectFactory#getObjectInstance’ı çağırmak için kullanılır; bu da, sonuçta JNDI enjeksiyonunu, MesajDestinationReference#lookupMessageDestination aracılığıyla tetikler.

not defteri.exe

WebLogic, ‘java.naming.factory.initial’ ve arama adları gibi özellikleri kontrol ederek JNDI aramalarının nasıl yapılandırılacağını kısıtlayabilir. Bu sınırlamaları aşmak için, özel bir nesne fabrikası ayarlamak amacıyla `java.naming.factory.object` kullanılabilir.

Fabrika, WebLogic’te ikincil JNDI enjeksiyonu gerçekleştiren ‘MessageDestinationObjectFactory’nin ‘getObjectInstance’ yöntemini uygulayarak kaynak bağlamayı dolaylı olarak kontrol etmeye ve potansiyel olarak kısıtlamaları aşmaya olanak tanır.

Is Your Network Under Attack? - Read CISO’s Guide to Avoiding the Next Breach - Download Free Guide



Source link