WS-017، جو کہ ڈومین سے منسلک ایک ورک اسٹیشن ہے، اس وقت ایک الرٹ جاری کرتا ہے جب powershell.exe ایک غیر معمولی اکاؤنٹ کے تحت چلنا شروع ہوتا ہے۔ ابتدائی جانچ پڑتال مشکوک اسکرپٹنگ کی تصدیق تو کرتی ہے لیکن وہیں رک جاتی ہے، اور اس ‘پرسسٹنس میکانزم’ (مستقل موجودگی کے طریقہ کار) کو نظر انداز کر دیتی ہے جو PowerShell کے عمل (process) کے ختم ہونے کے بعد بھی برقرار رہتا ہے۔ حملہ آور کو ورک اسٹیشن پر کسی نئی کمزوری (vulnerability) کی ضرورت نہیں تھی۔ انہیں صرف ایک قابلِ استعمال ڈومین اکاؤنٹ اور کسی ایک ہوسٹ (host) سے اپنا مطلوبہ عمل کروانے کے طریقے کی ضرورت تھی۔
دفاع کرنے والے (defender) کے لیے سوال یہ ہے کہ آیا PowerShell کا الرٹ ایک الگ تھلگ واقعہ تھا یا کسی بڑے سلسلے کا ایک حصہ۔ اگلے سات اسباق میں، ہم WS-017 پر موجود ریکارڈز کو ایک ایسی ٹائم لائن (وقوعہ وار ترتیب) میں تبدیل کریں گے جس کی ٹھوس بنیاد ہو، یہ شناخت کریں گے کہ کیا تبدیلیاں ہوئیں، اور یہ طے کریں گے کہ شواہد کس قسم کے ردعمل کی تائید کرتے ہیں۔ ایک قابلِ دفاع نتیجے میں محض الرٹ کے لیبل پر انحصار کرنے کے بجائے ہوسٹ، اکاؤنٹ، عمل، وقت اور اس ‘آرٹیفیکٹ’ (ثبوت/ریکارڈ) کا ذکر کیا جاتا ہے جو اس نتیجے کی تصدیق کرتے ہیں۔
سب سے سادہ کیس ایک ایسا ‘ایگزیکیوشن ایونٹ’ (عمل درآمد کا واقعہ) ہے جو یہ ظاہر کرتا ہے کہ ACME\svc_backup نے 09:24 پر WS-017 پر powershell.exe کو چلایا۔ یہ ریکارڈ اس بات کی تصدیق کرتا ہے کہ مذکورہ ‘پرنسپل’ (اکاؤنٹ/صارف) کے تحت ایک عمل شروع ہوا۔ یہ ریکارڈ یہ واضح نہیں کرتا کہ اکاؤنٹ ہوسٹ تک کیسے پہنچا، کون سی اسکرپٹ چلی، آیا ‘پرسسٹنس’ (مستقل موجودگی) قائم کی گئی، یا آیا وہ عمل کامیاب رہا۔ بعد میں ملنے والا ہر ‘آرٹیفیکٹ’ (ثبوت) ان مخصوص سوالات میں سے کسی ایک کا جواب فراہم کرتا ہے۔
تفتیشی اصول
ہر الرٹ کو ایک نقطہ آغاز سمجھیں۔ اس کے دائرہ کار، وجہ یا اثرات کا اعلان کرنے سے پہلے ہوسٹ سے متعلقہ شواہد کے ذریعے اس کے دعوے کی تصدیق کریں۔
غیر متعلقہ ریکارڈز کی وجہ سے کسی غلط بیانیے (false narrative) کے بننے سے روکنے کے لیے، ہر لیب میں یکساں اور مقررہ حدود استعمال کی جاتی ہیں۔ ہوسٹ WS-017 ہے، جو ACME.LOCAL ڈومین سے منسلک ہے۔ اس کا متوقع انٹرایکٹو صارف ACME\j.smith ہے۔ مشکوک ‘پرنسپل’ (اکاؤنٹ) ACME\svc_backup ہے، جو ایک ‘سروس اکاؤنٹ’ ہے اور صارف کے ورک اسٹیشن پر اس کے استعمال کی وضاحت درکار ہے۔ واقعے کا دورانیہ (time window) 14 ستمبر 2026 کو مقامی وقت کے مطابق 09:10 سے 10:05 بجے تک ہے۔
یہ مستقل عوامل (constants) ہمیں اس مفروضے کے بغیر شواہد کا باہمی ربط قائم کرنے کی سہولت دیتے ہیں کہ ہر واقعہ نقصان دہ (malicious) ہے۔ سیکیورٹی لاگ کا ریکارڈ SubjectUserName جیسے فیلڈز کے ذریعے ‘پرنسپل’ کی شناخت کر سکتا ہے اور LogonType کے ذریعے سیشن کی قسم کا تعین کر سکتا ہے۔ پروسیس امیج کا راستہ (path)، رجسٹری کا راستہ، اور سروس کی کنفیگریشن—یہ سب اسی وقت بامعنی بنتے ہیں جب انہیں WS-017 اور اس مخصوص وقت کے دورانیے سے جوڑا جائے۔ اگر کسی ریکارڈ میں کسی دوسرے ہوسٹ (host) کا ذکر ہو یا وہ مقررہ ٹائم ونڈو (time window) سے باہر ہو، تو ہم اسے صرف تب ہی اپنے پاس رکھتے ہیں جب شواہد اس کے براہِ راست تعلق کی تصدیق کریں۔
اس معاملے میں ‘لوکل ایڈمنسٹریٹرز گروپ’ (local Administrators group) ایک اہم حد یا سنگِ میل کی حیثیت رکھتا ہے۔ ACME\j.smith کو ایک عام صارف (standard user) کے طور پر کام کرنا چاہیے، جبکہ ACME\svc_backup کے ذریعے کیے جانے والے اقدامات میں انتظامی اختیارات (administrative authority) شامل ہو سکتے ہیں۔ وہی ایگزیکیٹیبل فائل (executable) تفتیشی اعتبار سے مختلف معنی رکھتی ہے جب اسے ایسے اکاؤنٹ کے تحت چلایا جائے جو سروسز انسٹال کرنے، سسٹم کی سطح پر رجسٹری کیز (registry keys) لکھنے، یا سیکیورٹی کی ترتیبات تبدیل کرنے کی صلاحیت رکھتا ہو۔
کیس کی یہ حد (boundary) ڈومین شناخت، مقامی استحقاق کی حد (local privilege boundary)، اور واقعے کے دورانیے (incident window) کو ایک ہی منظرنامے میں یکجا کرتی ہے:
یہ خاکہ بعد میں آنے والے ہر سوال کے لیے دائرہ کار (scope) متعین کرتا ہے۔ ہم مذکورہ 55 منٹوں کے دوران WS-017 پر ہونے والی سرگرمیوں کی چھان بین کرتے ہیں، اور دائرہ کار کو صرف تب بڑھاتے ہیں جب کوئی ثبوت (artifact) اس حد سے آگے کی نشاندہی کرے۔
ایک بار جب کیس کا دائرہ کار طے ہو جائے، تو شواہد کے ذرائع کا انتخاب اس بنیاد پر کیا جانا چاہیے کہ وہ کس سوال کا جواب دے سکتے ہیں، نہ کہ اس بنیاد پر کہ کوئی خاص لاگ چینل زیادہ مستند محسوس ہوتا ہے۔ ونڈوز ایونٹ لاگ (Windows Event Log) آپریٹنگ سسٹم اور سیکیورٹی سے متعلق سرگرمیوں کو ریکارڈ کرتا ہے، جبکہ Sysmon (اگر کنفیگر کیا گیا ہو) تفصیلی اینڈ پوائنٹ ٹیلی میٹری کا اضافہ کرتا ہے۔ رجسٹری ایسی کنفیگریشن کو محفوظ رکھتی ہے جو کسی پروسیس کے ختم ہونے کے بعد بھی برقرار رہ سکتی ہے۔ کوئی ایک ذریعہ پورے سلسلے (sequence) کو ثابت نہیں کرتا۔
WS-017 کے لیے، بعد کی لیبز میں شواہد کے چار گروپس (families) استعمال کیے جائیں گے:
Microsoft-Windows-Sysmon/Operational: پروسیس کی تخلیق، نیٹ ورک سرگرمی، فائل کی تخلیق، اور رجسٹری میں تبدیلیوں کو آپس میں مربوط کرنے کے لیے (جب Sysmon نے انہیں ریکارڈ کیا ہو)۔Microsoft-Windows-PowerShell/Operational: یہ تعین کرنے کے لیے کہ PowerShell نے اسکرپٹنگ سرگرمی کے بارے میں کیا لاگ کیا ہے۔HKLM اور HKCU رجسٹری ہائیوز (hives): مشین کی سطح پر اور صارف کے لیے مخصوص کنفیگریشن کی تبدیلیوں کا جائزہ لینے کے لیے۔سسٹم ایونٹ جیسے کہ 7045 یہ ریکارڈ کرتا ہے کہ سروس کنٹرول مینیجر نے ایک سروس انسٹال کی ہے، جس میں سروس کا نام، امیج پاتھ، اسٹارٹ ٹائپ، اور سروس اکاؤنٹ شامل ہوتے ہیں۔ اکیلے 7045 سے صرف سروس کی تخلیق ثابت ہوتی ہے، نہ کہ کوئی مجرمانہ ارادہ۔ ہمیں پاتھ اور اکاؤنٹ کا موازنہ متوقع انتظامی کارروائیوں سے کرنا چاہیے، اور پھر قریبی لاگ آنز اور پروسیس کے شواہد کو آپس میں مربوط کرنا چاہیے۔ اگر کوئی سروس بنائی گئی لیکن اس کا ایگزیکیٹیبل پاتھ (executable path) ریکارڈ نہیں کیا گیا یا متعلقہ آڈٹ کا ذریعہ موجود نہیں ہے، تو تفتیش میں ایک ایسا ‘بلائنڈ اسپاٹ’ (معلومات کا خلا) رہ جاتا ہے جسے واضح طور پر بیان کیا جانا چاہیے۔
شواہد کے ذرائع کوریج، فیلڈز، اور ناکامی کے طریقوں (failure modes) کے لحاظ سے مختلف ہوتے ہیں: