This page looks best with JavaScript enabled

【THM: Try Hack Me】Linux Challengesを解いてみた - Part3【WriteUP】

 ·  ☕ 3 min read

はじめに

Part1や、Part2に続いて第3回になりました。

今回でTryHackMeのLinux ChallengesのWriteUPは終了となります。

それでは解いていきましょう。

WriteUP

Task 5 SQL, FTP, Groups and RDP

Use curl to find flag 30

curlを使ってflag30を奪取しましょうとあったので、sshで接続していない端末にて、curlコマンドを実行して終了です。

1
2
$ curl 10.10.230.39
flag30:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Flag 31 is a MySQL database name

MySQLの問題ですね。

とりあえずログインし、データベース一覧を確認したらありました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$ mysql -uroot -pxxxxxx

mysql> show databases;
+-------------------------------------------+
| Database                                  |
+-------------------------------------------+
| information_schema                        |
| database_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| mysql                                     |
| performance_schema                        |
| sys                                       |
+-------------------------------------------+
5 rows in set (0.01 sec)

Bonus flag question, get data out of the table from the database you found above

こちらもフラグのあったデータベースから、データを取得して終了です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
mysql> show tables;
+-----------------------------------------------------+
| Tables_in_database_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+-----------------------------------------------------+
| flags                                               |
+-----------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from flags;
+----+----------------------------------+
| id | flag                             |
+----+----------------------------------+
|  1 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+----+----------------------------------+
1 row in set (0.00 sec)

Using SCP, FileZilla or another FTP client download flag32.mp3 to reveal flag 32

SCPまたは、FileZillaなどを用いてflag32.mp3をダウンロードしろとのこと。

flag32.mp3は/home/alice/配下にあったため、そちらをscpを用いて取得しました。

1
$scp -r [email protected]:/home/alice/flag32.mp3 ./flag32.mp3

mp3ファイルでしたので、VLCで開いたところフラグの音声が聞こえてきます。

が、自分はVMのオーディオ設定をしていなかったため、そこは注意が必要です。

Flag 33 is located where your personal $PATH’s are stored

Linuxの基本的な内容を説いている問題です。
個人のPATHをどこに記述するかの話ですね。

zshなんかだと、.zprofileとかにもなりますが、今回は.profileを確認いたしました。

1
2
3
4
5
6
7
8
$ find /home -type f -name .profile 2>/dev/null
/home/bob/.profile
/home/ubuntu/.profile
/home/garry/.profile
/home/alice/.profile

cat /home/bob/.profile
#Flag 33: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Switch your account back to bob. Using system variables, what is flag34?

環境変数を問う問題ですね。アカウントをbobに変更後、echoコマンドでflag34を確認しました。
flag34が記述されている場所は/etc/environmentに記述されていました。

1
2
3
4
5
$ su bob
Password: 

$ echo $flag34
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Look at all groups created on the system. What is flag 35?

ユーザの場合は/etc/passwdなんかで確認できるのですが、今回はgroupsということで、/etc/groupを確認しました。

1
2
3
4
5
6
$ cat /etc/group
(中略)

flag35_xxxxxxx: x :1005:

(中略)

Find the user which is apart of the “hacker” group and read flag 36

先程、/etc/groupで確認したところ、hackerグループに属しているのはbobでした。

なので、aliceのまま確認しようとしても見れないかと思います。

flag自体は、findのオプションにて、hackerグループに属しているものを探しました。

1
2
3
4
bob@ip-10-10-230-39:~$ find / -group hacker 2>/dev/null
/etc/flag36
bob@ip-10-10-230-39:~$ cat /etc/flag36
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

おわりに

これで、TryHackMeのLinux Challengesのすべての問題のWriteUPが終了しました。

基本的なLinuxコマンドを知っている人や、学んだ人ならGoogleを駆使しながら解ける問題ばかりですが、これでCTFとはどんなものかを慣れていけると思います。

Share on

yuk1h1ra
WRITTEN BY
yuk1h1ra
Security Engineer