CTF_intro

Introduction to CTF

CTF বা capture the flag কী?

ছোটবেলায় কখনও ট্রেজার হান্ট খেলেছেন? যেখানে আপনাকে একটা clue দেওয়া থাকবে আর ওই clue এর সুত্র ধরে আপনাকে মেইন গোল এ পৌছাতে হবে । ক্যাপচার দ্য ফ্লাগ এও একই কাজ করা হয়ে থাকে। CTF বা capture the flag এ তোমাকে একটা clue দেওয়া থাকবে আর ওই clue এর সুত্র ধরে ধাপ এ ধাপ এ কাজ করতে হবে আর মেইন গোল এ  পৌছাতে হবে । 

CTF গেম টা কেমন বা কীভাবে খেলে?

এটাকে গেম হিসেবে লিখে নিলাম যাতে বুঝতে সুবিধা হয় । সাধারণত দুই ধরনের  CTF হয়ে থাকে । 

1.Jeopardy Style:

এখানে আপনাকে যেকোনো হেডলাইনের একটা প্রব্লেম দেওয়া হবে যেখানে একটা ফাইল লিঙ্ক অথবা ভালনারেবল মেশিন অথবা কোনো সার্ভার এর আইপি দেওয়া থাকবে এবং প্রয়োজনীয় clue দেওয়া থাকবে । ওখান থেকে বুদ্ধি খাটিয়ে বা আগের অভিজ্ঞতার মাধ্যমে ওই clue থেকে পরবর্তী clue তে যেতে হবে ।  অথবা code break করে পরবর্তী ধাপে যেতে হবে । এভাবে যেতে যেতে এক সময় আপনি আপনার কাঙ্ক্ষিত ফ্লাগ ( “information” ) পেয়ে যাবেন আর ওই প্রব্লেম সেটার ওয়েবসাইটে সাবমিট করবেন । এখানে কে কত কম সময়ে ফ্লাগ ( প্রব্লেম এর উপরে ভিত্তি করে একাধিক ফ্লাগ ও থাকতে পারে ) খুজে বের করেছে আর কত দক্ষ ভাবে প্রব্লেম টার সলিউশন বের করেছে এটার উপরে পুরস্কার বা পজিশন দেওয়া হয় । 

2.Attack-defence Style:

ধরি এখানে দুইটা টিম আছে । টিম A এবং টিম  B , এখন টিম A এর কাছে এক বা একাধিক রেড ফ্লাগ আছে আর টিম B এর কাছে এক বা একাধিক গ্রিন ফ্লাগ আছে । এই খেলার মেইন গোল হচ্ছে প্রতিপক্ষের ফ্লাগ খুজে বের করতে হবে এবং একই সাথে নিজের ফ্লাগ প্রতিপক্ষ দলের থেকে সুরক্ষিত রাখতে হবে । অর্থাৎ টিম  A কে গ্রিন ফ্লাগ খুজে বের করতে হবে আর টিম  B যাতে রেড ফ্লাগ খুজে বের করতে না পারে সেজন্যে নিজের ভারচুয়াল মেশিন অথবা সিকিউরিটি সিস্টেম এর খুত গুলা বের করে আরও বেশি সিকিউরড বানাতে হবে ( টিম  B ও একই কাজ করবে ) । কে কত কম সময়ে প্রতিপক্ষের ফ্লাগ খুজে বের করেছে বা কাছাকাছি গেছে , কে কত বেশি নিজের ফ্লাগ সিকিউরড রেখেছে আর প্রতিপক্ষের টিম থেকে কম ক্ষতির সম্মুখীন হচ্ছে এগুলার উপরে ভিত্তি করে এখানে পুরস্কার বা পজিশন দেওয়া হয় । 

=> এতক্ষণে আমরা CTF কী বা কিভাবে এটা কাজ করে এই সম্পর্কে একটা বেসিক ধারনা পেলাম । এখন আসি আমি কোন কোন কায়দায় এই ফ্লাগ গুলা পেতে পারি বা কোনো কী কী উপায়ে কোনো মেশিন / আইপি আড্রেস / লিঙ্ক এর মধ্যে penetrate করতে পারি ।  

1.Gathering information:

আপনাকে যে ভালনারেবল মেশিন দেওয়া হবে বা যে আইপি আড্রেস অথবা ফাইল লিঙ্ক দেওয়া হবে সেই মেশিন / লিঙ্ক / ফাইল সম্পর্কে আপনার ভালো ধারণা থাকা লাগবে । মানে কিভাবে আপনি পরবর্তীতে এপ্রোচ করবেন কোন ওয়ে তে গেলে একটা অপটিমাল সলিউশন পেতে পারেন বা কোথায় আসলে মেইন clue দেওয়া আছে এগুলা । 

2.OWASP-10:

এটা হচ্ছে কোনো ওয়েব সাইট কে সুরক্ষিত রাখতে কী কী বিষয় নিশ্চিত করে রাখতে হবে সেই পদক্ষেপ গুলা । সাধারণত কোনো ওয়েবসাইটের মধ্যে penetrate করার সময় এই জিনিস  গুলো সম্পর্কে আইডিয়া থাকলে আপনি বুঝতে পারবেন ওয়েবসাইটের  এর কোথায় খুত আছে । 

3.Cryptography: 

এখানে তোমাকে ক্রিপ্টোগ্রাফির জ্ঞান ব্যবহার করে ফ্লাগ বের করতে হবে । এর মধ্যে আছে – এঙ্ক্রিপশন , ডিক্রিপশন , key খুজে বের করা , হ্যাশ ভ্যালু বানানো বা হ্যাশ ভ্যালু থেকে তথ্য বের করে আনা । 

4.pwning:

এটা আসলে  “owning” শব্দটি থেকে এসেছে । এর অর্থ হল কোনো একটা সিকিউরিটি সিস্টেম ( ওয়েব অ্যাড্রেস , মেশিন ) এর উপর নিয়ন্ত্রণ নিয়ে পুরা সিস্টেম টা কে নিজের আয়ত্তে নিয়ে আসা। 

5.Steganography:

এটা কে মাস্কিং বলা যেতে পারে । মেইন ম্যসেজ টা এখানে অন্য কোনো ম্যসেজ দিয়ে  কভার করা থাকবে ওখান থেকে পার্টিসিপেন্ট কে মেইন ম্যাসেজ টা বের করতে হবে । 

6.forensics:

বিভিন্ন ধরনের ডিজিটাল আর্টিফ্যাক্ট থেকে ডাটা এক্সট্রাক্ট করা / ডাটা রিকভারি করা । 

7.basic programming:

বেসিক কিছু প্রোগ্রামিং সম্পর্কে আগে থেকে জেনে রাখা ভালো । যেমন পাইথন এর বিভিন্ন লাইব্রেরি ব্যবহার করে কিভাবে ডাটা ডিক্রিপ্ট করতে হয় , কমান্ড লাইন দিয়ে কিভাবে নির্দিস্ট তথ্য আনতে হয় এগুলা । এক্ষেত্রে  parrot os বা linux সম্পর্কেও কিছু আইডিয়া থাকা লাগবে । যেহেতু এটা আর এথিকাল হ্যাকিং কাছাকাছি তাই os সম্পর্কে ভালো আইডিয়া থাকা দরকার । 

CTF কেন করব?

এটা আসলে স্কিল ডেভেলপমেন্ট এর জন্য করা হয় । যত বেশি ctf প্রাক্টিস করবে ততবেশি নেটওয়ার্ক সিকিউরিটি ইরর , ভালনারেবল মেশিন , ক্ষতিকর ফাইল এবং লিঙ্ক সম্পর্কে আইডিয়া ডেভেলপ করবেন, ততবেশি জানতে পারবেন এই ইরর বা প্রব্লেম গুলা কিভাবে দুর করা যায় । আগে ই আলোচনা করেছি যে ctf কতগুলা মোডে প্রাক্টিস করতে হয় । এতগুলা মোড শিখে এগুলা ব্যবহার করে ডাটা এক্সট্রাক্ট করা আর penetrate করা কিন্তু কম কথা নয় ! এর মাধ্যমে সাইবার সিকিউরিটি এবং আনুসাঙ্গিক অনেক বিষয় সম্পর্কে ধারণা লাভ করবেন যেটা ভবিশ্যত এ কাজে দিবে । এটা করলে ক্রিটিকাল থিংকিং বাড়বে , ম্যাথামেটিকাল বিষয়গুলো ( মডুলাস, প্রাইম নাম্বার …) নিয়ে ভালো আইডিয়া হবে । 

CTF কীভাবে শুরু করব ? 

– যদি আপনি বিগিনার হয়ে থাকেন তাহলে নিচের ওয়েবসাইট থেকে প্রাক্টিস শুরু করতে পারেন । 

1.picoctf

2.HackTheBox

3.TryHackMe

4.Hacker101

5.Vulnhub (এখানে আপনাকে ভালনারেবল মেশিন দেওয়া হবে । ওটাকে VMware এ নামিয়ে নিয়ে কাজ করতে পারেন ) ।

এসব ওয়েবসাইট থেকে আপনি অনলাইন এ প্রাক্টিস করতে পারবে । টিউটোরিয়াল এর জন্য গিটহাব এ সলিউশন পেতে পারেন এই লিঙ্ক এ এবং এই লিঙ্ক এ । তবে আগে নিজ থেকে প্রতিটা প্রব্লেম সল্ভ করা উচিত । দেখা যাচ্ছে আপনার ফ্লাগ খুজার পদ্ধতি আর সলিউশন এর ফ্লাগ খুজার পদ্ধতি এক নাও থাকতে পারে । এতে করে দক্ষতা বাড়বে । প্রাক্টিস ছাড়াও কম্পিটিশন এ পার্টিসিপেট করতে চাইলে আপনি এই ওয়েবসাইট টা ফলো করতে পারেন । এখানে প্রিভিয়াস এবং আপকামিং যতগুলা কম্পিটিশন হয়েছে সবগুলার তারিখ এবং নিয়ম দেওয়া আছে (যেমন-কোথায় আপনি একা অংশগ্রহণ করতে পারবেন এবং কোথায়  গ্রুপ বানিয়ে অংশগ্রহণ করতে পারবেন )। এছাড়াও এখানে কোনো অংশগ্রহণকারীর বা গ্রুপের রেটিং , পজিশন ইত্যাদি দেওয়া থাকে । এছারাও গুগল প্রতিবছর ctf competition এর আয়োজন করে থাকে ( এগুলা আডভান্সড লেভেল এর হয়ে থাকে ) ।

Share on:

Category:

Leave a Reply

Your email address will not be published. Required fields are marked *

RECENT POST