HackCert
Advanced 10 min read May 25, 2026

DLL Hijacking: বৈধ সফটওয়্যার প্রসেসের মাধ্যমে ক্ষতিকর ম্যালওয়্যার চালানোর কৌশল!

DLL Hijacking আক্রমণের কৌশল, বাস্তব উদাহরণ এবং কর্পোরেট নেটওয়ার্কে এর প্রতিরোধের কার্যকর উপায় জানুন।

Ahmed Rafiq Khan
Red Team Operator
share
DLL Hijacking: বৈধ সফটওয়্যার প্রসেসের মাধ্যমে ক্ষতিকর ম্যালওয়্যার চালানোর কৌশল!
Overview

Windows অপারেটিং সিস্টেমে একটি অ্যাপ্লিকেশন চালু হওয়ার সময় যখন এটি প্রয়োজনীয় লাইব্রেরি ফাইল খোঁজার চেষ্টা করে, ঠিক সেই মুহূর্তেই আক্রমণকারী একটি গোপন সুযোগ পেয়ে যেতে পারে। DLL Hijacking হলো সেই অত্যাধুনিক কৌশল যেখানে আক্রমণকারী একটি বৈধ সফটওয়্যারের ভেতরে নিজের ক্ষতিকর কোড চালিয়ে দেয়, অথচ অ্যান্টিভাইরাস বা ব্যবহারকারী কেউই বুঝতে পারে না যে কিছু একটা গোলমাল হয়েছে। আজকের নিবন্ধে আমরা এই আক্রমণের অভ্যন্তরীণ কাঠামো, বাস্তব উদাহরণ এবং প্রতিরোধের কৌশল নিয়ে বিস্তারিত আলোচনা করব।

DLL এবং Hijacking এর মূল ধারণা

Dynamic Link Library বা সংক্ষেপে DLL হলো Windows অপারেটিং সিস্টেমের একটি বিশেষ ফাইল ফরম্যাট, যেখানে বিভিন্ন প্রোগ্রামের জন্য পুনঃব্যবহারযোগ্য কোড এবং রিসোর্স সংরক্ষিত থাকে। যখন কোনো অ্যাপ্লিকেশন চালু হয়, তখন এটি প্রয়োজন অনুযায়ী DLL ফাইল লোড করে নেয়। Windows একটি নির্দিষ্ট অনুসন্ধান ক্রম অনুসরণ করে এই ফাইলগুলো খুঁজে বের করে, যাকে DLL Search Order বলা হয়। সাধারণত প্রথমে অ্যাপ্লিকেশনের নিজস্ব ডিরেক্টরি, এরপর System32, SysWOW64, Windows ডিরেক্টরি, বর্তমান ওয়ার্কিং ডিরেক্টরি এবং সবশেষে PATH ভেরিয়েবলে উল্লিখিত ডিরেক্টরিগুলোতে অনুসন্ধান করা হয়।

DLL Hijacking আক্রমণের মূল ভিত্তি হলো এই অনুসন্ধান ক্রমের দুর্বলতা। যদি কোনো আক্রমণকারী এমন একটি অবস্থানে ক্ষতিকর DLL রাখতে সক্ষম হয় যেখানে অপারেটিং সিস্টেম আসল DLL খোঁজার আগেই সেটি খুঁজে পেয়ে লোড করে নেয়, তাহলে বৈধ অ্যাপ্লিকেশনটি অজান্তেই ম্যালওয়্যারের কোড এক্সিকিউট করতে শুরু করে। এই কৌশলটি Living off the Land বা LOLBins ধারণার সাথে গভীরভাবে সম্পর্কিত, যেখানে আক্রমণকারীরা সিস্টেমের বৈধ টুল ব্যবহার করেই তাদের কাজ সম্পন্ন করে।

আক্রমণের প্রধান প্রকারভেদ

DLL Hijacking এর অনেকগুলো বৈচিত্র্যময় রূপ রয়েছে যা প্রতিটি ভিন্ন পরিস্থিতিতে ব্যবহৃত হয়। DLL Search Order Hijacking সবচেয়ে প্রচলিত পদ্ধতি, যেখানে আক্রমণকারী অ্যাপ্লিকেশনের ডিরেক্টরিতে একই নামের একটি জাল DLL স্থাপন করে। যখন অ্যাপ্লিকেশন চালু হয়, এটি System32 এ যাওয়ার আগেই স্থানীয় ডিরেক্টরির ম্যালিশিয়াস ফাইলটি লোড করে ফেলে।

DLL Side-Loading একটি জনপ্রিয় কৌশল যা বিশেষ করে APT গ্রুপগুলো ব্যবহার করে। এক্ষেত্রে আক্রমণকারী একটি বৈধ স্বাক্ষরিত এক্সিকিউটেবল ফাইল ব্যবহার করে যা একটি নির্দিষ্ট DLL লোড করে, কিন্তু সেই DLL এর সাথে তারা নিজেদের তৈরি ক্ষতিকর সংস্করণ প্রতিস্থাপন করে দেয়। বিখ্যাত PlugX ম্যালওয়্যার পরিবার এই কৌশল ব্যাপকভাবে ব্যবহার করেছে।

Phantom DLL Hijacking ঘটে যখন কোনো অ্যাপ্লিকেশন এমন একটি DLL খোঁজে যা আসলে সিস্টেমে বিদ্যমান নেই। এই অনুপস্থিত ফাইলের জায়গায় আক্রমণকারী নিজের ক্ষতিকর DLL রেখে দিলেই আক্রমণ সফল হয়ে যায়। DLL Proxying বা Trojanized DLL আরেকটি জটিল কৌশল, যেখানে ক্ষতিকর DLL মূল DLL এর সমস্ত ফাংশন কল পাস করে দেয় যাতে অ্যাপ্লিকেশন স্বাভাবিকভাবে চলতে থাকে এবং সন্দেহ না জাগে।

টেকনিক্যাল বাস্তবায়ন প্রক্রিয়া

একটি সফল DLL Hijacking আক্রমণ পরিচালনার জন্য আক্রমণকারীকে কয়েকটি ধাপ অনুসরণ করতে হয়। প্রথম ধাপে লক্ষ্যবস্তু অ্যাপ্লিকেশনটি বিশ্লেষণ করা হয় Process Monitor বা ProcMon এর মতো টুল দিয়ে। এই বিশ্লেষণে দেখা হয় অ্যাপ্লিকেশনটি কোন কোন DLL লোড করার চেষ্টা করছে এবং কোন অবস্থানগুলোতে অনুসন্ধান করছে। NAME NOT FOUND ফলাফল বিশেষভাবে গুরুত্বপূর্ণ কারণ এগুলো সম্ভাব্য hijacking এর সুযোগ নির্দেশ করে।

দ্বিতীয় ধাপে আক্রমণকারী একটি কাস্টম DLL তৈরি করে যা মূল DLL এর সমস্ত এক্সপোর্ট ফাংশন অনুকরণ করতে সক্ষম। এই DLL এর DllMain ফাংশনে ক্ষতিকর কোড যুক্ত করা হয়, যা DLL_PROCESS_ATTACH ইভেন্টের সময় স্বয়ংক্রিয়ভাবে এক্সিকিউট হয়। তৃতীয় ধাপে এই DLL টি উপযুক্ত স্থানে স্থাপন করতে হয়, যা সাধারণত সোশ্যাল ইঞ্জিনিয়ারিং, ফিশিং অথবা ইতিমধ্যে প্রাপ্ত অ্যাক্সেসের মাধ্যমে করা হয়।

Windows এর Known DLLs তালিকা একটি গুরুত্বপূর্ণ প্রতিরক্ষামূলক ব্যবস্থা যা নির্দিষ্ট সিস্টেম DLL গুলোকে hijacking থেকে রক্ষা করে। এই তালিকায় থাকা DLL গুলো সর্বদা System32 থেকে লোড হয়, অনুসন্ধান ক্রম নির্বিশেষে। তবে এই তালিকার বাইরের হাজার হাজার DLL এখনও hijacking এর জন্য সংবেদনশীল থেকে যায়।

বাস্তব উদাহরণ এবং উল্লেখযোগ্য আক্রমণ

সাইবার নিরাপত্তার ইতিহাসে DLL Hijacking ব্যবহার করে অনেক বড় ধরনের আক্রমণ সংঘটিত হয়েছে। NotPetya র‍্যানসমওয়্যার আক্রমণে ক্ষতিকর কোড ছড়ানোর জন্য DLL Side-Loading ব্যবহার করা হয়েছিল। চীনা APT গ্রুপ Mustang Panda বছরের পর বছর ধরে বিভিন্ন বৈধ অ্যাপ্লিকেশন যেমন Adobe Reader, Microsoft Office এবং বিভিন্ন অ্যান্টিভাইরাস সফটওয়্যারের সাথে DLL Side-Loading কৌশল ব্যবহার করে গোয়েন্দাগিরি চালিয়েছে।

2020 সালে SolarWinds আক্রমণে দেখা গিয়েছিল যে আক্রমণকারীরা SUNBURST ব্যাকডোর স্থাপনের জন্য কীভাবে বৈধ ডিজিটাল স্বাক্ষরযুক্ত DLL এর সুযোগ নিয়েছিল। Lazarus Group, FIN7 এবং Cobalt Group এর মতো অর্থনৈতিকভাবে অনুপ্রাণিত হ্যাকার দলগুলোও তাদের আক্রমণ অভিযানে নিয়মিত এই কৌশল ব্যবহার করে। সাম্প্রতিক সময়ে BlackCat এবং LockBit র‍্যানসমওয়্যার অপারেটররাও এন্টারপ্রাইজ নেটওয়ার্কে অনুপ্রবেশের পর persistence অর্জনের জন্য DLL Hijacking এর সাহায্য নিয়েছে।

ছোট পরিসরে, অনেক বৈধ সফটওয়্যার যেমন গেমিং অ্যাপ্লিকেশন, পুরনো এন্টারপ্রাইজ সফটওয়্যার এবং কাস্টম-বিল্ট ব্যবসায়িক অ্যাপ্লিকেশন এখনও DLL Hijacking এর জন্য সংবেদনশীল। বিশেষ করে যেসব অ্যাপ্লিকেশন Program Files এর বাইরে ইনস্টল হয় অথবা ব্যবহারকারীর লেখার অনুমতি রয়েছে এমন ডিরেক্টরিতে অবস্থান করে, সেগুলোতে এই ঝুঁকি অনেক বেশি।

সনাক্তকরণের কৌশল

DLL Hijacking সনাক্ত করা চ্যালেঞ্জিং হলেও অসম্ভব নয়। Endpoint Detection and Response বা EDR সমাধানগুলো অস্বাভাবিক DLL লোডিং প্যাটার্ন পর্যবেক্ষণ করতে পারে। বিশেষত যখন একটি বিশ্বস্ত অ্যাপ্লিকেশন অপ্রত্যাশিত পথ থেকে DLL লোড করে অথবা একটি স্বাক্ষরবিহীন DLL লোড করে, তখন সতর্কতা জারি করা উচিত।

Sysmon এর Event ID 7 (Image loaded) DLL লোডিং কার্যকলাপ নিরীক্ষণের জন্য অত্যন্ত কার্যকর। Sigma রুল ব্যবহার করে এই লগগুলো বিশ্লেষণ করে সন্দেহজনক প্যাটার্ন খুঁজে বের করা যায়। উদাহরণস্বরূপ, যখন explorer.exe বা svchost.exe এর মতো সিস্টেম প্রসেস ব্যবহারকারীর ডাউনলোড ফোল্ডার থেকে DLL লোড করে, এটি অবশ্যই তদন্তযোগ্য।

YARA রুল লেখার মাধ্যমে পরিচিত ক্ষতিকর DLL এর স্বাক্ষর সনাক্ত করা যায়। File integrity monitoring বা FIM সমাধানগুলো সিস্টেম ফাইলে অননুমোদিত পরিবর্তন সনাক্ত করতে সাহায্য করে। এছাড়া DLL এর ডিজিটাল স্বাক্ষর যাচাইকরণ একটি গুরুত্বপূর্ণ প্রতিরক্ষা স্তর যোগ করে। Microsoft এর Sigcheck টুল ব্যবহার করে সিস্টেমে স্বাক্ষরবিহীন বা সন্দেহজনক স্বাক্ষরযুক্ত DLL সহজেই চিহ্নিত করা যায়।

প্রতিরোধ ও প্রতিকার

DLL Hijacking থেকে কার্যকর সুরক্ষার জন্য বহুস্তরীয় প্রতিরক্ষা কৌশল অবলম্বন করা প্রয়োজন। ডেভেলপারদের জন্য সবচেয়ে গুরুত্বপূর্ণ পদক্ষেপ হলো SafeDllSearchMode সক্ষম করা এবং সবসময় সম্পূর্ণ পাথ ব্যবহার করে DLL লোড করা। LoadLibraryEx ফাংশন ব্যবহার করার সময় LOAD_LIBRARY_SEARCH_SYSTEM32 বা LOAD_LIBRARY_SEARCH_APPLICATION_DIR এর মতো নির্দিষ্ট ফ্ল্যাগ ব্যবহার করলে নিরাপত্তা অনেকটাই বৃদ্ধি পায়।

সিস্টেম প্রশাসকদের জন্য AppLocker বা Windows Defender Application Control (WDAC) বাস্তবায়ন অত্যন্ত গুরুত্বপূর্ণ। এই সমাধানগুলো শুধুমাত্র অনুমোদিত DLL লোড হতে দেয়। ব্যবহারকারীদের লেখার অনুমতি সীমিত রাখা, বিশেষ করে অ্যাপ্লিকেশন ডিরেক্টরিতে, একটি মৌলিক প্রতিরক্ষামূলক ব্যবস্থা। সফটওয়্যার সবসময় Program Files বা Program Files (x86) এ ইনস্টল করা উচিত যেখানে স্ট্যান্ডার্ড ব্যবহারকারীদের লেখার অনুমতি থাকে না।

নিয়মিত নিরাপত্তা অডিট পরিচালনা করে সিস্টেমে বিদ্যমান সম্ভাব্য hijacking ভেক্টর চিহ্নিত করা উচিত। PowerSploit এর Find-PathDLLHijack এবং অন্যান্য টুল ব্যবহার করে এই অডিট সম্পন্ন করা যায়। কর্মীদের সচেতনতা প্রশিক্ষণে অজানা উৎস থেকে সফটওয়্যার ইনস্টল না করা এবং ZIP ফাইল থেকে সরাসরি প্রোগ্রাম না চালানোর বিষয়গুলো অন্তর্ভুক্ত থাকা উচিত। অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশন নিয়মিত আপডেট রাখা, বিশেষ করে যখন নিরাপত্তা প্যাচ প্রকাশিত হয়, এটি একটি অপরিহার্য অভ্যাস।

এন্টারপ্রাইজ পরিবেশে Microsoft Defender for Endpoint, CrowdStrike Falcon, SentinelOne এর মতো আধুনিক EDR সমাধান DLL Hijacking এর বিরুদ্ধে শক্তিশালী সুরক্ষা প্রদান করে। এই সমাধানগুলো আচরণগত বিশ্লেষণ এবং মেশিন লার্নিং ব্যবহার করে অস্বাভাবিক DLL লোডিং প্যাটার্ন রিয়েল-টাইমে সনাক্ত করতে পারে। Network segmentation এবং zero-trust architecture বাস্তবায়ন আক্রমণের সম্ভাব্য প্রভাব সীমিত রাখতে সাহায্য করে।

Key Takeaways

DLL Hijacking আধুনিক সাইবার আক্রমণের একটি পরিশীলিত এবং বিপজ্জনক কৌশল যা বৈধ সফটওয়্যারের বিশ্বাসযোগ্যতাকে অস্ত্র হিসেবে ব্যবহার করে। এই আক্রমণ থেকে সুরক্ষার জন্য ডেভেলপার, সিস্টেম প্রশাসক এবং নিরাপত্তা পেশাদারদের যৌথভাবে কাজ করতে হবে। সঠিক কোডিং অনুশীলন, কঠোর অ্যাক্সেস কন্ট্রোল, নিয়মিত নিরীক্ষণ এবং আধুনিক EDR সমাধান একত্রে ব্যবহার করলে DLL Hijacking এর ঝুঁকি উল্লেখযোগ্যভাবে কমানো সম্ভব। সাইবার নিরাপত্তা একটি চলমান প্রক্রিয়া, এবং DLL Hijacking এর মতো কৌশল সম্পর্কে গভীর জ্ঞান অর্জন প্রতিটি নিরাপত্তা পেশাদারের জন্য অপরিহার্য।

আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ DLL Hijacking MCQ Quiz-টি দিন!

Related articles

back to all articles