Capture The Flag – হলো কম্পিউটার নিরাপত্তার প্রতিযোগীতা যেখানে বিভিন্ন ধরনে সমস্যা সমাধান করে Flag খুঁজে বের করতে হয় এবং Flag Submit করতে হয় । এবং প্রতিযোগীরা প্রশ্নের ধরন অনুযায়ী প্রতিটি Flag Submit করার মাধ্যমে পয়েন্ট অর্জন করে । মূলত CTF একটি নির্দিষ্ট সময়ের মধ্যে হয়ে থাকে । সময় শেষ হওয়ার পর যে Team বা Player এর পয়েন্ট বেশি সে Team বা Player বিজয়ী বলে ঘোষণা করা হয়। যে চ্যালেঞ্জের পয়েন্ট যত বেশি সেটি Solve করা CTF Player দের জন্য তত কঠিন হয়ে পড়ে এবং বিজয়ীরা ১ম থেকে ৩য় পর্যন্ত বিভিন্ন ধরনের Award পেয়ে থাকে যেমনঃ বিভিন্ন ধরনের Premium Subscription (TryHackme, Hackthebox ইত্যাদি ) , বিভিন্ন হ্যাকার গ্রুপদের সাথে কনফারেন্সে অংশগ্রহন করার সুযোগ (এটি মূলত Organizer দের উপর নির্ভর করে ), বিভিন্ন ধরনের গিফট সামগ্রী আর বড় ধরনের প্রাইজ মানি তো থাকেই ।
CTF মূলত কোন একটি নির্দিষ্ট ওয়েব সার্ভারে হয়ে সেখানে বিভিন্ন ধরনের প্রব্লেম থাকে সেখানেই Flag Submit করতে হয়। যদি প্রাপ্ত Flag এর সাথে সার্ভারের Flag এর সাথে মিলে যায় তাহলে Flag সঠিক বলে বিবেচিত হয় । CTF Server এ যে সব প্রব্লেম গুলো থাকে সেখানে বিভিন্ন ধরনের ফাইল Download করে Flag বের করার জন্য প্রাপ্ত ফাইল Analysis করা হয় CTF player সে প্রাপ্ত ফাইল বিশ্লেষণ করে তাদের দক্ষতাকে কাজে লাগিয়ে সঠিক Flag টি বের করে আনে এতে করে তারা যেমন নতুন কিছু শিখতে পারে তেমনি তাদের দক্ষতাও বৃদ্ধি পায় ।
CTF এর প্রকারভেদ :
CTF মুলত ২ ধরনের হয়ে থাকে -
Jeopardy: Jeopardy তে CTF player দের বিভিন্ন ধরনের চ্যালেঞ্জ দেওয়া হয় এগুলোর solve করে CTF player দের Flag submit করতে হয় । চ্যালেঞ্জ গুলো হলোঃ Cryptography, Reverse Engineering, OSINT, Web, Forensics, Network, Binary Exploit ইত্যাদি ।
Attack - Defense: Attack Defence একটু ভিন্ন ধরনের CTF । এ ধরনের CTF এ প্রতি দলকে বিভিন্ন ধরনের Vulnerbility যুক্ত Machine দেওয়া হয় যেখানে Opponent দলের Machine হ্যাক করতে হয় সেই সাথে নিজেদের Machine এর Vulnerbility Fix করতে হয় যাতে অন্য দল নিজের দলের Machine Hack করতে না পারে এ ধরনের CTF এ Attacking and Defencing এর জন্য পয়েন্ট দেওয়া হয় যে দলের পয়েন্ট বেশি থাকবে সে দল জয়ী হবে ।
CTF এর কিছু ধরন :
Cryptography: এ ধরনের চ্যালেঞ্জে Flag কে বিভিন্ন ধরনের এনকোডিং, এনক্রিপশন ও সাইফারের মধ্যে লুকিয়ে রাখা হয় যেমনঃ Caesar Cipher, Base64, base32, Enigma, MD5, ROT13, Morse Code, Hash Function, RSA Algorithm, Bitwise Operation, Vigenere cipher ইত্যাদি।
Reverse Engineering: এ ধরনের চ্যালেঞ্জে বিভিন্ন ধরনের Programming Language এ কম্পাইল করা প্রোগ্রাম দেওয়া থাকে যেটা বিশ্লেষন করে Flag খুঁজে বের করতে হয় ।
Steganography: এটি অনেকটাই Cryptography এর মতই কিন্তু Flag , Image / Video / Audio এর মধ্যে লুকানো থাকে ।
OSINT (Open Source Intelligence): এ ধরনের চ্যালেঞ্জে CTF player কে কিছু Information দেওয়া হয় এসব Information ব্যবহার করে সঠিক Flag টা খুঁজে বের করা হয় ।
Misc: Basic Programming (C, C++, Java, Python), Packet Analysis, Malwares, etc.
CTF Platform :
CTF Time - এটি হল CTF খেলার সবচেয়ে বড় platform. CTFTime কোনো CTF playground না বরং এটি হল একটি event tracker যেখানে বিভিন্ন CTF এর event পাওয়া যায় এবং register করে participate করা যায়।
Tryhackme - এটি হল CTF playground যেখানে বিভিন্ন vulnerability যুক্ত virtual machine host করা থাকে যা tryhackme vpn এর সাথে connect হয়ে hack করা যায়।
Hackthebox - এটি ও tryhackme এর মতই কিন্তু এখানের challenge বা machine গুলো tryhackme থেকে কঠিন হয়ে থাকে।
PicoCTF: নতুনদের জন্য এটি একটি ভালো প্লাটফর্ম একদম ব্যাসিক থেকে এডভান্স লেভেল পর্যন্ত চ্যালেঞ্জ দেওয়া থাকে।
Knightsquad - এটি বাংলাদেশি CTF platform যেখানে সকল প্রকার CTF challenge পাওয়া যায়।
CTF Challenges Platform -
1. Basics -
PicoCTF: https://picoctf.com/
Hacker101: https://www.hacker101.com/
TryHackMe: https://tryhackme.com
2. Intermediate to Advanced -
HITCON CTF: https://ctf2019.hitcon.org/
Google CTF: https://capturetheflag.withgoogle.com/
HackTheBox: https://www.hackthebox.eu/
Learning :
1. http://ctfs.github.io/resources/ - CTF এর কিছু ব্যাসিক টেকনিক cryptography, steganography, web exploits (Incomplete)
2. https://trailofbits.github.io/ctf/forensics/ - Tips and tricks relating to typical CTF challenges/scenarios
3. https://ctftime.org/writeups - Explanations of solutions to past CTF challenges
Word of Wisdom :
1. ধৈর্যই মূল চাবিকাঠি, আয়ত্ত করতে বছর লাগে, রাতারাতি সাফল্যের জন্য ছুটবেন না ।
2. কেউ আপনাকে সব কিছু শিখিয়ে দিবে বলে আশায় বসে থাকবেন না।
3. কনফিডেন্স রাখুন ।
4. স্কিল ডেভেলপ করা আর অভিজ্ঞতা অর্জন করা সবচেয়ে বড় পুরষ্কার ।
5. সবসময় পুরষ্কারের পিছে ছুটবেন না ।
6. অনেক কিছু শিখতে থাকুন ।
7. শুরুতে আপনি তেমন কিছুই পারবেন না কিন্তু আশা হারাবেন না আমরা সবাই সমান ।
8. লক্ষ্য স্থির করুন ।
9. নিজের উপর বিশ্বাস রাখুন ।
10. প্রযুক্তির সাথে সবসময় নিজেকে আপডেট রাখুন ।
Source :
1. https://dev.to/atan/what-is-ctf-and-how-to-get-started-3f04
2. https://ctftime.org/ctf-wtf/
3. https://medium.com/ssd-secure-disclosure/what-is-a-ctf-and-is-it-for-you-553e342129
© Sheikh Muhammad Ashik