লিনাক্স এবং ইউনিক্স ভিত্তিক অপারেটিং সিস্টেমগুলি তথ্য সুরক্ষা, নেটওয়ার্ক সুরক্ষা, ক্রিপ্টোগ্রাফি ইত্যাদি ক্ষেত্রের মূলে রয়েছে৷ তারা সাইবার সুরক্ষার উদ্দেশ্যে বিভিন্ন ধরণের সরঞ্জাম নিয়ে আসে৷
আসুন আমরা এই জাতীয় তিনটি সরঞ্জামের দিকে নজর দিই: Aircrack-ng, Jack The Ripper, এবং Radare2।
এয়ারক্র্যাক-এনজি স্যুট
এয়ারক্র্যাক-এনজি স্যুটটি সম্ভবত ওয়াইফাই নেটওয়ার্ক স্নিফিং এবং পাসওয়ার্ড ক্যাপচারিং সরঞ্জামগুলির সর্বাধিক ব্যবহৃত সেট। এটি IEEE 802.11 প্রোটোকল ওয়্যারলেস নেটওয়ার্ক পাসওয়ার্ডগুলি ক্র্যাক করার জন্য বোঝানো হয়েছে, যেগুলি বেশিরভাগ ওয়াইফাই প্রোটেক্টেড অ্যাক্সেস (WPA) বা Wifi প্রোটেক্টেড অ্যাক্সেস 2 (WPA2) স্ট্যান্ডার্ড দ্বারা সুরক্ষিত এবং প্রি-শেয়ারড কী (PSK) প্রমাণীকরণ পদ্ধতি দ্বারা প্রমাণীকৃত৷
এটি নেটওয়ার্ক ডিভাইসের অবস্থা নিরীক্ষণ, প্যাকেট ক্যাপচার এবং ফাইলে ডাম্পিং, পাসওয়ার্ড ক্র্যাকিং ইত্যাদির জন্য আলাদা প্রোগ্রাম অফার করে।
লক্ষ্য করুন যে ক্রিপ্টো-অ্যালগরিদম ব্যবহার করে WPA/WPA2 ক্র্যাক করা গবেষকরা প্রায় অসম্ভব বলে মনে করেছেন। তাই, এয়ারক্র্যাক-এনজির মতো প্রোগ্রামগুলির মাধ্যমে WPA/WPA2 ক্র্যাক করার উপায় হল ব্রুট ফোর্স এবং এটি ক্র্যাক করার জন্য পাসওয়ার্ডের একটি অভিধান প্রয়োজন। তার মানে এটি শুধুমাত্র পাসওয়ার্ড ক্র্যাক করতে পারে যদি পাসওয়ার্ড একটি অভিধান শব্দ হয়।
আপনি packagecloud.io দ্বারা প্রদত্ত ইনস্টলার স্ক্রিপ্ট ব্যবহার করে আপনার সিস্টেমে সহজেই Aircrack-ng ইনস্টল করতে পারেন। টার্মিনাল খুলুন এবং আপনার লিনাক্স ওএস টাইপের উপর ভিত্তি করে নিম্নলিখিত কমান্ডগুলি চালান।
ডেবিয়ান ভিত্তিক বিতরণে, নিম্নলিখিত কমান্ড চালান:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash
রেড-হ্যাট প্যাকেজ ম্যানেজার (RPM) এর জন্য, নিম্নলিখিত কমান্ড চালান:
curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash
এখন Aircrack-ng ব্যবহার করে একটি স্থানীয় Wi-Fi নেটওয়ার্কের পাসওয়ার্ড ক্র্যাক করার চেষ্টা করা যাক।
সর্বোপরি, কমান্ড চালান iwconfig
আপনার ওয়্যারলেস নেটওয়ার্ক ইন্টারফেসের নাম খুঁজে পেতে।
iwconfig
এখানে, wlp2s0
আমার ওয়্যারলেস ইন্টারফেসের নাম। ESSID, অর্থাৎ, নেটওয়ার্কের নাম হল "tmp", যা আমি যে Wifi নেটওয়ার্কের সাথে সংযুক্ত আছি তার নাম৷
আমরা ব্যবহার করব airmon-ng
একটি নেটওয়ার্ক মনিটর ইন্টারফেস চালু করার জন্য কমান্ড wlp2s0
.
sudo airmon-ng শুরু wlp2s0
মনিটর মোড ইন্টারফেস খুঁজে পেতে শেষে লাইনটি দেখুন। উপরের উদাহরণে, এটা mon0
. আমরা এখন চালানোর মাধ্যমে নেটওয়ার্ক প্যাকেট ধরা শুরু করব airodump-ng
চালু mon0
.
sudo airodump-ng mon0 -w লগ
এটি বিভিন্ন নেটওয়ার্ক থেকে ধরা নেটওয়ার্ক প্যাকেটের একটি মনিটর প্রদর্শন করে। দ্য -w লগ
অংশটি লগ ফাইলে নেটওয়ার্ক প্যাকেট সংরক্ষণের জন্য। লগ ফাইলগুলির উপসর্গটি -w এর পরে নির্দিষ্ট করা অংশ হবে, এই ক্ষেত্রে 'লগ'।
পাসফ্রেজ হ্যাশ কী ধরতে প্রোগ্রামের জন্য, নেটওয়ার্কে একটি WPA হ্যান্ডশেক করতে হবে, অর্থাৎ, একজন ব্যবহারকারীর এটির সাথে সংযোগ করার চেষ্টা করা উচিত। ব্যবহারকারী নিজেই তার Wifi সংযোগ বিচ্ছিন্ন করতে পারেন, এবং এটিতে পুনরায় সংযোগ করতে পারেন। এখন উপরের ডানদিকে, এটি বিজ্ঞপ্তি দেয় যে একটি WPA হ্যান্ডশেক ধরা পড়েছে।
এখন, টিপুন Ctrl + C
ডাম্প শেষ করতে। আপনি বর্তমান ফোল্ডারে তৈরি লগ ফাইল দেখতে পারেন।
পরবর্তী এবং চূড়ান্ত ধাপ হল হ্যান্ডশেক থেকে ইন্টারসেপ্ট করা হ্যাশ কী-এর সাথে কোন শব্দ মিলছে তা দেখতে একটি অভিধান সহ aircrack-ng চালানো।
aircrack-ng log-01.cap -w tmpdict.txt
এখানে log-01.cap দ্বারা উত্পন্ন লগফাইল হয় airodump-ng
আদেশ এবং tmpdict.txt অভিধান ফাইল। বেশ কয়েকটি বড় অভিধান অনলাইনে পাওয়া যায় যা এখানে ডাউনলোড এবং ব্যবহার করা যেতে পারে।
একটি টার্গেট নেটওয়ার্ক নির্বাচন করতে, স্ক্রিনে প্রদর্শিত নেটওয়ার্কের তালিকা থেকে নেটওয়ার্কের জন্য সূচক নম্বর লিখুন।
অভিধান থেকে একটি কী মিলে গেলে, এটি থামবে এবং নিম্নলিখিত বার্তাটি প্রদর্শন করবে।
এটা স্পষ্ট যে বৃহত্তর অভিধান ফাইলের ক্ষেত্রে, প্রোগ্রামটি চালানোর জন্য আরও বেশি সময় লাগবে, কারণ এটি অভিধানের প্রতিটি এন্ট্রি পরীক্ষা করে।
আগেই উল্লেখ করা হয়েছে, অভিধান ফাইলে থাকলেই পাসওয়ার্ড ক্র্যাক হতে পারে। WPA নিরাপত্তা যথেষ্ট শক্তিশালী যে কোনো ক্রিপ্টো অ্যালগরিদম ব্যবহার পাসওয়ার্ড ক্র্যাকিং সক্ষম করবে না। তাই, আপনার Wifi ডিভাইসে একাধিক বিশেষ অক্ষর সহ একটি শক্তিশালী দীর্ঘ পাসওয়ার্ড রাখা একটি ভাল অভ্যাস, যাতে কোনও ধরনের পাসওয়ার্ড ক্র্যাকিং কার্যকলাপ কখনই সফল না হয়।
জন দ্য রিপার
জন দ্য রিপার দুর্বল ইউনিক্স পাসওয়ার্ড ক্র্যাক করতে ব্যবহৃত একটি টুল। এটি পাসওয়ার্ড ফাইলগুলিতে আমন্ত্রিত একটি টুল ব্যবহার করা খুব সহজ। এটি তিনটি মোডে চলে।
একক অবস্থা
পাসওয়ার্ডের জন্য সমস্ত GECOS ক্ষেত্র পরীক্ষা করে, যেমন, ব্যবহারকারীর অ্যাকাউন্টের তথ্যে পাসওয়ার্ড পরীক্ষা করে; ব্যবহারকারীর নাম, প্রথম নাম, পদবি, ইত্যাদি।
সুডো জন --একক /etc/shadow
ওয়ার্ডলিস্ট মোড
একটি শব্দ তালিকা (অভিধান) ফাইল থেকে প্রতিটি এন্ট্রির সাথে পাসওয়ার্ড চেক করে।
sudo john --wordlist=passlist.txt /etc/shadow
এখানে ব্যবহারকারী 'user3' এর পাসওয়ার্ড হল "admin"। passlist.txt ফাইলে 'অ্যাডমিন' শব্দটি উপস্থিত থাকায় জন এটি ক্র্যাক করতে সক্ষম হয়েছিল।
ইনক্রিমেন্টাল মোড
একটি কনফিগার করা পরিসীমা জন্য সমস্ত সম্ভাব্য সমন্বয় পরীক্ষা করুন. ডিফল্টরূপে এটি ASCII অক্ষর সেটের সমস্ত অক্ষর এবং 0 থেকে 13 পর্যন্ত সমস্ত দৈর্ঘ্য বিবেচনা করে। বলা বাহুল্য, কনফিগার করা পরিসরের উপর নির্ভর করে, এই মোডটি চালানোর জন্য প্রচুর সময় নিতে পারে।
এর জন্য কনফিগারেশন পরিবর্তন করা যেতে পারে /etc/john/john.conf
ফাইল
সুডো জন --বৃদ্ধিমূলক /ইত্যাদি/ছায়া
রাডারে2
Radare2 (ওরফে r2) হল লিনাক্সের জন্য একটি বিপরীত প্রকৌশল টুল। এটি রানটাইমে ডেটা ম্যানিপুলেট করার বিকল্পগুলির একটি বিশাল তালিকা সহ একটি এক্সিকিউটেবল বাইনারি ফাইল ডিসসেম্বল, ডিবাগ করতে পারে।
আসুন দেখি কিভাবে r2 ব্যবহার করে একটি খুব ছোট C প্রোগ্রাম ডিস্যাসেম্বল করা যায়। মনে রাখবেন যে টুলটি ব্যবহার করার জন্য অ্যাসেম্বলি ভাষার একটি প্রাথমিক বোঝার প্রয়োজন।
প্রথমে, vim বা আপনার পছন্দের যেকোনো সম্পাদকে একটি ছোট সি প্রোগ্রাম তৈরি করুন।
/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); রিটার্ন 0; }
আপনি দেখতে পাচ্ছেন, এই প্রোগ্রামটি 0 ডিজিটকে একটি ভেরিয়েবলে সংরক্ষণ করে এবং এটি প্রিন্ট করার জন্য ভেরিয়েবলটি অ্যাক্সেস করে।
আমরা এখন প্রোগ্রাম কম্পাইল করব.
gcc test.c -o পরীক্ষা
একটি এক্সিকিউটেবল ফাইল তৈরি করা হয় বর্তমান ডিরেক্টরিতে 'টেস্ট' নামে। আউটপুট '0' দেখতে এটি চালান।
./পরীক্ষা
এখন r2 ইন্সটল করি। উবুন্টু এবং অনুরূপ ডিস্ট্রিবিউশনে প্যাকেজের নাম হল radare2।
sudo apt radare2 ইনস্টল করুন
বিঃদ্রঃ: পুরানো উবুন্টু সংস্করণের জন্য (সংস্করণ 14.04 এবং নীচে), আপনাকে ব্যবহার করতে হবে apt- get
পরিবর্তে ব্যবহার করা উচিত উপযুক্ত
.
আমরা এখন আমাদের এক্সিকিউটেবল ফাইল, 'টেস্ট' দিয়ে r2 কমান্ড প্রম্পট শুরু করব।
r2 পরীক্ষা
সাবকমান্ডের তালিকা পেতে, লিখুন ?
. যেমন কমান্ডের জন্য সাবকমান্ডের তালিকা পেতে ক
, প্রবেশ করান একটি?
একটি?
আমরা সাবকমান্ড চালাব এএ
, যা সম্পূর্ণ বাইনারি ফাইল বিশ্লেষণ করবে। এটা কিছু আউটপুট হবে না. কিন্তু বাইনারি বিশ্লেষণ করার পর, আমরা ব্যবহার করতে পারি পি?
কোড বিচ্ছিন্ন করার জন্য সাবকমান্ড।
পরবর্তী, আমরা সরানো প্রধান
প্রোগ্রামের ফাংশন। প্রতিটি এক্সিকিউটেবল সি প্রোগ্রাম আছে প্রধান
এর সূচনা পয়েন্ট হিসাবে কাজ করে।
s প্রধান
আপনি দেখতে পাচ্ছেন যে প্রম্পটের উপসর্গ বর্তমান মেমরি ঠিকানা পরিবর্তন করেছে, অর্থাৎ, প্রোগ্রামটি এখন ফাংশনের ঠিকানায় চাওয়া হয়েছে প্রধান
.
পরবর্তীতে আমরা সাবকমান্ড ব্যবহার করি পিডিএফ
, যা একটি ফাংশনের disassembly প্রিন্ট করবে। আমরা এটি সঙ্গে কল sym.main
, যা সমাবেশের ভাষায় প্রধান ফাংশনের নাম।
pdf sym.main
আমরা উপরের স্ক্রিনশটে দেখতে পাচ্ছি, আমাদের সি প্রোগ্রামের সম্পূর্ণ বিচ্ছিন্নতা রয়েছে। আমরা এখন সমাবেশটি পড়ে প্রোগ্রামটি কী করছে তা বিশ্লেষণ করতে পারি।
উদাহরণ স্বরূপ, mov dword [rbp-0x4], 0x0
একটি মেমরি অবস্থান rbp - বেস পয়েন্টার, 0x4 - একটি পূর্ণসংখ্যার জন্য মেমরি আকার প্রয়োজন একটি মান (0) বরাদ্দ করা হয়।
আমাদের আছে sym.imp.printf কল করুন
, যা রেজিস্টারের বিষয়বস্তু মুদ্রণ করবে eax
, অর্থাৎ মান 0।
r2 এ একটি প্রোগ্রামের প্রবাহকে ম্যানিপুলেট এবং ডিবাগ করার জন্য আরও অনেক বিকল্প রয়েছে। আপনি অন্যান্য বিকল্পগুলি চেষ্টা করতে পারেন যা এর সাথে দেখানো হয়েছে ?
আদেশ একটি ফাইলে কোনো লগ বা বিচ্ছিন্ন আউটপুট সংরক্ষণ করতে, আপনি নীচের মত আউটপুট পাইপ করতে পারেন:
pdf main > main.s
এটি ছিল লিনাক্সে বহুল ব্যবহৃত কিছু হ্যাকিং টুলের ওভারভিউ। আপনি যদি এই পৃষ্ঠাটিকে সহায়ক বলে মনে করেন, তবে এটি আপনার প্রিয় অনলাইন সম্প্রদায়গুলিতে ভাগ করতে ভুলবেন না৷