10.0.0.30 پر موجود file1 پر ایک ‘ایکسپوزڈ’ (کھلی/غیر محفوظ) Samba شیئر، کسی ایسے شخص پر فائلیں ظاہر کر سکتا ہے جو پاس ورڈ توڑے یا میلویئر (malware) انسٹال کیے بغیر اس سروس تک رسائی حاصل کر لے۔ یہ نتیجہ ہماری لیب میں اس لیے مفید ہے کیونکہ یہ ظاہر کرتا ہے کہ سیکیورٹی ٹیسٹنگ شروع کرنے سے پہلے اس کے لیے حدود مقرر کرنا کیوں ضروری ہے۔ ہم صرف ان سسٹمز کا معائنہ کریں گے جن کے ہم مالک ہیں یا جن کی جانچ کے لیے ہمیں تحریری اجازت حاصل ہے، اور ہم اس بات کا ریکارڈ رکھیں گے کہ سروس نے کیا معلومات ظاہر کیں تاکہ اس کا مالک اس خامی کو دور کر سکے۔
ہمارا مخصوص ماحول نجی نیٹ ورک 10.0.0.0/24 ہے۔ 10.0.0.10 پر موجود Kali ٹیسٹنگ ورک اسٹیشن ہے۔ 10.0.0.20 پر موجود web1 ایک Metasploitable 2 ٹارگٹ ہے جس میں پورٹس 21، 22 اور 80 پر سروسز چل رہی ہیں، جبکہ 10.0.0.30 پر موجود file1 پورٹس 139 اور 445 پر Samba کو ظاہر (expose) کرتی ہے۔ اس سب نیٹ (subnet) سے باہر کا کوئی بھی ایڈریس اس مشق کا حصہ نہیں ہے، اور لیب میں انٹرنیٹ سے منسلک (internet-facing) کوئی ٹارگٹ موجود نہیں ہے۔ ہم کسی کمزوری کی نوعیت اور اس کے قابلِ مشاہدہ اثر کو ظاہر کرتے ہیں، نہ کہ ایسے ‘ویپنائزڈ’ (حملہ آور) اقدامات کو جنہیں کسی دوسرے سسٹم کے خلاف دوبارہ استعمال کیا جا سکے۔ آئیے اس حد (boundary) کا جائزہ لیں جو بعد کی ہر مشق کو اپنے دائرہ کار میں محدود رکھتی ہے:
یہ خاکہ (ڈایاگرام) ایک مجاز سمت متعین کرتا ہے: Kali (کالی) سے لیب کے دو مخصوص اہداف (targets) کی جانب۔ 10.0.0.30 پر بھیجی جانے والی درخواست دائرہ کار (scope) میں شامل ہے کیونکہ file1 ایک مقررہ ہدف ہے؛ جبکہ کسی نامعلوم پتے پر وہی درخواست بھیجنا ممنوع ہے، چاہے سروس بظاہر ایک جیسی ہی کیوں نہ ہو۔
چونکہ صرف نیٹ ورک کی حدود ہی قابلِ قبول رویے کا تعین نہیں کرتیں، اس لیے ہمیں Rules of Engagement (عمل درآمد کے اصولوں) کے معاہدے کی ضرورت ہوتی ہے۔ یہ ایک تحریری معاہدہ ہے جو یہ طے کرتا ہے کہ کون ٹیسٹ کر سکتا ہے، کن اثاثوں (assets) کا ٹیسٹ کیا جا سکتا ہے، ٹیسٹ کب کیا جا سکتا ہے، اور کون سے طریقے استعمال کیے جا سکتے ہیں۔ اس کورس کے لیے، معاہدے میں web1 اور file1 کا ذکر ہے، سرگرمی کو 10.0.0.0/24 تک محدود کیا گیا ہے، اور Kali کو ٹیسٹنگ کے واحد نقطہ آغاز (origin) کے طور پر تسلیم کیا گیا ہے۔ تحریری اجازت نامہ، ‘کنٹرولڈ اسیسمنٹ’ (منظم جانچ) اور ‘غیر مجاز رسائی’ کے درمیان فرق واضح کرتا ہے (جیسا کہ امریکہ کے Computer Fraud and Abuse Act اور برطانیہ کے Computer Misuse Act 1990 جیسے قوانین کے تحت ہوتا ہے)۔ یہ کورس تکنیکی تعلیم فراہم کرتا ہے، نہ کہ قانونی مشورہ۔
یہ معاہدہ ابتدائی سطح کی مشق کو نقصان دہ بننے سے بھی روکتا ہے۔ ہم ایسی سروسز کی نشاندہی کر سکتے ہیں جو بیرونی رسائی کے لیے کھلی (exposed) ہیں، اور محفوظ طریقے سے یہ دیکھ سکتے ہیں کہ آیا Samba کی گمنام (anonymous) لسٹنگ کسی فائل کا نام ظاہر کرتی ہے یا نہیں۔ ہم پے لوڈز (payloads) میں ردوبدل نہیں کرتے، نگرانی (monitoring) سے بچنے کی کوشش نہیں کرتے، مستقل رسائی (persistence) قائم نہیں کرتے، دستیابی (availability) میں خلل نہیں ڈالتے، پاس ورڈ کا اندازہ لگانے کی بڑے پیمانے پر کوششیں نہیں کرتے، اور نہ ہی نوٹس میں اصلی اسناد (credentials) درج کرتے ہیں۔ ٹیسٹ کے نتیجے میں ایسے شواہد ملنے چاہئیں جنہیں دفاعی فریق (defender) جانچ سکے، نہ کہ ایسی بے قابو تبدیلی پیدا ہو جسے ٹھیک کرنے کے لیے لیب کے مالک کو اضافی محنت کرنی پڑے۔
محفوظ حد (Safe boundary)
اگر کوئی عمل رسائی، دستیابی، یا مستقل رسائی (persistence) کی صورتحال کو طے شدہ مشاہدے کی حدود سے باہر تبدیل کر دے، تو مزید آگے بڑھنے کے بجائے رک جائیں اور اس صورتحال کو ریکارڈ کر لیں۔
ہر مجاز قدم شواہد کا ایک چھوٹا سا سلسلہ (evidence trail) تخلیق کرتا ہے۔ نوٹ بک میں ٹائپ کی گئی کمانڈ، ٹائم اسٹیمپ (وقت کا اندراج)، ہدف کا پتہ، اور متعلقہ آؤٹ پٹ ریکارڈ کیے جاتے ہیں۔ اگر شیئر لسٹنگ میں backup.zip نظر آتا ہے، تو ہم اس نام اور رسائی کی صورتحال کو ریکارڈ کرتے ہیں، اور پھر یہ جائزہ لیتے ہیں کہ دفاعی فریق کے کس لاگ (log) میں یہ کنکشن ظاہر ہوگا اور کون سی کنفیگریشن گمنام رسائی کو روک سکے گی۔ نیچے دیا گیا جدول مفید مشاہدات کو ان اقدامات سے الگ کرتا ہے جو ہمارے معاہدے کی حدود سے تجاوز کرتے ہیں: