چگونه تمامی آنتی ویروسها را بایپس کنیم!!

بعد از مدتها با مقاله ای که مطمئنا هواداران زیادی خواهد داشت ولاگ رو بروزرسانی میکنم.

نکته۱ : این یک بررسی موشکافانه از آنچه که باعث میشود یک آنتی ویروس فریب بخورد را به شما ارائه میدهد.پس تا آخر این مقاله را دنبال کنید

نکته ۲ : هر گونه استفاده نا بجا از  مقاله و فایلهای ضمیمه و … بر عهده خواننده میباشد .و باعث سلب مسئولیت از نویسنده است .

بعد از اینکه از سایتهای Warez  فایلی را دانلود میکنید . با خیال راحت از اینکه آنتی ویروس شما به آن گیر نمیدهد آن را اجرا میکنید . اما اصل جریان چیست !!

 

به ادامه مطلب مراجعه نمایید..

فاز اول : قبل از اینکه برنامه های مخرب (یا مشکوک) اجرا شده است

اولین چیزی که آنتی ویروس شما چک میکند اینست که آیا اوون فایل اجرایی Pack شده یا خیر ؟ (pack چیه ؟ برنامه نویس بد نیت ! بعد از کلی سرو کله زدن و نوشتن برنامه مخرب میبینه ! ای داد بیداد برنامشو آنتی ویروس میشناسه ! برای اینکار  میاد یه رنگ و لعابی بهش میده ! و اوون رو با یه لایه خامه و عسل میپوشونه ! و شما هم ویروس رو میندازی توی حلقوم کامپیوترتون !! این عملیات رنگ و لعاب رو در اصطلاح میگیم Pack  کردن :دی) .

خوب بریم سراغ باقی ماجرا : بعد از اینکه آنتی ویروس زرنگ ! شما فهمید اون برنامه پک شده ! اون رو Unpack  میکنه توی حافظه بازش میکنه و محتویات توش رو یه بررسی اجمالی میکنه ! که خدای ناکرده زیر اون رنگ و لعاب چیزی نباشه !میاد چک میکنه API چه چیزهایی رو درون خودش داره چه توابعی توش صدا زده شده و .. ما اینجا زیاد نمیخوایم در مورد  اجرا برنامه های پرتابل که اصطلاحاً PE  نامیده میشن و نحوه وروود اوونها به حافظه صحبت کنیم . اما کدهای کامپایل شده خط به خط به صورت باینری وارد حافظه میشن و آنتی ویروس اوونها رو به عنوان opcode)  بررسی میکنه مخصوصا datastring  ها رو توجه خاصی داره البته انتی ویروسها علاقه خاصی دارن که یک نمونه (یا ترکیبی از نمونه های م ختلف)مانند میلیونها نمونه ای که از قبل در بانک اطلاعاتیشون هست پیدا کنند و سریعا اعلام آلودگی کنند . اصلاحا اونها توی Signature  ها ی برنامه با یک ویروس مطابقت داشت آنتی ویروس با افتخار صفحه قرمز رنگی رو به شما نمایش داده و …….. ویروس از صفحه روزگار محو خواهد شد.

فاز دو : در حالی که برنامه در حال اجرا است

واضح است که برخی از کد (مخرب) ممکن است پنهان ، رمزگذاری ، تاحدودی گیج کننده و یا حتی” لحظه ای “باشند. آنتی ویروس برای اینکه قادر به مقابله با کلاهبرداری و خرابکاری باشد .به نظارت و رهگیری API ها مشغوله و یک نوع ا”تجزیه و تحلیل رفتاری”  انجام میده. بنابراین اگر notepad.exe شما سعی داره شیطونی کنه به فضای پروسه های دیگه انگولی بده ! و کارهایی خلاف شرع بجز نوشتن متن !  نجام بده آنتی ویروس سریعا این برنامه مرتد رو از نفس کشیدن ساقط خواهد کرد !!

موضوع این مقاله و این پروژه

خوب اما ما برای اینکه یه موش آزمایشگاهی داشته باشیم که همه دوستان اون رو بشناسن ! از نت کت Netcat  تحت ویندوز برای مدل آزمایشگاهیمون استفاده میکنیم .این بدبخت مادر مرده رو تمام اکثریت آنتی ویروسها دتکت کرده و زود از صفحه هستی ساقط میکنند ! حالا کاره ای هم نیست بدبخت Wink

ما اینجا نمیخوایم دست به اختراع و اکتشاف به صورت Visible بزنیم !! ما اکتشافاتمون Priv8  هست !! :) ) اما حالا توی این مقاله میخوایم یه ایده بدیم و بگیم داستان از چه قراره و طرز کار به چه شکله !

ما توی این مقاله از ۱۰۰۰ پروزه مرتبطی که توی این زمینه هست در مورد Simple crypter for beginner by Xash صحبت خواهیم کرد که با دلفی نوشته شده و بلافاصله توسط تمام آنتی ویروس های مدرن تشخیص داده است. ایده اولیه با این حال زیبا و ظریف است. چگونه کار می کند :

خوب شروع میکنیم :

بوسیله برنامه فایل netcat  رو crypt  میکنیم و یه خروجی میگیریم ازش به نام nc_crypted.exe. این عکس ساختار فایل رو نشون میده :

خوب همونطور که مشاهده میکنید Netcat   ، در بین دو مارکر (همون فلشهای زرد)قرار داده شده است. مارکرهای مورد نیاز هستند ، زیرا طول معمول رمزگشایی ممکن است متفاوت باشد و طول فایل مخرب (در مورد ما : netcat.exe) می تواند متغیر باشد .

خوب حالا وقتشه اتفاقات خووب خووب بیوفته !!  وقتی که شما با کلیک بر روی netcat_crypted.exe ، آن را به حافظه کامپیوتر بارگذاری و اجرا کنید. . فرآیند جدید در حالت”معلق” (یکی از فرآیندهای سیستم عاملها) ایجاد شده است. در حال حاضر برنامه ما شروع به رمزگشایی کد netcat  میکند.

همه چیز شیرین است ، اما یک مشکل بزرگ وجود دارد : لودر (برنامه اصلی) تولید شده توسط Crypter اصلی در حال حاضر قابل تشخیص هست برای آنتی ویروس پس ما باید توی فایل باینری یکسری تغییراتی انجام بدیم که  آنتی ویروس گول بخوره !!

اما خوب طور ؟

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

اما بچه ها کار سخت تر از این حرفاست Smile ، بنابراین ما سعی میکنیم یکسری کارهای پیشرفته تر انجام بدیم :

  • ما میبایست تمام متغیر رشته ای و همچنین فایلهای مخرب رو  با استاندارد الگوریتم رمزنگاری اطلاعات ، رمزبندی کنید.
  • ما همه  API فراخوانی تابع  ها رو بصورت غیرمعمول و به نحوه دیگری مینویسیم
  • ما طول همه عناصر “Tail” به طور کامل متغیر  میکنیم  ،که از این رو غیر قابل پیش بینی باشند.
  • ماباینری نهایی از تمام رشته های غیر ضروری و منابع پنهان که به طور بالقوه ممکن است توسط آنتی ویروس به عنوان Signature  آلوده تلقی بشه رو پاک میکنیم.

نگاهی به ساختار netcat_crypted.exe حال حاضر :

فایل netcat_crypted.exe بسیار پیچیده شد ! نه ؟ البته ما میبایست از الگوریتم رمزنگاری سرپنت استفاده کنیم.در اینصورت جدا کننده ها بصورت رندوم خواهند بود و با طولهای متفاوت .

خوب حالا ما میباست API ها رو هم پنهان کنیم . چون معمولا این Api  ها بصورت  واضح در کد نمایش داده میشوند و آنتی ویروس تا Api  های مشکوک دید بلافاصله فایل ما رو بلاک میکنه برای تغییر این Api  ها و پنهان کردن از دید آنتی ویروس میبایست از StringsEncoder استفاده کنیم.

مثال :

 

بدین ترتیب آنتی ویروس ما هیچ شانسی برای پیدا کردن WriteProcessMemory” یا”CreateProcessA” نخواهد داشت .

خوب ، ما در حال حاضر می دانیم که آنتی ویروس بسیار حساس هستند وقتی که توابع API خاص صدا زده می شوند (نگاه کنید به لیست بالا ). و ما باید قادر باشیم آنها را برای کارهای کثیفمان صدا کنیم !

پس چه کار میتونیم بکنیم ؟  شما مجبور به استفاده از توابع API مستند نشده هستید !. آن دسته از توابع اغلب  جایگزین خوبی هستند .

مثال از دلفی  untStealthAPI :

یا یک مثال دیگر :

خوب  ! دیگه فایل تر و تمیز ما ساخته شده !

میتونیم از resource Hacker  برای پاک کردن چیزهای غیرلازم استفاده کنیم !

@echo on

“D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, StringTable,, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, RCData,DVCLAL, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, RCData,PACKAGEINFO, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, RCData,PACKAGEINFO, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, Cursor,, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, Bitmap,, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, Dialog,, “

D:\Resource Hacker\ResHacker.exe” -delete “%1″, “%1″, CursorGroup

اینجاست که Al3ksCrypter بدنیا میاد !!!

نرم افزار بسیار ساده است اما دارای برخی ویژگی های اضافی :

  • فایل اصلی ممکن است به صورت اختیاری توسط UPX فشرده شده است.
  • فایل آلوده برای اجرا ممکن است بصورت Minimize  اجرا شوند.
  • پارامترهای خط فرمان اضافی ممکن است فراهم شود. (: شماره پورت و پارامترهای اختیاری برای شنونده netcat )

نتیجه

۲ باره فکر کنید !! زمانی که میخواهید بر روی هر فایل (از منابع غیر قابل اطمینان) کلیک کنید  : به  آنتی ویروس خود تکیه نکنید !!!

PS : من منتظر نظرات شما  هستم ! پس دریغ نکنید ، پس منتظر نظرات و پیشنهاداتتون هستم .همچنین اگر شما مطلب خاصی برای اضافه کردن به این مقاله دارید آن را با من در میان بگذارید !

  String Encoder ( 1,494 بار دانلود)

  al3ks_crypter+source code ( 1,279 بار دانلود)

اینهم بد نیست

  Cold$eal+IceAge+2011+Crypter ( 1,298 بار دانلود)

منبع

پستهاي مشابه :