CVE-2023-21839 Oracle WebLogic Nedir ?
CVE-2023-21839, Oracle WebLogic Server'da bulunan ve uzaktan kod yürütmesine yol açabilen bir bilgi ifşa güvenlik açığıdır. Saldırganlar, bu açığı T3/IIOP protokol ağı üzerinden istismar edebilirler, bu da onlara kritik verilere izinsiz erişim sağlama veya hatta sunucuyu ele geçirme olanağı tanır. Bu güvenlik açığı, Oracle WebLogic Server'ın 12.2.1.3.0, 12.2.1.4.0 ve 14.1.1.0.0 sürümlerini etkilemektedir.
Bu güvenlik açığı, WebLogic sunucuları ile diğer Java programları arasında bilgi aktarımı gerçekleştiren T3/IIOP protokol ağı üzerinden istismar edilebilir.
Bir saldırgan, herhangi bir yetki gerektirmeden bu güvenlik açığını istismar edebilir ve düşük karmaşıklıkta saldırılar gerçekleştirerek hassas verilere izinsiz erişim sağlayabilir.
CVE-2023-21839'un istismar edilmesi, kimlik doğrulaması yapılmamış bir saldırganın savunmasız bir WebLogic sunucusuna özel bir istek göndererek ve bir LDAP sunucusu aracılığıyla bir dosya yükleyerek kötü niyetli bir istemci tarafından gerçekleştirilebilir.
Saldırgan daha sonra bunu kullanarak hedefte ters kabuklar (reverse shell) yürütebilir. Bu güvenlik açığı için CVSS Temel Puanı 7.5'tir ve temel endişe gizlilik etkileridir, yani risk seviyesi Yüksek olarak kabul edilir.
CVE-2023-21839'un EtkisiCVE-2023-21839'un etkisi ciddi olabilir, çünkü saldırganlara hassas verilere izinsiz erişim sağlama ve savunmasız sistemi ele geçirme olanağı tanır. Bu güvenlik açığının başarılı bir şekilde istismar edilmesi, kuruluşun gizliliğini, bütünlüğünü ve kullanılabilirliğini tehlikeye atabilecek uzaktan kod yürütmesine yol açabilir.
Bir saldırgan, savunmasız bir WebLogic sunucusuna özel bir istek göndererek ve bir LDAP sunucusu aracılığıyla bir dosya yükleyerek güvenlik açığını istismar edebilir. Bu, saldırganın hedefte ters kabuklar yürütmesine ve sistemi ele geçirmesine olanak tanır.
(Proof of Concept - PoC)
Bu güvenlik açığını anlamak için, Kavram Kanıtı'nda verilen kod örneğine daha yakından bakalım.
Bu güvenlik açığı, uzak JNDI adının belirlenip WebLogic sunucusundaki bir nesneye bağlama yeteneğinden kaynaklanmaktadır. Bu işlem, weblogic.deployment.jms.ForeignOpaqueReference sınıfı ve yansıtma mekanizması kullanılarak özel alanlara erişmek için yapılabilir. Bu güvenlik açığını istismar ederek, bir saldırgan hedeflenen WebLogic sunucusunda keyfi kod yürütebilir.
Duplication Adımları
Güvenlik açığını duplication için aşağıdaki adımları izleyin:
Savunmasız Weblogic sunucusu kurulumunu oluşturmak için buradan GitHub yolunu klonlayın.Klon kurulumunu yapın, ardından Weblogic Sunucusuna erişim sağlamak için
Docker'ı
çalıştırın ve YAML dosyasını çalıştırın.
vulhub/weblogic/CVE-2023-21839 at master · vulhub/vulhub
Pre-Built Vulnerable Environments Based on Docker-Compose - vulhub/vulhub
github.com
Şimdi Exploit POC için aşağıdaki GitHub yolunu kopyalayın
GitHub - 4ra1n/CVE-2023-21839: Weblogic CVE-2023-21839 / CVE-2023-21931 / CVE-2023-21979 一键检测
Weblogic CVE-2023-21839 / CVE-2023-21931 / CVE-2023-21979 一键检测 - GitHub - 4ra1n/CVE-2023-21839: Weblogic CVE-2023-21839 / CVE-2023-21931 / CVE-2023-21979 一键检测
github.com
İstismarı çalıştırmak için Aşağıdaki komutu çalıştırın ve LDAP adresini ekleyin veya DNS isteklerini yoklamak için burp işbirlikçisini kullanabiliriz, DNS isteklerini günlüğe kaydetmek için dnslog.cn'yi kullandı.
POC Scripti başarıyla yürütüldükten sonra aşağıda gösterilen sonucu görebiliriz.
DNS sorgu günlüklerini kontrol ettiğimizde sunucudan, istismarımızın başarılı olmasını sağlayan bir DNS sorgusu aldığımızı gördük.
Oracle, CVE-2023-21839 için yama yayınladı ve bu yama Ocak 2023 Önemli Yama Güncelleme Danışmanlığı'nda yer aldı. Önerilen çözüm, bu durumda Oracle'ın sağladığı en son yamaları uygulamaktır. Bu güvenlik açığı için yama burada mevcuttur.
Yamayı hemen uygulayamıyorsanız, geçici olarak 7001 numaralı bağlantı noktasındaki T3/T3s protokolüne dış erişimi bir bağlantı filtresi kullanarak engelleyebilirsiniz. Bağlantı filtresi, WebLogic konsoluna erişerek aşağıdaki adımları izleyerek uygulanabilir:
“base_domain” -> “Monitoring” -> “AdminServer” -> “Protocol” -> “IIOP” ve "Enable IIOP" seçeneğini kaldırarak.
Alternatif olarak, bir bağlantı filtresi dış T3/T3 protokol erişimini engelleyebilir. Filtre kuralı aşağıdaki örnekte olduğu gibi yapılandırma dosyasına eklenir:
0.0.0.0/0 * 7001 deny t3 t3s #deny all access
Belirli IP adreslerinden veya alt ağlardan erişime izin vermek için aşağıdaki formatta kullanılabilir:
<IP adresi/alt ağ> * 7001 allow t3 t3s #allow access
<IP adresi/alt ağ> * 7001 deny t3 t3s #deny access
Umarım Okurken Zevk Almışsındır
Konumu Okuduğun İçin Teşekkür Ederim
Yararlanan Kaynaklar :
1.pingsafe
2.oracle.com
3.github