What is "Metasploit Framework"??
আজকের পোস্টটাও বড় হতে পারে কারন " Metasploit Framework" টা অনেক বড় একটা জিনিস,,
আজ আমরা জানতে যাচ্ছি এখন পর্যন্ত পৃথিবীর সবচেয়ে বড় "Open-Source" পেনেট্রেশন টেস্টিং (Penetration Testing) ফ্রেমওয়ার্ক "Metasploit" সম্পর্কে,, যেটা প্রায় পৃথিবীর সকল সাইবার সিকিউরিটি ইঞ্জিনিয়ার, আইটি ইঞ্জিনিয়ার, আনইথিক্যাল হ্যা*কা*র, ইথিক্যাল হ্যা*কা*র বা আমরা যাদের পেনেট্রেশন টেস্টার বলি তারা কোনো একটা নেটওয়ার্ক সিস্টেম বা কোনো অপারেটিং সিস্টেম এনালাইসিস করার জন্য ব্যবহার করে থাকে,, এটি একসাথে অফেন্সিভ মানে অন্যদের নেটওয়ার্ক বা অপারেটিং সিস্টেমে এট্যাক এবং নিজের অথবা অন্যদের নেটওয়ার্ক বা অপারেটিং সিস্টেমকে অফেন্সিভ এর এট্যাক গুলা এনালাইজ করে সেগুলো থেকে কীভাবে বেছে থাকা যায় সেই কাজেও সাহায্য করে,, মানে এক কথায় ডিফেন্সিভ এর কাজও করে,, এই ফ্রেমওয়ার্কের আসল নির্মাতার নাম "HD Moore" আর এই ফ্রেমওয়ার্কটি রুবি "Ruby Programming Language" দিয়ে তৈরি,, এই ফ্রেমওয়ার্কটা তৈরির আসল উদ্দেশ্যটাই হলো ডিফেন্সার ও অফেন্সারদের জন্য হ্যা*কিং সহজ করে দেওয়া,,
আপনারা বলতে পারেন আমি এতক্ষন ধরে এই জিনিসটাকে টুল না বলে ফ্রেমওয়ার্ক কেনো বলতেছি??
এইটার পিছনে কারণ আছে,, সেটি হলো এই "Metasploit" জিনিসটা অনেকগুলো টুলস বা মডিউলস নিয়ে গঠিত তাই এটাকে ফ্রেমওয়ার্ক বলা হয়,, বুঝেন নি?? আচ্ছা আরো বুঝিয়ে বলি,,ধরেন আমরা যখন একসাথে অনেকে কোনো ছবি উঠাই তখন আমরা সবাই ঠিক একটা জায়গাতেই অবস্থান করি বা যখন ছবিটা তোলা হয় তখন আমরা ওই ছবির মধ্যেই থাকি, যেটাকে আমরা মুলত একটা ফ্রেম বলি,, ঠিক এমনটাই "Metasploit" এর ক্ষেত্রেও,, এর ভিতরে অনেক টুলস বা মডিউলস আছে বলেই এইটাকে একটা ফ্রেমওয়ার্ক বলা হয়,,
"Metasploit" এর টুলস বা মডিউল গুলো কিন্তু একসাথে "Network Exploitation" এবং "Binary Exploitation" এর জন্যও ব্যবহার করা হয়,,
কিন্তু আজকে আমরা জানবো Metasploit কীভাবে "Network Exploitation" এ কাজ করে,, আর সেটা জানব জনপ্রিয় দুইটি মডিউলস "msfvenom" এবং "msfconsole" এর সাহায্যে,, এই দুইটা মডিউলস প্রচুর ব্যবহার করা হয় অন্য মডিউলস গুলোর তুলনায়,, তাউ আজ সেগুলো নিয়ে আলোচনা করি,,
প্রথমেই "msfvenom" নিয়ে আলোচনা করা যাক,,
এই "msfvenom" মডিউলটার মধ্যে কিন্তু আবার আরো দুইটি মডিউল আছে,, মানে সেই অন্য দুইটি মডিউল নিয়েই "msfvenom" তৈরি,, "msfvenom" এর আন্ডারে যে মডিউলস দুইটি রয়েছে সেগুলো হলোঃ "Payload" এবং "Encode",,
Payload :--------
এইখানে "Payload" মডিউলটার কাজ হলো কোনো একটা নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেম কে কেন্দ্র করে একটি ম্যালওয়্যার বানানো,, [যারা ম্যালওয়্যার বুঝেন না তাদের বলি,, এইটা এক রকমের ভাইরাস] যেমনঃ
".exe" (For Windows)
".elf" (For Linux)
".apk" (For Android)
এইরকম আরো অনেক প্লাটফর্ম আছে,, যেগুলোর জন্য এই Payload মডিউলের সাহায্যে ম্যালওয়্যার বানানো যায়,,
এটি বানানোর সময় আমাদেরকে আমাদের হ্যা*কিং ম্যাশিনের IP Address (Internet Protocol Address) এবং একটি পোর্ট নির্দিষ্ট করে দিয়ে হয়,, সেটা কেনো করতে হয় তা আপনারা পুরো লিখা পড়লেই বুঝতে পারবেন,,,
Encode :--------
এইখানে "Encode" এর কাজ হলো আমাদের বানানো "Payload" বা ম্যালওয়্যারটাকে এমন রুপ দেওয়া যাতে ভিকটিমের সিস্টেমের এন্টিভাইরাস (Anti-virus) আমাদের ম্যালিশিয়াস Payload টাকে ডিটেকট করতে না পারে,, আমরা Payload বানালাম ঠিকই, কিন্তু যদি কাজ না করে তাহলে ওইটারতো আর কোনো দাম থাকলো না,, তাই মুলত "Encode" ব্যবহার করা হয়,,
এখম আসা যাক "msfconsole" -এ,,
এই "msfconsole" মডিউলটার মধ্যেও কিন্তু আবার আরো পাঁচটি মডিউল আছে,, মানে সেই অন্য পাঁচটি মডিউল নিয়েই "msfconsole" তৈরি,, "msfconsole" এর আন্ডারে যে মডিউলস পাঁচটি রয়েছে সেগুলো হলোঃ "Auxiliaries", "Exploits", "Listening", "Post Exploits", এবং "Nops",,
Auxiliaries :--------
এইখানে "Auxiliaries" এই মডিউলটার কাজ হলো তথ্য খুজে বের করা,, মানে কোনো একটা নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেম কে কেন্দ্র করে ওইটা সম্পর্কে তথ্য খুজে বের করা,, যেটাকে আমরা পেনেট্রেশন টেস্টাররা "Recon বা "Reconnaissance" বলে থাকি,, অর্থাৎ বলতে গেলে সেই নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেমের কোনো পোর্ট খোলা আছে কীনা,, বা ওই নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেমের চলমান ভার্ষনটার কোনো ভুল, ক্রটি (Vulnerabilities) আছে কিনা,, সেটা খুজে বের করা,,
Exploits :--------
এই "Exploits" মডিউলটার আসল কাজ হলো ওই নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেম কে আমাদের তৈরি করা Payload টার সাহায্যে হ্যা*ক করা বা কম্প্রোমাইজ করা,, কিন্তু তার আগে আমাদের কে এইখানে আমাদের সেই বানানো Payload এবং আমাদের IP Address (Internet Protocol Address) সাথে একটি পোর্ট নাম্বার দিয়ে দিতে হয়,, যার মাধমে আমরা ভিকটিকের সাথে একটা Reverse Connection তৈরি করতে পারি,, (এইখানে ভিকটিমের সাথে কানেক্ট হওয়ার জন্য আরো একটা সিস্টেম আছে যেটাকে আমরা Bind Connection বলি,, এইটার কাজ হলো ওই সিস্টেমকে এইটা বলা আমি তোমার সাথে একটা কানেকশন তৈরি করে চাই আমাকে সেটা করে,, অনেক সময় ভিকটিমের "Firewall" সেটাকে ডিনাই বা না করে দেয় যার কারনে কানেকশন তৈরি হয় না ঠিক মতো, তাই আমরা Reverce Connection ব্যবহার করি যেটায় ভিকটিমের ডিভাইসটাই আমাদের সাথে কানেক্ট হতে চায়,, যেটাকে আমরা "RCE = Remote Code Execution" ও বলি)
Listening :--------
আমরা Payload ও বানালাম, সেটা যেকোনো কিছুর মাধমে মানে "FTP" সার্ভিসের মাধ্যমে ভিকটিমের কাছেও পাঠালাম,,
যারা পোর্ট বিষয়টা বুঝেন না তারা এউ পোস্ট দেখে আসতে পারেন"https://haxorerror.blogspot.com/2023/01/port-and-protocol.html"
এখন যদি সেটা কানেকশনই তৈরি না করে তাহলে কী লাভ,, তাই কানেকশন তৈরি করার জন্য তো আমাদেকে অর্থাৎ আমাদের হ্যা*কিং ম্যাশিন কে প্রস্তুত রাখা লাগবে যাতে সে সেই Reverse Connection টাকে ক্যাপচার করতে পারে,,আর এইটাকে আমরা "Listening" বলি,, যেটার জন্য আমাদেরকে আমাদের হ্যা*কিং ম্যাশিনের IP Address (Internet Protocol Address) এবং সেই নির্দিষ্ট পোর্ট নাম্বারটা বলে দিতে হয় যেটা আমরা আমাদের Payload বানানোর সময় দিয়েছিলাম,, পরে আমরা ভিকটিমের ডিভাইসের পুরো এক্সেস পাওয়ার জন্য অন্য একটি মডিউল ব্যাবহার করি যেটার নাম "meterpreter",, যার দ্বারা আমরা একটি পরিপূর্ণ Shell, Terminal, Cmd আপনারা যেটাই বলুন সেটা পেয়ে থাকি,, (পুরাও এক্সেস বলতে,, Screenshot, Webcam, Microphone, Sms Dump, Call logs Dump, Sending Mesages আরো অনেক কিছু)
Post Exploits :--------
এইটার কাজও ঠিক "Exploits" এর মতো কিন্তু আমরা এইটা দিয়ে সেই নির্দিষ্ট ডিভাইস, নেটওয়ার্ক বা অপারেটিং সিস্টেমের সাথে কানেক্টেড অন্যান্য ডিভাউসগুলোকেও হ্যা*ক বা কম্প্রোমাইজ করে আমাদের এক্সেসে নিয়ে আসতে পারি,,
Nops :--------
আমদের বানানো Payload টা যেহেতু অন্যান্য প্রোগ্রাম গুলোর মতো একটা প্রোগ্রাম, তাই এইটাও অন্যান্য প্রোগ্রাম গুলোর মতো অনেকসময় ক্রাশ করতে পারে,, তাই আমাদের বানানো Payload টাকে অনেকটা Stable করার কাজই হলো এই মডিউলের,,
এখন আসল কথা আমরা Payload বানালাম,, সেটাতো আর ভিকটিম এমনি এমনি নিবে না,, কারন সে বুঝবে এইটা এমনিতে একটা ম্যালওয়্যার,, তাই আমরা আমাদের Payload টাকে অন্যান্য এপ্লিকেশনের সাথে Bind বা Inject মানে যুক্ত করে দিতে পারি,, যার ফলে ভিকটিমের সন্দেহ অনেকটাই কমে যাবে,, যেহেতু আমাদের Reverse Connection পেতে হলে ভিকটিমকে সেই Payload রান বা Execute করতে হবে,, তাছাড়াতো আমরা Connection পাবো না,, তাই এইটাকে অন্য এপ্লিকেশনের সাথে Bind করা,,
এসব ছাড়াও এইটার অনেক কান আছে আরো,, তার মাঝে অন্যাতম একটা হলো "Bruteforcing",, এই "Bruteforce Attack" এর জন্য এমমিতেই আলাদা একটা টুল আছে যেটা "Hydra" নামে পরিচিত,, যদি আপনারা চান আমি এইটা নিয়েও আলাদা আলোচনা করতে পারি,,
আজ এতটুকুই,, এমনিতেই অনেক বড় লিখা হয়ে গেছে,, আমি আর গভিরে যাচ্ছি না,,
হ্যাপি হ্যা*কিং 💀🤖
©️ Maksudur Rahaman & guthub : h4x0r3rr0r
No comments:
Post a Comment