محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

مخفی کردن نرم افزار در نرم افزار (مفاهیم Wrapping و Wrapper)

تا حالا به این فکر کردید که چگونه می توان یک نرم افزار مخرب را در یک نرم افزار دیگر مخفی کرد. این کار اصطلاحاً Wrapping یا Wrapper نام دارد. قبلا در خصوص اسب های تروا یا Trojan ها بصورت مفصل صحبت کرده ایم . تعریف یک Trojan بسیار ساده است ، یک Trojan نرم افزاری است که ظاهری مفید و کاربردی دارد اما در باطن دارای کد مخربی است که هر کاری می تواند انجام دهد. بنابراین مهمترین رکن یک Trojan خوب این است که در ظاهر یک نرم افزار کاربردی بسیار خوب ظاهر شود و در نهان کار خود را انجام دهد .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما سئوال اینجاست که چگونه می توانیم یک نرم افزار مخرب را به گونه ای درون یک نرم افزار مفید قرار بدهیم که کسی متوجه این موضوع نشود و از جهتی هر دوی این نرم افزارها باید در قالب یک فایل اجرایی ایجاد شوند ؟ اینجا دقیقا همان مرحله ای است که ما مفهوم Wrap کردن در نرم افزارها را مطرح می کنیم . در این مطلب ابتدا به بررسی مفهوم تکنیک Wrapping در مهندسی نرم افزار می پردازیم و سپس به سراغ مفهوم Wrapping در هک و امنیت اطلاعات می رویم.

مفهوم Warp و Wrapper در مهندسی نرم افزار

Wrapping در فارسی به معنای قنداق کردن است و بهتر است این واژه به فارسی ترجمه نشود اما تقریبا معنی و مفهوم کلی این تکنیک را می رساند. در مهندسی نرم افزار یک Wrapper در واقع یک موجودیت است که می تواند قطعه کدهای مختلفی که با فرمت های مختلفی نوشته شده اند را در قالب یک رابط کاربری به کاربر نمایش دهد. در مهندسی نرم افزار Pattern ها و Framework ها از اجزاء اصلی محسوب می شوند.

یک pattern مربوط به یک wrapper یک Class است که داری یک رابط است ، این رابط می تواند Class های نا هماهنگ نرم افزاری را با هم هماهنگ کند و در کنار هم قرار بدهد تا بتوانند با هم کار کنند. برای مثال دو Class در مهندسی نرم افزار ممکن است از دو نوع روش انتقال یا روش نمایش داده مختلف استفاده کنند و این داده ها با هم دارای یک قالب مشترک نباشند و نتوانند با هم هماهنگ باشند .

تصور کنید در یک برنامه یک Class داریم که تاریخ را بصورت DD//MM//YY قالب بندی می کند و کلاس دیگری تاریخ را بصورت MM//DD//YYYY قالب بندی و ذخیره می کند ، این دو کلاس نمی توانند در یک برنامه بصورت مشترک کار کنند زیرا قالب بندی داده های آنها متفاوت است . راهکار حل کردن این مشکل استفاده از Wrapper است که باعث می شود قالب های داده ای مختلف به همدیگر تبدیل شوند و در با هم هماهنگ شده و بصورت یکپارچه کار کنند.

آموزش ایجاد کردن یک تروجان

مفهوم Wrap و Wrapper در هک و امنیت اطلاعات

شاید با خودتان بگویید که Wrapping ای که در مهندسی نرم افزار وجود دارد چه ارتباطی به هک و امنیت دارد ؟ در واقع اسم Wrapping و Wrapper ای که ما در امنیت اطلاعات و هک استفاده می کنیم برگرفته ای از همین موضوع است. شما دو نرم افزار دارید که دو کار مختلف انجام می دهند و قرار است که این دو نرم افزار با هم کار کنند و در قالب یک نرم افزار واحد کار کنند.

تنها تفاوت مهم در Wrapper های مورد استفاده در فرآیند های هک این است که اصلا مفید نیستند و از آن بدتر مخرب هستند. شما یک کد مخرب اعم از ویروس ، ورم ، تروجان ، Rootkit و ... را می توانید درون یک نرم افزار مفید Wrap کنید و این نرم افزار را در اختیار کاربرانی قرار دهید که می خواهید از آنها سوء استفاده کنید.

  • برای یادگیری و پیشرفت در حوزه امنیت اطلاعات و آموزش هک و نفوذ ، یادگیری دوره آموزش سکیوریتی پلاس Security+ ، دوره آموزش CEH ( دوره آموزشی هک قانونمند ) را حتما به عزیزان توصیه می کنم. اگر می خواهید تبدیل به یک کارشناس حرفه ای تست نفوذ و امنیت اطلاعات شوید ، پیشنهاد می کنم مقاله چگونه هکر شویم را مطالعه کنید. همچنین اگر علاقه مند به مباحث تحلیل بدافزارها و ویروس های کامپیوتری هستید ، یادگیری دوره آموزش تحلیل بدافزار را توصیه می کنم.

در بیشتر موارد این فرآیند برای Trojan ها انجام می شود تا یک نرم افزار مخرب را در قالب یک نرم افزار مفید در اختیار دیگران قرار بدهید و منتشر کنید.یک نرم افزار Wrapper یک فایل Trojan را در یک فایل نرم افزار مفید مخفی می کند و آنها را در قالب یک فایل اجرایی خروجی می دهد. زمانیکه کاربر بر روی فایل اجرایی کلیک کرد و آن را نصب کرد ، طی فرآیند نصبی که برای فایل اصلی نرم افزار انجام می شود ، Trojan مورد نظر نیز بر روی سیستم قربانی نصب می شود.

معمولا از تکنیک Wrapping برای بازی ها و نرم افزارهایی که دارای انیمیشن های زیبا در هنگام نصب هستند استفاده می شود زیرا در هنگام نصب شدن کد مخرب Trojan کاربر درگیر تصاویر و انیمیشن های زیبایی است که اجرا می شود و از ماهیت اصلی نرم افزار مطلع نمی شود.

معرفی ابزارهای مختلف Wrapper

ابزارهای متنوعی برای انجام Wrapping وجود دارد ، معمولا می توانید از بازی های تروجانی مثل Graffiti برای قرار دادن فایل Trojan استفاده کنید زیرا این بازی دارای بازی های گرافیکی است که کاربر را کاملا درگیر خودش می کند و از انجام شدن فرآیند آگاه نمی کند. اما از مهمترین و معروف ترین ابزارهای Wrapper مورد استفاده در دنیا می توانیم به موارد زیر اشاره کنیم :

  1. Silk Rope 2000 یکی از ابزارهای Wrapper معروف است که می تواند سرور تروجان معروف BackOrifice ( البته بگیم Backdoor بهتره ) را درون یک فایل اجرایی سالم مخفی کند.
  2. EliteWrap یک ابزار Wrapper پیشرفته برای فایل های EXE و سیستم عامل ویندوز محسوب می شود که می تواند فایل های نرم افزارها را نصب و برنامه های مورد نظرمان را در این حین بدون اطلاع کاربر نصب کند. EliteWrap این امکان را به هکر می دهد که یک فایل اجرایی برنامه ایجاد کند که فایل های خودش را به دایرکتوری خاصی Extract کند و از همانجا نرم افزارها یا Batch فایل ها یا اسکریپت هایی که درون فایل اجرایی Wrap شده اند را اجرا کند ، حتی این برنامه امکان ایجاد کردن راهنما و منو هم برای نرم افزار را به شما می دهد.

البته ابزارهای زیادی برای اینکار وجود دارد اما ابزارهای گرافیکی ساده ای که معرفی کردیم برای یادگیری این کار و شروع ایجاد یک Trojan کافیست ، هر چند اکثر آنتی ویروس های امروزی براحتی این ابزارها را شناسایی می کنند اما به هر حال ما فقط برای درک مفهوم Wrapping این موارد را معرفی کردیم ، سعی می کنیم در یک آموزش جداگانه روش قرار دادن یک Trojan درون یک نرم افزار مفید را نیز به شما آموزش بدهیم ، اگر تجربه ای در این خصوص دارید یا نرم افزار یا ابزار بهتری می شناسید خوشحال می شویم در ادامه از تجربیات شما استفاده کنیم.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات