ورود و ثبت نام

کریپتر (Crypter) چیست؟ بهترین زبان برنامه نویسی برای ساخت کریپتر

خواندن این مطلب

11 دقیقه

زمان میبرد!

کریپتر (Crypter) چیست؟ بهترین زبان برنامه نویسی برای ساخت کریپتر

سلام خدمت تمامی دوستان عزیزم در اکادمی اولترا آموز

 

در اين مطلب ياد ميگيريد كه فرايند رمزگذاري و كريپتر ها چجوري كار مي كنن ، همه اينها رو هم به روشي آسان و قابل فهم ياد ميگيريد. من فكرمیکنم كه شما نميدونيد كه يه كريپتر چجوري كار ميكنه ، بنابراين ما مي خوايم اونو از ابتدا ياد بگيريم. اميدوارم از اين مطلب لذت ببريد و نكاتي درباره رمزگذاري ياد بگيريد. خب ، بياييد شروع كنيم…

 

كمي معرفي دربا ره كريپتر ها : 

كريپتر چيه؟

كريپتر ها برنامه هايي هستن كه به منظور “مبهم كردن” (پنهان كردن) يه سورس كد از يه فايل ايجاد شدن ، اونا میتونن کد باینری یک فایل رو با الگوریتم هایی مثل AES , DES و… رمزنگاری کنن

 

چه نوع كريپتر هايي وجود دارن؟

دو تفاوت بزرگ بين كريپتر ها وجود داره:

كريپتر هاي استاندارد كه فقط سورس كد يه فايل رو رمز گذاري ميكنن و كريپتر هاي مبهم ساز (Obfuscator)

 

كريپتر هاي استاندارد كه فقط سورس كد يه فايل رو رمز گذاري ميكنن و كريپتر هاي مبهم ساز (obfuscator) كه قراره درموردشون ياد بگيريم ، كه فايل رو رمزگذاري ميكنن و چند كد براي رمزگشايي فايل هنگام باز شدن هم اضاف ميكنن . در اين خانواده از كريپتر ها دو خانواده ديگه هم وجود داره:


كريپتر Scantime : اين كريپتر يك فايل رو رمزگذاري ميكنه و يك تكه كد هم اضافه ميكنه تا وقتي فايل باز شد اونو رو هارد ديسك ديكريپت كنه. اسمش scantime هست چون قابليت دور زدن آنتي ويروس ها در زمان اسكن شدن رو داره .


كريپتر
Runtome : اين كريپتر مثل قبلي هست ولي ميتونه وقتي هم كه برنامه داره اجرا ميشه آنتي ويروس رو دور بزنه.اين كريپتر برنامه رو در حافظه (RAM) رمزگشايي ميكنه و دوباره وقتي بسته شد رمزگذاريش ميكنه.

– چند مثال :
اينجا چند مثال از كريپتر هاي مختلف مياريم :

 

 carrotCrypter 

RazorCrypt

 

من فكر كنم بعد از اين حرفايي كه زدم خيلي چيزي به شما ياد ندادم ، اما حالا اين كارو ميكنيم ، در مورد اين كريپتر چيزهاي بيشتري ياد ميگريم ، و مهم تر از همه : ياد ميگيريم يه كريپتر واسه خودمون درست كنيم!

 

يه كريپتر چجوري كار ميكنه ؟

هر كريپتري به يه نوع متفاوتي كار ميكنه ، اما ميخايم ياد بفهميم كه يه crypter خيلي ساده، چطور كار ميكنه :

اول از همه بايد معني چنتا كلمه رو بدونيم :


Crypter GUI : اين همون رابط crypter هست ، با تمام گزينه ها و غيره

Stub : اين بخشيه كه توسط كريپتر كنترل ميشه و براي ديكريپت كردن payload وقتي كه برنامه اجرا شده هست، در واقع يه بخش از فايل رمزگذاري شده نهايي هست ولي خودشو رمزگذاري نكرده.

 Virus signature : بخشي از كد باينري يه فايل هست كه توسط آنتي ويروس شناسايي ميشه. خب ، حالا ميتونيد مبناي كار يك crypterرو با اين نقاشي واضح ببينيد.

و در ادامه ، پيلود توسط كريپتر رمزگذاري شده و با stub كامپايل ميشه ، كه نهايتا سورس رمزگذاري شده رو ديكريپت ميكنه و اجراش ميكنه (Runtime) يا ذخيرش ميكنه (scantime) خب ، حالا كه با تئوري و روش كار يه كريپتر آشنا شديد ميتونيد كار خودتونو شروع كنيد. اين در واقع فصل جديد اين كتابه.

 

كريپتر خودتونو بسازيد !

براي ساخت كرپيتر بايد بعضي چيزا رو بدونيد .اولين كار كريپتر ها رمز گذاري فايل هاي براي دور زدن آنتي ويروس هاست بنابراين اگر stub هاي شما توسط آنتي ويروس ها به عنوان يك تهديد شناسايي بشن ، كريپتر شما ديگه كريپتر نيست چون ديگه قابل تشخيصه .

براي جلوگيري از اين اتفاق ، بايد اين مراحل رو دنيال كنيد :

شما بايد كريپتر خودتونو در بيشتر صفحات اسكن مولتي آنتي ويروس امتحان كنيد تا ببينيد آيا غيرقابل شناساييه ، اما مشكل اينجاست كه بعضي از اين وبسايتا كريپتر شما رو بعد از اسكن با شركت هاي آنتي ويروس به اشتراك ميذارن

 

بنابراين فايل هاي رمزگذاري شدتونو روي VirusTotalيا هر چيزي كه خودتان تو گوگل با يه سرچ ساده پيدا كرديد امتحان نكنيد ، بجاش از موارد زير استفاده كنيد :


http://Pscan.xyz

http://NoDistribute.org

 

آنتي ويروس خودتون هم ممكنه كپي هايي از stubهاتون رو با شركتش با اشتراك بذاره، چون رو كامپيوتر شماست ، اگر اينو نميدونستيد، ساخت يه كريپتر كاملا بي فايده بود

به شما نشون ميدم كه چطور اين عملكرد رو روي آنتي ويروس خودتون غيرفعال كنيد
(اينجا فقط مال آنتي ويروس
Avaira رو ميگم)

براي بقيه موارد هم در گوگل سرچ كنيد 🙁

تو دوره زمونه ما ، scantime ها بدرد نميخورن ، چون هر آنتي ويروسي ميتونه جلوي پيلود موقع اجرا رو بگيره بنابراين من به شما آموزش ميدم كه يه كريپتر Runtime بسازيد.

تابع اصلي يك ، Runtime Stub تابع RunPE هست. شما براي هر كريپتر Runtime كه بخوايد درست كنيد به اين تابع نياز داريد، جز اينكه كسي يا خودتون روش ديگري براي دور زدن آنتي ويروس در RAM پيدا كنيد. RunPE تابعيه كه يا يه پروسه رو در Ram براي برنامه شما ايجاد ميكنه يا فقط برنامه تونو به يك پروسه موجود تزريق ميكنه .

در مثال ما در بالا ، تابع RunPE ما تابع اجرا هست كه باينري رو ميخونه و اونو در RAM اجرا ميكنه. با استفاده از اين اطلاعات ، شما ميتونيد اولين كريپتر خودتونو بسازيد ، من فقط چنتا از زبانها رو براي ايجاد كريپتر به شما پيشنهاد ميدم :

 AutoIT : يادگيريش خيلي اسونه و براي كريپتر ها كاملاً مناسبه. چون هم آموزش هاي زيادي ازش موجود هست و هم كلّي تابع خوب بهتون ارائه ميده

vb.net : هر كريپتري به زبان vb.net نوشته شده حالا نه همهولي بيشترشون ، يادگيريش هم بسيار آسونه

ASM : اگر ASM بلد باشيد ميتونيد هر كاري رو انجام بديد ):

#C ++ / C / C : اينا هم كاربرد زيادي دارن و بكارتون ميان.

من به شما سورس پيشنهاد نميدم ، شما بايد درموردش خودتون جستجو كنيد اگر واقعاً ميخايد. و يچيز هم بگم اينكه بهترين حس در دنيا ساختن اولين كريپتر هست

حتي اگر كاملاً توسط آنتي ويروس شناسايي بشه، چون اگه يبار يه كريپتر ساده بسازيد ، ميتونيد بعدا هرچي ميخايد بهش اضافه كنيد تا Crystal FUD خودتونو بسازيد ، كه در واقع ميشه قسمت بعدي آموزش ما

 

CRYPTER FUD خودتونو بسازيد

FUD مخفف عبارت “Fully Undetectable” به معناي كاملا غير قابل تشخيص هست. اين به اين معنيه كه هيچ آنتي ويروسي نميتونه كريپتر شما رو شناسايي كنه. وقتيكه اولين كريپتر خودتونو به پايان رسونديد ، به احتمال خيلي زياد (UD (Undetectable (غيرقابل شناسايي)

هست اما FUD نيست براي اينكه بتونيد Crypter FUD بسازيد ، مواردي هستن كه بايد به كد خودتون اضافه كنيد :
كد چرت و پرت
تغيير دهنده آيكون و اطلاعات
– File Bumper
Stub رندوم
Stub پرايوت
و غيره

1 – كد چرت و پرت :

كد چرت و پرت همونطور كه از اسمش پيداست يعني بايد يه كد بي معنيبه Stub خودتون اضافه كنيد. بعضي مواقع ، بايد اسكريپتي رو بنويسيد كه stringهاي تصادفي ، توابع ، متغيرها ، تماس ها و غيره … بسازه ، اين كد تغييري در برنامه شما ايجاد نميكنه اما با اضافه كردنشون باعث ميشه هنگام تجزيه و تحليل توسط آنتي ويروس ها، يه برنامه سالم و بي مشكل شناسايي شه 🙁

به عنوان مثال :

ميتونيد ببينيد كه چند متغير وجود دارند خط (1) ، توابع و غيره … با اسامي تصادفي كه همشون بي معني و چرت و مزخرف هستن ):

 

 

 

 

 

 

 

(2) تغییر دهنده اطلاعات آیکون پروفایل :


اين ميتونه به شما كمك كنه تا بعضي ديگه از آنتي ويروس ها رو دور بزنيد شما ميتونيد فايل ورژن هاي تصادفي ايجاد كنيد، Copyright ها ، توضيحات و غيره تغيير دهنده آيكون خيلي مهمه ، چون بعضي از آنتي ويروس ها آيكون هاي مشكوك رو شناسايي ميكنن ، آيكون ها بايد در رزولوشن بالا باشن

 

(File bumper (3 :

يه File Bumper فايل شما رو به تعدادي bump ، Kb ميكنه. بعضي وقتها به دور زدن آنتي ويروس كمك ميكنه 

(Stub (4 رندوم :

اغلب ، ماژول RunPE بيش از حد مورد استفاده قرار ميگيره چون برنامه نويساي كريپتر ها سورس ها رو كپي پيست ميكنن. اينكار باعث ميشه ماژول توسط آنتي ويروس شناسايي شه .

2 راهكار اينجا ارائه ميكنم كه ميتونيد انجام بديد :

شما RunPE خودتونو بسازيد (توصيه خودم همينه)

ماژول RunPE اي كه داريد رو تغيير بديد.

وقتيكه اين كارو انجام داديد ، ممكنه هنوز بعضي آنتي ويروس ها RunPE تونو شناسايي كنن.

براي جلوگيري از اين اتفاق شما بايد اونا رو رندم سازي كنيد : با يك تابع رندم ساز (Randomize) و ايجاد نام متغيرهاي رندوم ، نام توابع رندوم و غيره … هرچيزي

رو كه ميتونيد تغيير بديد تا ماژول RunPE رندوم شه.

_“ >= مثالRunBinary()” to “_Rgd55YHjst5rfsqM()”

(Stub (5 پرايوت :

اين بهترين گزينه هست:
هرگز Stub هاي مشابه نسازيد
البته به شما بستگي دارد كه چجوري اينكارو بكنيد گزينه هاي زيادي وجود داره
. اين كمك ميكنه تا از شناسايي scantime جلوگيري بشه ، اما شناسايي Runtime مسئله ديگه ايه اگه فايل ، يه رَت با تمام تنظيمات ممكن باشه، كريپتر قادر به اطمينان از شناسايي Runtime نيست. خب ، حالا شما كريپتر خودتونو داريد ، چه FUD چه ، UD بايد برخي از ويژگي هاي اضافه كنيد

 

ويژگي هاي كريپتر

حالا من در مورد برخي از ويژگي هايي كه بايد در كريپتر خود ايجاد كنيد تا يه كريپتر FUD داشته باشيد و يا فايلتون رمزگذاري بهتري داشته باشه، صحبت ميكنم.

USG : بخشي از كريپتره كه Stub پرايوت و رندوم توليد ميكنه.
Delay : ميتونيد قبل از اجراي اسكريپت خود يك delay اضافه كنيد. اين به شما كمك ميكنه تا تشخيص Runtime در بعضي آنتي ويروس ها و sandbox ها رو دور بزنيد

Anti memory scan : راه ديگري براي دور زدن تشخيص Runtime هست . ضد اسكن حافظه ، دسترسي به پروسه فايل در حال اجراي شما رو دور ميزنه .

EOF :  مخفف End Of File” هست.

براي جلوگيري از تخريب فايل ، بعضي اوقات بايد از EOF محافظت كنيد پس اينو هم اَد كنيد !

Startup : اين تابع فايل شما رو به پنجره برنامه ها در هنگام روشن شدن ويندوز اضافه ميكنه .

LeftToRight : روشي ساده براي ايجاد پسوند ديگري براي شما. .exe file

Binder : تابع بسيار مفيدي كه به شما امكان ميده كريپتر خودتونو به فايل رمزگذاري شده ديگه اي ، مث jpg متصل كنيد.

– Custom msgBox : فك كنم بتونيد حدس بزنيد كه اين چيه . يك جعبه msgBox ساده در هنگام اجراي فايل شما

Antis : … و غيره wireshark، sandbox

حالا كه كريپتر شما FUD شده ، برنده اين بازي شديد! اگر كريپتر شما FUD نيست ، نگران نباشيد چون خيلي طول نمي كشه كه كريپترتون رو reFUD
كنيد. فقط برخي موارد رو تغيير بديد و چيزهاي ديگه اي رو امتحان كنيد! قضعا كار ميكنه 🙁

 

براي جلوگيري از شناسايي كريپتر :


— اونو روي هر اسكنري اسكن نكنيد فقط اونايي كه گفتم رو امتحان كنيد

اونو روي اسكايپ dropbox ياgoogle drive ،mediafire قرار نديد

 

اين پايان اين مطلبه! اميدوارم از يادگيري لذت برده باشيد و تونسته باشيد كريپتر خودتونو ساخته باشيد. اگر سوال يا درخواستي داريد در قسمت دیدگاه ها بهم بگید

درباره نویسنده



نظرات کاربران



دیدگاهتان را بنویسید

مطالب مرتبط