Process Ghosting: মেমোরিতে ফাইল রিড/রাইট ম্যানিপুলেট করে ক্ষতিকর কোড চালানোর কৌশল!
Process Ghosting কীভাবে Delete-pending ফাইল ব্যবহার করে আধুনিক EDR বাইপাস করে এবং এর বিরুদ্ধে কার্যকর প্রতিরক্ষা কৌশল।
Windows Internals-এর জগতে প্রতি কয়েক বছর পর পর এমন একটি কৌশল আবিষ্কৃত হয় যা সমগ্র নিরাপত্তা শিল্পকে নতুন করে চিন্তা করতে বাধ্য করে। Process Hollowing, Process Doppelganging, Process Herpaderping—প্রতিটি কৌশল EDR বিকাশকারীদের নতুন প্রতিরক্ষা ডিজাইন করতে চাপ দিয়েছে। ২০২১ সালের জুনে Elastic Security Labs-এর গবেষক Gabriel Landau এই তালিকায় একটি নতুন নাম যোগ করেছিলেন—Process Ghosting। এই কৌশলটি অসাধারণ চতুর—এটি Windows-এর একটি অস্পষ্ট আচরণ অপব্যবহার করে যেখানে একটি ফাইল Delete-pending অবস্থায় থাকলেও তা থেকে প্রক্রিয়া তৈরি করা সম্ভব। ফলাফল—একটি চলমান প্রক্রিয়া যার Image ফাইল সিস্টেমে অস্তিত্বহীন, যা EDR-কে চরমভাবে বিভ্রান্ত করে। Microsoft এই কৌশল সম্পর্কে অবগত হয়েও মূল আচরণ পরিবর্তন করেনি কারণ এটি বৈধ Application-গুলোতে ব্যবহৃত হয়। এই আর্টিকেলে আমরা Process Ghosting-এর প্রযুক্তিগত গভীরতা, কার্যপ্রণালী, এবং প্রতিরক্ষা আলোচনা করবো।
Process Ghosting: মূল ধারণা
Process Ghosting একটি Process Injection বা Anti-forensics কৌশল যেখানে আক্রমণকারী Windows NTFS-এর Delete-pending File State অপব্যবহার করেন। Windows-এ যখন একটি ফাইল FILE_DELETE_ON_CLOSE ফ্ল্যাগ দিয়ে খোলা হয়, এটি Delete-pending অবস্থায় চিহ্নিত হয়। সব Handle বন্ধ হলে ফাইলটি স্বয়ংক্রিয়ভাবে মুছে যায়। তবে Delete-pending অবস্থায় থাকা সত্ত্বেও সেই ফাইল থেকে Section Object তৈরি এবং প্রক্রিয়া চালু করা সম্ভব।
এই কৌশলের সৃজনশীলতা হলো—Process তৈরির পরে যখন Handle বন্ধ হয়, ফাইল ডিস্ক থেকে মুছে যায়। এখন EDR দেখে একটি চলমান প্রক্রিয়া যার Image Path-এ কোনো ফাইল নেই। যখন EDR ফাইল-ভিত্তিক বিশ্লেষণ চালাতে চায়—Hash গণনা, Signature চেক, AMSI স্ক্যান—এটি ব্যর্থ হয় কারণ ফাইল আর নেই।
Process Doppelganging-এর সাথে তুলনা করলে—Doppelganging-এ ফাইল বিদ্যমান কিন্তু পরিবর্তিত অবস্থায় (Transaction-এর ভেতরে), Ghosting-এ ফাইল সম্পূর্ণ অনুপস্থিত। Doppelganging-এ আক্রমণকারীর Transactional NTFS প্রয়োজন—Microsoft যা Deprecated ঘোষণা করেছে; Ghosting আরো মৌলিক Windows আচরণ অপব্যবহার করে যা পরিবর্তন করা কঠিন।
Process Herpaderping-এর সাথেও পার্থক্য রয়েছে। Herpaderping-এ ফাইল প্রক্রিয়া তৈরির পরে Overwrite করা হয়। Ghosting-এ ফাইল প্রক্রিয়া তৈরির পরে Delete হয়। উভয় ক্ষেত্রে ফলাফল—In-memory Image এবং Disk State-এর মধ্যে অমিল—কিন্তু পদ্ধতি ভিন্ন।
প্রযুক্তিগত ধাপসমূহ
Process Ghosting সম্পাদনের ধাপগুলো নিম্নলিখিত। প্রথম ধাপ—আক্রমণকারী একটি অস্থায়ী ফাইল তৈরি করেন। সাধারণত এটি TEMP ডিরেক্টরিতে একটি Innocuous নাম যেমন "update.tmp" বা "config.dat"। CreateFile API-তে FILE_SHARE_DELETE শেয়ার মোড নিশ্চিত করে যাতে পরবর্তীতে অন্য Handle থেকে Delete হতে পারে।
দ্বিতীয় ধাপ—NtSetInformationFile API দিয়ে FILE_DISPOSITION_INFORMATION সেট করে ফাইলকে Delete-pending অবস্থায় চিহ্নিত করা হয়। এই অপারেশন Microsoft-প্রকাশিত API, কিন্তু এটি সাধারণত শুধু Process Shutdown-এ ব্যবহৃত হয়। এখানে অস্বাভাবিক প্রয়োগ।
তৃতীয় ধাপ—Delete-pending ফাইলে আক্রমণকারীর ক্ষতিকর Executable কন্টেন্ট WriteFile দিয়ে লেখা হয়। মনে রাখবেন, ফাইলটি Delete-pending কিন্তু এখনো Active Handle আছে, তাই Write সম্ভব।
চতুর্থ ধাপ—NtCreateSection API দিয়ে এই Delete-pending ফাইল থেকে একটি Section Object তৈরি। SEC_IMAGE ফ্ল্যাগ এটিকে Executable হিসেবে চিহ্নিত করে। গুরুত্বপূর্ণভাবে, Windows Kernel এই ক্ষেত্রে কোনো আপত্তি করে না—Delete-pending অবস্থায়ও Section তৈরি বৈধ।
পঞ্চম ধাপ—মূল File Handle CloseHandle দিয়ে বন্ধ করা হয়। যেহেতু এটি Delete-pending ছিল, এখন NTFS ফাইলটি ডিস্ক থেকে সরিয়ে ফেলে। ডিস্কে আর কোনো ম্যালওয়্যার ফাইল নেই।
ষষ্ঠ ধাপ—NtCreateProcessEx দিয়ে Section Object থেকে একটি নতুন প্রক্রিয়া তৈরি। যদিও Image File নেই, Section এখনো Memory-তে আছে, তাই Process তৈরি সফল হয়। PEB এবং Process Parameter সঠিকভাবে কনফিগার করতে হয়।
সপ্তম এবং শেষ ধাপ—Thread Start। প্রক্রিয়া সক্রিয় হয় এবং ক্ষতিকর কোড কার্যকর হয়। Process Explorer বা Task Manager এই প্রক্রিয়া দেখায় কিন্তু Image File-এর পথে গিয়ে দেখলে কিছুই পাওয়া যায় না—"File not found" ত্রুটি।
আক্রমণের প্রভাব এবং বিশেষত্ব
Process Ghosting-এর সবচেয়ে গভীর প্রভাব হলো Asynchronous EDR Callback-এর ব্যর্থতা। অনেক EDR Process Creation Notification পায় কিন্তু সম্পূর্ণ বিশ্লেষণ—Hash গণনা, Static Analysis, Cloud Reputation Lookup—সমান্তরালে চালায়। যদি প্রক্রিয়া তৈরির পরে কিন্তু EDR বিশ্লেষণ শেষ হওয়ার আগে ফাইল মুছে যায়, বিশ্লেষণ ব্যর্থ হয়।
Microsoft Defender এই কারণে Process Ghosting-এর প্রাথমিক সংস্করণে চরমভাবে ব্যর্থ হয়েছিল। Defender চেষ্টা করতো ফাইল স্ক্যান করতে কিন্তু পেতো না—এবং অনুপস্থিত ফাইলের জন্য "Benign" সিদ্ধান্ত নিতো। Landau-এর গবেষণায় এটি স্পষ্টভাবে প্রদর্শিত হয়েছিল।
Forensic বিশ্লেষণের ক্ষেত্রেও Ghosting চ্যালেঞ্জ। Incident Response সময় Investigator যখন একটি সন্দেহজনক প্রক্রিয়া পান, প্রথম পদক্ষেপ সাধারণত ফাইল সংগ্রহ এবং বিশ্লেষণ। কিন্তু Ghosted Process-এর Image নেই—শুধু Memory Dump থেকে কন্টেন্ট পুনরুদ্ধার সম্ভব, যা প্রক্রিয়া চলমান থাকা পর্যন্ত সম্ভব। Reboot বা Process Exit-এর পরে প্রমাণ চিরতরে হারিয়ে যায়।
Persistence-এর জন্য Process Ghosting একটি চ্যালেঞ্জ—যেহেতু কোনো ফাইল নেই, পরবর্তী Boot-এ প্রক্রিয়া স্বয়ংক্রিয়ভাবে চালু হবে না। তাই এটি সাধারণত Multi-stage আক্রমণের একটি অংশ হিসেবে ব্যবহৃত হয়—Persistence অন্য কৌশলে অর্জিত হয় (Registry Run Key, Scheduled Task), এবং Ghosting শুধু Active Payload চালানোর সময় Detection এড়ানোর জন্য।
Ghosting বিশেষভাবে কার্যকর Cloud পরিবেশে যেখানে ডিস্কে চিহ্ন না থাকা মানে CDR (Cloud Detection and Response) ব্যর্থ। Container-ভিত্তিক পরিবেশেও এটি একটি উদ্বেগ যেখানে Image Integrity যাচাই ফাইল-ভিত্তিক।
Variant এবং সম্পর্কিত কৌশল
Process Ghosting-এর সাথে ঘনিষ্ঠ সম্পর্কিত কয়েকটি কৌশল রয়েছে। Process Reflection একটি কৌশল যেখানে আক্রমণকারী Memory-resident Payload থেকে একটি প্রতিচ্ছবি প্রক্রিয়া তৈরি করেন—Disk-কে সম্পূর্ণ এড়িয়ে। PEB Hooking-এর মাধ্যমে Image Path পরিবর্তন আরেকটি সম্পর্কিত পদ্ধতি।
Module Stomping—যা আগে থেকেই পরিচিত—একটি বৈধ লোডকৃত DLL-এর Memory Region overwrite করে ক্ষতিকর Shellcode দিয়ে। এটি Process Ghosting-এর সাথে মিলিত হলে Detection আরো কঠিন হয়—Disk থেকে কোনো নতুন Module লোড হয় না।
Phantom DLL Hijacking একটি পদ্ধতি যেখানে আক্রমণকারী একটি বৈধ Application-এর DLL Search Path-এ একটি ক্ষতিকর DLL স্থাপন করেন, প্রক্রিয়া চালু হলে DLL লোড হয়, তারপর সেই ক্ষতিকর DLL মুছে দেওয়া হয়। In-memory DLL চলতে থাকে কিন্তু Disk-এ কোনো প্রমাণ নেই।
Hell's Gate, Halo's Gate, এবং Tartarus' Gate-এর মতো Direct System Call কৌশলগুলো Process Ghosting-এর সাথে সমন্বিত হয়ে আরো শক্তিশালী Evasion প্রদান করে। User-mode Hook এড়িয়ে সরাসরি Kernel API ব্যবহার করলে অনেক EDR সম্পূর্ণ অন্ধ হয়ে যায়।
Bring Your Own Vulnerable Driver (BYOVD)—যেখানে আক্রমণকারী একটি বৈধভাবে স্বাক্ষরিত কিন্তু দুর্বল Driver লোড করে Kernel-mode অ্যাক্সেস অর্জন করেন—Process Ghosting-এর সাথে মিলিত হলে EDR সম্পূর্ণ অকার্যকর করা যায়। ২০২২-২৪ সালে BlackByte, LockBit, Cuba Ransomware Group এই কৌশল ব্যাপকভাবে ব্যবহার করেছে।
বাস্তব আক্রমণ ও Threat Actor গ্রহণ
Process Ghosting প্রকাশের পর কত দ্রুত এটি বাস্তব আক্রমণে গৃহীত হয়েছে সেটি Threat Intelligence সম্প্রদায়ের জন্য উদ্বেগের। ২০২২ সালে Mandiant-এর APT41 ট্র্যাকিং রিপোর্টে Process Ghosting-অনুরূপ কৌশলের ইঙ্গিত পাওয়া গিয়েছিল।
NjRAT এবং অন্যান্য Commodity RAT-এর সাম্প্রতিক সংস্করণে Ghosting-অনুরূপ Loader-এর প্রমাণ পাওয়া গেছে। এসব Loader সাধারণত Phishing Document বা Drive-by Download-এর মাধ্যমে প্রাথমিক অ্যাক্সেস পায়, তারপর Ghosting ব্যবহার করে Final Payload চালায়।
Initial Access Broker (IAB) গ্রুপগুলো Ghosting কৌশল তাদের Custom Loader-এ যুক্ত করেছে—যা পরে Ransomware Affiliate-দের কাছে বিক্রি হয়। SmokeLoader, IcedID, Bumblebee-এর কিছু সংস্করণে অনুরূপ Anti-Detection বৈশিষ্ট্য পরিলক্ষিত হয়েছে।
Red Team এবং Penetration Tester-রা Process Ghosting-এর Proof-of-Concept Cobalt Strike-এর সাথে সমন্বিত করেছেন। BOF (Beacon Object File) আকারে Ghosting Implementation Open-source-এ পাওয়া যায়—যা Red Team Engagement-কে আরো বাস্তবসম্মত করেছে।
লক্ষণীয়—Microsoft এই কৌশল সম্পূর্ণরূপে নির্মূল করার পরিবর্তে EDR Detection উন্নত করার পথ বেছে নিয়েছে। Windows 11-এ Process Creation Telemetry Pre-deletion State ক্যাপচার করে যা Defender-কে আরো নির্ভরযোগ্যভাবে Ghosting সনাক্ত করতে সাহায্য করে। তবে এটি অন্যান্য EDR সমাধানগুলোর জন্য স্বয়ংক্রিয় নয়।
সনাক্তকরণ চ্যালেঞ্জ এবং কৌশল
Process Ghosting সনাক্তকরণে কয়েকটি Strategy রয়েছে। প্রথমত, Synchronous Image Hash Calculation—Process Creation Notification পাওয়ার সাথে সাথে EDR-এর Driver Image-এর Hash গণনা করতে পারে File হিসেবে নয়, Memory Image থেকে। এটি ফাইল মুছে গেলেও কাজ করে।
দ্বিতীয়ত, FILE_DISPOSITION_INFORMATION API পর্যবেক্ষণ। যদি একটি Application একটি ফাইল Delete-pending চিহ্নিত করে তারপর সেই ফাইল থেকে Section তৈরি করে, এটি অত্যন্ত সন্দেহজনক। বৈধ Use Case অত্যন্ত বিরল।
তৃতীয়ত, Process Image Path Validation। Process Creation-এর কিছু সময় পরে Image Path-এ ফাইল অস্তিত্বহীন থাকলে—এটি Ghosting-এর শক্তিশালী সূচক। তবে Race Condition এড়াতে এই চেক সঠিক সময়ে হতে হবে।
চতুর্থত, Memory Region বিশ্লেষণ। Process-এর Memory-তে চলমান Code-এর Hash এবং পরিচিত Image-এর Hash তুলনা। Volatility, Rekall, এবং বাণিজ্যিক Memory Forensics সরঞ্জাম এই বিশ্লেষণ সমর্থন করে।
পঞ্চমত, Behavioral Detection। যদিও Process Ghosting File-চিহ্ন এড়াতে সক্ষম, চূড়ান্ত Payload-এর আচরণ সাধারণত সন্দেহজনক। Network Communication, File Encryption, Registry Modification, Credential Access—এসব আচরণ Endpoint Detection-এ ধরা পড়ে।
Microsoft Defender for Endpoint, CrowdStrike Falcon, এবং SentinelOne-এর আধুনিক সংস্করণে Process Ghosting-নির্দিষ্ট Detection রয়েছে। তবে কিছু পুরনো বা কম পরিপক্ক EDR এখনো এই কৌশলের বিরুদ্ধে দুর্বল।
ETW (Event Tracing for Windows) Telemetry গভীর Visibility প্রদান করে। Microsoft-Windows-Kernel-Process Provider Process Creation এবং Termination-এর বিস্তারিত ক্যাপচার করে। Sysmon-এর সাথে সমন্বিতভাবে এটি Process Ghosting আক্রমণের পুনর্নির্মাণে সাহায্য করে।
প্রতিরোধ ও প্রতিকার
Process Ghosting-এর বিরুদ্ধে কার্যকর প্রতিরক্ষায় আধুনিক EDR-এর বিকল্প নেই। Microsoft Defender for Endpoint-এর Plan 2, CrowdStrike Falcon Enterprise, SentinelOne Singularity—এসব সমাধানে Process Ghosting-নির্দিষ্ট Detection অন্তর্ভুক্ত। শুধু Traditional Antivirus সম্পূর্ণ অপর্যাপ্ত।
Sysmon স্থাপন করুন এবং নিয়মিত Tune করুন। SwiftOnSecurity-র Config থেকে শুরু করুন। Event ID 1 (Process Creation), 7 (Image Load), 11 (File Create), 23 (File Delete), 26 (FileDeleteDetected)—এসব Event সক্রিয় রাখুন। Sysmon-এর Image Load Event-এ Image Hash এবং Signature তথ্য Process Ghosting বিশ্লেষণে অমূল্য।
SIEM-এ Detection Rule তৈরি করুন। যদি একটি Process Creation Event-এর কিছু সেকেন্ডের মধ্যে Image Path-এ File Delete Event ঘটে—এটি Ghosting-এর Strong Indicator। Sigma Rule এবং SPL (Splunk) Query-এর Public Repository-তে অনুরূপ Detection Logic পাওয়া যায়।
Application Control কঠোরভাবে প্রয়োগ করুন। Windows Defender Application Control (WDAC) Code Integrity Policy দিয়ে শুধুমাত্র অনুমোদিত Signed Code চলতে দিন। যদিও Ghosting Memory-তে কোড লোড করে, WDAC এই কোডের সঠিকতা যাচাই করতে পারে।
Attack Surface Reduction (ASR) Rule সক্রিয় করুন। Microsoft Defender-এর ASR Rule অনেক Process Injection কৌশল ব্যাহত করে। বিশেষত "Block executable files from running unless they meet a prevalence, age, or trusted list criterion" Rule নতুন এবং অপরিচিত Executable চলতে বাধা দেয়।
Kernel-level Detection ক্ষমতা প্রয়োগ করুন। যদি আপনার পরিবেশে সম্ভব হয়, Hypervisor-protected Code Integrity (HVCI) সক্রিয় করুন—এটি Kernel-mode আক্রমণ কঠিন করে এবং অপ্রত্যক্ষভাবে User-mode Evasion-এর কিছু রূপ প্রশমিত করে।
Threat Hunting-এ Process Ghosting Hypothesis অন্তর্ভুক্ত করুন। নিয়মিত Memory Image বিশ্লেষণ চালান চলমান প্রক্রিয়ায় যাদের Image Path-এ ফাইল অনুপস্থিত। MITRE ATT&CK Technique T1620 (Reflective Code Loading) এবং সম্পর্কিত Sub-techniques পরীক্ষা করুন।
Incident Response Playbook-এ Memory Forensics-এর গুরুত্ব জোর দিন। যেহেতু Ghosting-এর প্রমাণ Memory-তে, প্রক্রিয়া চালু থাকতেই Memory Dump সংগ্রহ অপরিহার্য। Reboot বা শাটডাউন এড়িয়ে চলুন যতক্ষণ না Volatile Memory ক্যাপচার সম্পন্ন।
Cloud Workload Protection স্থাপন করুন। Microsoft Defender for Cloud, Wiz, Lacework-এর মতো সমাধান Cloud VM এবং Container-এ Process-level Visibility প্রদান করে। Container পরিবেশে Image Signing এবং Runtime Verification (Falco, Sigstore) আক্রমণ কঠিন করে।
বিকাশকারী এবং বিশ্লেষকদের আধুনিক Evasion কৌশলে প্রশিক্ষণ দিন। SANS FOR610 (Malware Analysis), Offensive Security-র Endpoint Operations, এবং Specter Ops-এর Red Team Operator কোর্স Process Injection-এর গভীর বোঝাপড়ার সুযোগ প্রদান করে।
Process Ghosting Windows Process Creation এবং File System Semantics-এর জটিল মিথস্ক্রিয়ার একটি সৃজনশীল অপব্যবহার। এটি প্রমাণ করেছে—একটি দশকের পুরনো Operating System-এর প্রতিটি অস্পষ্ট আচরণে এখনো সম্ভাব্য নিরাপত্তা প্রভাব রয়েছে। Gabriel Landau-র গবেষণা EDR শিল্পকে File-centric Detection থেকে Memory-centric এবং Behavior-centric Detection-এ আরো দৃঢ়ভাবে স্থানান্তরিত হতে উৎসাহিত করেছে। যদিও Microsoft সমস্যা মূল আচরণ পরিবর্তনের পরিবর্তে Detection উন্নত করার পথ বেছে নিয়েছে, এটি একটি ধারাবাহিক মনে করিয়ে দেয়—আধুনিক Anti-malware একটি অস্ত্র প্রতিযোগিতা যেখানে প্রতিরক্ষাকারীদের আক্রমণকারীদের সাথে সমান গতিতে অভিযোজিত হতে হবে। সংস্থাগুলোর জন্য বার্তা পরিষ্কার—Signature-based Antivirus যুগ শেষ। আধুনিক EDR, Behavioral Analytics, Memory Forensics, এবং সক্রিয় Threat Hunting-এর সমন্বিত প্রয়োগই পারে Process Ghosting এবং পরবর্তী প্রজন্মের আক্রমণ কৌশল প্রতিহত করতে। নিরাপত্তা পেশাদাররা যারা Windows Internals-এর গভীরে যান, তারাই এই বিকশিত হুমকির বিরুদ্ধে সবচেয়ে কার্যকর প্রতিরক্ষা ডিজাইন করতে সক্ষম হবেন।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Process Ghosting MCQ Quiz-টি দিন!
Related articles
Process Doppelganging: Advanced Malware Memory Tricks to Evade Antivirus
10 min
Process Hollowing: How Malware Hijacks Legitimate Programs to Evade Detection
8 min
Access Control: Evaluating the Security of Your Corporate System Privileges
8 min
Active Defense: Proactive Strategies to Thwart Advanced Cyber Attacks
9 min

