12 اکتوبر 2026 کو 14:32:18Z پر، Ubuntu سرور ir-lab-ubuntu24 نے ops اکاؤنٹ کے لیے ایک غیر متوقع لاگ ان قبول کیا۔ حملہ آور کو کسی پروگرام میں تبدیلی کرنے یا انکرپشن توڑنے کی ضرورت نہیں پڑی اگر ops کو پہلے سے ہی ان فائلوں تک رسائی حاصل تھی جو صرف socalyst یا root کی ملکیت ہونی چاہیے تھیں۔ بطور محافظ ہمارا سوال واضح ہے: فائل سسٹم کے کون سے راستے (paths) کسی اکاؤنٹ کو ایسی چیز پڑھنے، تبدیل کرنے یا اس میں داخل ہونے کی اجازت دیتے ہیں جس تک اسے رسائی نہیں ہونی چاہیے؟
بعد میں کی جانے والی ہر مشاہداتی کارروائی میں کیس کے انہی حقائق کو استعمال کیا گیا ہے۔ تجزیہ کار کا اکاؤنٹ socalyst ہے، مشکوک اکاؤنٹ ops ہے، اور واقعے کا دورانیہ (time window) 12 اکتوبر 2026 کو 14:10:00Z سے 15:10:00Z تک محیط ہے۔ Linux سرور کا نام /etc/hostname میں، مقامی اکاؤنٹس کے ریکارڈز /etc/passwd میں، محفوظ پاس ورڈ ہیشز (hashes) /etc/shadow میں، اور ہر اکاؤنٹ کی فائلیں /home/socalyst اور /home/ops جیسے راستوں (paths) پر محفوظ کرتا ہے۔ ‘پاتھ’ (path) محض ایک مقام نہیں ہوتا۔ اس کی ملکیت اور اجازتیں (permissions) یہ طے کرتی ہیں کہ اس مقام پر موجود آبجیکٹ (object) کو کون استعمال کر سکتا ہے۔ کیس کا ہوسٹ (host) اور اس سے متعلقہ شواہد کے راستے ان حدود کا تعین کرتے ہیں جن کا ہم معائنہ کریں گے:
یہ خاکہ ظاہر کرتا ہے کہ شناخت کے ریکارڈز، ہوسٹ کنفیگریشن، ہوم ڈائریکٹریز اور تصدیقی شواہد الگ الگ راستوں (paths) پر موجود ہوتے ہیں۔ /home/ops کے بارے میں ملنے والی کوئی معلومات خود بخود یہ ثابت نہیں کرتیں کہ /etc/shadow میں تبدیلی آئی ہے، لہذا ہم ہر دعوے کو اس کی تائید کرنے والے ثبوت (artifact) کے ساتھ منسلک رکھتے ہیں۔
غیر متوقع ops لاگ ان کی وجہ سے ‘اجازت ناموں’ (permissions) کی جانچ پڑتال اگلا اہم مرحلہ بن جاتا ہے، کیونکہ لینکس (Linux) کسی بھی عمل (process) کے فائل پڑھنے، فائل میں تبدیلی کرنے یا ڈائریکٹری میں داخل ہونے سے پہلے رسائی کا جائزہ لیتا ہے۔ صارف (user) سے مراد socalyst یا ops جیسا کوئی اکاؤنٹ ہے۔ گروپ (group) اکاؤنٹس کا ایک نامزد مجموعہ ہوتا ہے جو رسائی کا اشتراک کر سکتے ہیں؛ مثال کے طور پر shadow گروپ، جسے پاس ورڈ ہیش ریکارڈز تک رسائی کو محدود کرنے کے لیے استعمال کیا جاتا ہے۔
فائل سسٹم کے ہر آبجیکٹ (object) کا ایک مالک، ایک گروپ اور اجازت ناموں کے تین سیٹ ہوتے ہیں۔ مالک کی اجازتیں متعلقہ اکاؤنٹ پر لاگو ہوتی ہیں، گروپ کی اجازتیں تفویض کردہ گروپ کے اراکین پر لاگو ہوتی ہیں، اور دیگر اجازتیں باقی تمام لوگوں پر لاگو ہوتی ہیں۔ ان میں r کا مطلب مواد کو پڑھنا، w کا مطلب مواد میں تبدیلی کرنا، اور x کا مطلب پروگرام چلانا یا ڈائریکٹری میں داخل ہونا ہے۔ /home/ops کے معاملے میں، ڈائریکٹری کی اجازت x اس بات کا تعین کرتی ہے کہ آیا کوئی دوسرا اکاؤنٹ اس ڈائریکٹری کے راستے (path) پر جا سکتا ہے یا نہیں۔
/etc/hostname اور /etc/shadow کے درمیان فرق سیکیورٹی کے حوالے سے کیے گئے فیصلے کو واضح کرتا ہے۔ مختلف پروسیسز کو ہوسٹ کا نام (hostname) پڑھنے کی ضرورت ہوتی ہے، اس لیے /etc/hostname عام طور پر تمام اکاؤنٹس کے لیے قابلِ مطالعہ (readable) ہوتا ہے، جبکہ /etc/shadow میں موجود پاس ورڈ ہیشز کو صرف سسٹم کے خصوصی (privileged) اجزاء ہی پڑھنے چاہئیں۔ ‘ورلڈ رائٹیبل’ (world-writable) رسائی—یعنی جب ‘دیگر’ (others) والے سیٹ میں w شامل ہو—کسی بھی مقامی اکاؤنٹ کو محفوظ آبجیکٹ میں تبدیلی کرنے کی اجازت دے دے گی۔ اگر /etc/shadow ‘ورلڈ ریڈ ایبل’ (world-readable) ہو تو پاس ورڈ ہیشز بے نقاب ہو جائیں گے اور آف لائن اندازے (offline guessing) کے ذریعے ان کا پتہ لگایا جا سکے گا۔ متعلقہ راستوں (paths) کی متوقع ہیئت مشکوک انحرافات کو پہچاننا آسان بناتی ہے:
یہ جدول ظاہر کرتا ہے کہ اجازت کی ترتیبات (permission settings) کا انحصار پاتھ (path) کے مقصد پر ہوتا ہے۔ شناخت اور ہوسٹ کے نام (hostname) کی معلومات، جنہیں عوامی سطح پر پڑھا جا سکتا ہے، نظام کے معمول کے کاموں میں معاون ثابت ہو سکتی ہیں؛ تاہم ‘لکھنے’ (write) کی رسائی محدود رکھی جاتی ہے کیونکہ شناخت کے ریکارڈ یا ہوسٹ کی ترتیبات میں تبدیلی بعد کی تفتیش کو گمراہ کر سکتی ہے۔
اجازت کا اصول اجازت کے موڈ (permission mode) کو رسائی کی ‘اجازت’ کے ثبوت کے طور پر سمجھیں، نہ کہ اس بات کے ثبوت کے طور پر کہ رسائی ‘واقعی ہوئی’ تھی۔ کسی عمل کے بارے میں دعوے کی تصدیق کے لیے لاگز (logs) اور ٹائم اسٹیمپس (timestamps) کی ضرورت ہوتی ہے۔
چونکہ اجازتیں (permissions) ارادے کے بجائے موجودہ رسائی کی وضاحت کرتی ہیں، اس لیے ہم سب سے پہلے ir-lab-ubuntu24 کے بارے میں مشاہدہ کیے جانے والے حقائق کو محفوظ کرتے ہیں۔ hostnamectl، id، ls -l، stat، اور readlink -f جیسی کمانڈز زیرِ مطالعہ فائلوں میں کوئی تبدیلی کیے بغیر مختلف سوالات کے جواب دیتی ہیں۔ hostnamectl ترتیب شدہ ہوسٹ کی شناخت (host identity) ظاہر کرتی ہے۔ id ops اور id socalyst ہر اکاؤنٹ کی عددی شناخت اور گروپ کی رکنیت کا تعین کرتی ہیں۔ یہ عددی شناختیں اس لیے اہم ہیں کیونکہ لینکس (Linux) ملکیت کو صارف اور گروپ کی IDs کے طور پر محفوظ کرتا ہے، چاہے کمانڈ کا آؤٹ پٹ مانوس نام ہی کیوں نہ دکھا رہا ہو۔
/etc/hostname، /etc/passwd، اور /etc/shadow جیسے پاتھس (paths) کے لیے، ls -l اجازت کے بٹس (permission bits)، مالک، گروپ، سائز اور ٹائم اسٹیمپ کا ایک مختصر جائزہ فراہم کرتی ہے۔ stat زیادہ درست میٹا ڈیٹا (metadata) فراہم کرتی ہے، جس میں عددی موڈ اور ترمیم کا وقت (modification time) شامل ہے۔ readlink -f کسی پاتھ کو اس کے حتمی ہدف (target) تک متعین کرتی ہے؛ اس سے ‘سمبولک لنک’ (symbolic link)—یعنی فائل سسٹم کا وہ آبجیکٹ جو کہیں اور اشارہ کرتا ہے—اس مقام کو چھپا نہیں پاتا جس کا ہم نے درحقیقت معائنہ کیا ہے۔ ذیل کا سیشن کیس کے حقائق کو ریکارڈ کرتا ہے، بغیر اس بات کا دعویٰ کیے کہ کوئی ٹائم اسٹیمپ یا اجازت کیوں موجود ہے: