WRITE UP : SERI CHALLENGE SECURITY FOUNDATION OF ICS CTF 2024 (PART 1)
Đây là một seri các basic challenge dành cho các bạn mới nhập môn vào con đường cyber security, các thử thách tương đối dễ nhưng lại mang ý nghĩa kiến thức nền tảng và tránh không gây cho các bạn newbie quá bị "ngộp" trước những màn hacking hardcore của các pro-CTFer trên Internet.
Mình đánh giá rất cao những challenge trong part Security Foundations của ICS CTF năm nay, nó được đầu tư rất bài bản, các description của các challenge rất dễ hiểu và với mục đích mang lại kiến thức nhiều hơn là so với việc đánh đố các thí sinh.
ICS & Security Basics - Introduction
Trước mỗi phần thử thách đều sẽ có phần giới thiệu các thông tin cơ bản, kèm với các websites để hỗ trợ các bạn thí sinh solve challenge, thật sự là rất mê luôn í, rất là bài bản luôn, lúc mình mới gia nhập bộ môn CTF này, mình toàn gặp những bài mà kiểu " If you know, you know " ( biết thì biết mà không biết là không biết ) , cho nên mình rất là thích các dạng challenge như này, vừa học vừa chơi, được solve bài nữa, quá hay.
ICS & Security Basics - Data Encoding
Đây là một chuỗi các challenge về decode (giải mã) các đầu vào cho trước theo những formats mã hóa dữ liệu phổ biến nhất gồm có: binary, decimal, hexadecimal, ASCII và Base64. Truy cập vào URL của challenge:
Challenge 1: Biểu diễn số thập phân (số) của nhị phân 01001110 là gì?
Nếu bạn nào giỏi môn Kỹ thuật số thì có thể solve là 78 mà không cần dùng website
https://gchq.github.io/CyberChef/ để hỗ trợ, tuy nhiên kiểu gì sau này các bạn cũng sẽ dùng để giải những mật mã phức tạp và khó khăn hơn, nên challenge này mục đích chính chỉ là để giới thiệu cho bạn công cụ chứ không hẳn là hỏi bạn số thập phân số của nhị phân 01001110 là gì, nên ta hãy nên truy cập trang web và dùng thử
Chỉ vậy thôi, các bạn gõ Operation cần dùng ở bên trái, ném nó vào Recipe, sau đó gõ input và Ô Input là sẽ được Output
Challenge 2:
Tương tự Challenge 1 nhưng lần này thay vì hỏi giá trị decimal thì người ra đề hỏi giá trị hexadecimal
Challenge 3:
Các bạn tra bảng mã ASCII ở đây nhé: https://www.asciitable.com/
Challenge 4:
Bạn nào chưa hiểu về Base64 thì có thể tham khảo trang này: https://viblo.asia/p/base64-nhung-dieu-ban-can-biet-3P0lPePp5ox
Flag: the_data_has_been_decoded
Thật ra Flag không quan trọng, quan trọng là bạn đã biết đến những khái niệm sau:
Binary, Decimal, HexaDecimal, ASCII table, Base64. Hãy thử tìm hiểu sâu hơn về các khái niệm siêu quan trọng này trước khi bước chân vào thế giới hacking nhé. À thêm trang web hữu dụng https://gchq.github.io/CyberChef/ nữa chứ
ICS & Security Basics - Cryptography
Một nội dung không kém phần quan trọng của cybesecurity đó là mật mã học, trong các chuỗi thử thách ở cryptography, các bạn sẽ được tìm hiểu về các loại mật mã từ cơ bản đến nâng cao như mã hóa Caesar, Vigenere, hàm băm mật khẩu và mã hóa khóa đối xứng
Challenge 1: ROT13
ROT13 là một mã hóa đơn giản, cơ chế chỉ là dịch chữ cái xoay vòng sang 13 ký tự trong bảng chữ cái ALPHABET, bạn có thể tìm hiểu ở đây: https://kb.iu.edu/d/aeol
Challenge 2: Vigenère Cipher
Bạn có thể tìm hiểu ở đây: https://www.geeksforgeeks.org/vigenere-cipher/
Challenge 3: MD5 Hash
Hàm băm MD5 là hàm 1 chiều, mã hóa được nhưng lại không thể giải mã, vậy mà vẫn crack được sao ? Được đối với những dãy ký tự đơn giản hoặc là chuỗi ký tự đó nằm trong wordlist của công cụ này: https://crackstation.net/
Đây là một trong những websites crack MD5 hash nổi tiếng nhất, với cơ chế của nó là nó sẽ có một cái wordlist rất lớn, nó sẽ đem từng plaintext của cái wordlist này đi hash MD5, nếu hết quả hash đó trùng với input hash mà bạn đưa vào thì nó sẽ trả về plaintext này cho bạn
Challenge 4: AES
AES là một mã hóa khóa đối xứng, cơ chế chi tiết của mã hóa này bạn có thể tìm hiểu tại https://simewu.com/aes/, đây là một trang web rất sống động, mô tả chi tiết từng bước mà mã hóa AES hoạt động
Một kiến thức quan trọng nữa đó là về các chế độ mã hóa và giải mã , bạn có thể xem tại đây : https://nguyenquanicd.blogspot.com/2019/10/aes-bai-6-cac-che-o-ma-hoa-va-giai-ma.html
Ở challenge này chúng ta sử dụng chế độ ECB : ECB là chế độ mã hóa từng khối bit độc lập. Các bạn cố gắng đọc hiểu tài liệu chứ đừng mỗi chạy tools ra kết quả nhé, như mình nói Flag không quan trọng lắm đâu.
Flag: finally_an_actually_useful_encryption_algorithm
Tạm thời tới đây thôi nhé, mình sẽ chia ra thành các phần nhỏ cho các bạn dễ theo dõi, phần tiếp theo mình sẽ làm tiếp 2 phần ICS & Security Basics - Web và ICS & Security Basics - Forensics. Piece !