[Write-up] picoCTF 2017 – Tutorial 1, 2 và 3

0
606

Để có cái nhìn tổng quan về CTF (Capture The Flag) cho những bạn mong muốn tìm hiểu, tôi quyết định viết thử một vài cái write-up (bài giải) để bạn hiểu được cách chơi. Cá nhân tôi, nói trước luôn, không phải chuyên gia về CTF, mà đơn thuần cũng chỉ là một người đang tập chơi từ từ từng bước một mà thôi. Chưa thắng giải nào cả, cũng không có team (thật ra team thì cũng có nhưng chỉ có một thành viên duy nhất haha… Kiếp sống không bạn bè)

Nếu để ý, từng đọc nhiều các write-up (làm hết cách mà không ra mới đi đọc write-up nhé, đọc trước thì còn ý nghĩa gì nữa), bạn sẽ thấy đôi khi cùng một vấn đề nhưng có nhiều cách giải khác nhau. Không quan trọng cách nào, miễn sao bạn lôi ra được cái flag cần tìm là được, và không chơi DDOS dưới mọi hình thức :”)

Nói như thế là để thấy rằng, đôi khi tôi viết ở đây là cách nghĩ của tôi, hướng của tôi giải quyết vấn đề, có thể dở hoặc có thể dở tệ hoặc cực dở. Không ép bạn phải rập khuôn làm theo tôi, mà đọc write-up là để hình dung ra được con đường suy luận như thế nào. Đôi khi, suy hoài mà không ra thì luận luôn là không biết làm cho nhanh :”)

Trước khi bắt đầu, có một lưu ý nhỏ là ta nên dùng OS Linux để chơi, tiện rất nhiều. Tôi đang dùng Ubuntu để sử dụng viết bài viết này luôn.

OK, ta bắt đầu.

PicoCTF 2017 kết thúc từ lúc tháng 3, nhưng vì nó đơn giản và dễ cho người nhập môn (có nhiều câu tôi vẫn chưa nghĩ ra cách làm haha) nên tôi sẽ lấy nó ra làm minh họa.

Mới vào cuộc chơi, luôn có màn khởi động đặc trưng của giải picoCTF với việc kiểm tra kiến thức căn bản của người chơi. Kinh điển rồi, luôn là Linux command.

Tutorial 1

How can you figure out Robin Morris’s middle name? Thankfully you have a list you can check!

? HINTS
? Please don’t search by hand!
Thử mở cái file ở chỗ list ra xem có gì. Ta thu được một danh sách dài rất nhiều cái tên. Đọc lại câu hỏi, đề bài yêu cầu ta tìm tên lót của người có tên là Robin Morris. OK, với những câu như vầy, không còn cách nào khác là đi tìm kiếm thôi. Nhưng như cái Hints bảo rằng, đừng dài dột tìm bằng tay. Lên độ hai mắt sớm.
Lúc đầu tôi thử dùng chính công cụ search của trình duyệt tìm, nhưng cũng hơi ngán vì phải lăn lên lăn xuống. Nhưng cũng ra đáp án.
Một hướng khác nữa, ta dùng command grep trong Linux.
Sử dụng câu lệnh ở mức quá sức căn bản, không có cái options nào phụ vào để lọc kết quả, nên result trả về vẫn tè le ra một màn hình. Nhưng nhìn trong mớ đó vẫn thấy đáp án, là Robin Almay Morris. Vì đề bài chỉ yêu cầu xác định tên lót của người này, nên flag chỉ là Almay mà thôi.
Sau khi thử với cách dở tệ này, ta thử xem còn cách nào khôn ngoan hơn không. Tìm trên Github, thấy người ta làm còn gọn hơn mình =)))

Ta tiếp tục tới Tutorial 2

Tutorial 2

Robin handed me this the other day. Maybe it will help me find the answer?

?HINTS
?There are a number of solvers on the internet that can help!

Tới bài này, ta lại tiếp tục mở xem cái this dẫn tới đâu. Một file text chứ một câu dài ngoằn đã bị mã hóa. Nếu đọc gợi ý, ta thấy “using this cool ROT13”. Trò trẻ con =)) Nghe qua là đoán được ngay phương pháp mã hóa của nó. Caesar cipher!

Flag cần tìm là “Inflatable Sloth Monster”. Nếu không muốn sử dụng công cụ trên mạng, thì mình có thể tự viết một cái tool nho nhỏ để dùng cho việc giải mã Caesar này. Đây là một công cụ nhỏ tôi viết bằng C# trước đó khá lâu.

Không thể nói là giao diện đẹp, nhưng chức năng thì hoàn toàn chuẩn xác.

Tutorial 3

Robin handed me some color codes the other day. They don’t look like anything to me though. Can you help me find her favorite shade of red?

?HINTS
?Once again, there are tools on the interwebz that can help! (There’s a clear theme here, from the easiest pico problems, to the hardest ones in other CTFs, search engines are your friend!)
Đây là một bài nho nhỏ về tìm hiểu mã màu trên máy tính thôi chứ chẳng có gì ghê gớm. Mở cái link ở chỗ codes ra, ta thấy có danh sách gồm 7 màu. Yêu cầu là tìm ra màu đỏ. Nhìn mà không có kinh nghiệm thì sẽ gặp khó khăn. Vậy thì chỉ có cách dùng tool trên mạng xác định cho nhanh. Trang http://www.color-hex.com sẽ là lựa chọn hoàn hảo cho việc này.
Sau khi thử qua thì ta thấy màu C70002 là đúng với yêu cầu nhất. Đem submit thử. Bingo!
Nhưng nếu quan sát kĩ, ta sẽ biết đây là hệ màu RGB, lại lướt qua danh sách đề bài một lần nữa, ta thấy màu C70002 sẽ có 2 bit màu đầu tiên lớn hơn tất cả các màu còn lại. Mẹo nhỏ mà hay!
VÕ TÌNH THƯƠNG
votinhthuong9@gmail.com

This site uses Akismet to reduce spam. Learn how your comment data is processed.