سخن مدیر:

Shell Code چيست ؟

دسته‌بندی: امنیت
5 دیدگاه

 

Shell Code چيست ؟

شاید این لغت و اصطلاح (Shell code) را بسیار زیاد شنیده باشید، درک کلی از مفهوم آن داشته باشید ولی دقیق نمیدانید که چه هستند، در چه زمینه و چگونه استفاده میشوند.

Exploit کردن يکي از ستون هاي علم هک ميباشد . برنامه ها فقط مجموعه اي از قوانين و دستورات هستند که توسط کامپيوتر اجرا شده و مي گويند که چکاری انجام دهد . اکسپلويت ها يا همان کدهاي مخرب نیز راههاي زيرکانه اي هستند که توسط آنها به کامپيوتر گفته ميشود ، خواسته هاي ما را اجرا کند ، یعنی در واقع ما هیچ قانونی را نقض نمی کنیم بر اساس همان قوانین تعریف شده به خواسته های خودمان که خلاف قوانین است خواهیم رسید. اکسپلويت (Exploit) در معناي لغوي به معني سود بردن است .

 

Shell Code يک تکه کد ‌مي باشد که در اکسپلويت کردن برنامه هاي آسيب پذير استفاده ميشود. به اين خاطر گفته ميشود Shell Code که به مهاجم اختيار کنترل سيستم را ميدهد ، اما هر قسمتي از کد که کاري را انجام دهد شل کد گويند . شل کد ها معمولا به زبان ماشين يا همان اسمبلي نوشته مي شود که از نظر نوع دسترسي دو گونه است :

  1. Local Shell Code
  2. Remote Shell Code

در Local Shell Code ما محدود هستيم چون اين شل کد را در درون سيستم خود اجرا ميکنيم و قادر نيستند به سيستم هاي راه دور حمله کنند ، معمولا اين شل کد ها به صورت آزمايشي اجرا ميگردند که اگر بدرستي اجرا شد و بدون اشکال بود ميتوان آن را بر روي سيستم هاي ديگر انجام داد و بصورت شل کد Remote در آورد . Remote Shell Code ميتواند در درون يک شبکه محلي و يا اينترنت بر روي يک سيستم راه دور اجرا گردد، در واقع  Remote Shell Code همان Local Shell Code مي باشد ولي با اين تفاوت که در آن براي کار بر روي شبکه هاي محلي و يا اينترنت از برنامه نويسي  TCP/IP socket  استفاده شده است .  شل کد ، انواع مختلفي وجود دارد :

  • Download and execute shellcode : در اين نوع شل کد ما ميتوانيم يک تروجان و يا کرم را از آدرسي مشخص دانلود و در جايي از سيستم قرباني ذخيره کرده و سپس آن را اجرا کنيم ، اين تکنيک هم در روشي به نام Drive-by download استفاده ميگردد که اين روش بدينگونه است ، وقتي قرباني صفحه اينترنتي را مشاهده ميکند در پشت اين صفحه کدهايي قرار دارد که فايلي را در سيستم قرباني ذخيره ميکند و سر انجام فايل مورد نظر ، که هرچيزي ميتواند باشد را اجرا کرده و قرباني را مورد حمله قرار داده و بقولي هک ميکند .

 

  • Staged shellcode : به اين روش ، روش مرحله اي گويند ، اول يک تکه شل کد کوتاه در درون سيستم مورد نظر اجرا ميشود که بعد اين شل کد کوتاه ، شل کد بزرگتري را دانلود کرده و در سيستم اجرا ميکند .

 

در شکل زیر فایل سورس shellcode نوشته شده مان (connectback.asm) را کامپایل میکنیم. خوب shellcode کامپایل شده و از حالت سورس به حالت باینری تغییر یافته است. مقدارهای بصورت Hexadecimal که بعنوان خروجی دریافت نموده ایم Shellcode مان میشود که بایستی به پروسه هدف تزریق نماییم تا بتوانیم به خواسته خود برسیم.

shellcode-compile

چگونگی اجرا کردن Shell Code:

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

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

فروشگاه آنلاین سونی

برچسب‌ها:
  • نویسنده
    حمید رضایی
  • تعداد بازدید
    بازدید : 3,945
5دیدگاه فرستاده شده است.
شما هم دیدگاه خود را بنویسید
  1. shayantech :
    17 مرد 91

    Chrome 4.0.221.6 Windows 7

    این shell code ارتباطی با شل محله نداره؟ 😀

  2. محمدباقر پورمنصوری :
    18 مرد 91

    MSIE 10.0 Windows

    مگه شک داری که ارتباط داره 3030؟!

  3. صادق :
    29 مرد 91

    Chrome 21.0.1180.79 Windows 7

    یا ابرفز! مگه رو ویندوز XP میشه IE10 نصب کرد؟

  4. محمدباقر پورمنصوری :
    30 مرد 91

    Firefox 3.5.5 MacIntosh

    با سلام
    افزونه هنوز در آخرین به روزرسانیش ویندوز ۸ رو اضافه نکرده. واسه همین می زنه ویندز اکس بی!






نوشته‌های ویژه
اخبار ویژه