مقایسه کاراکترهای بد با اسکریپت Mona.py

منتشر شده در دسته : متااسپلوییت پیشرفته

مقایسه کاراکترهای بد به صورت اتوماتیک چگونه انجام می شود ؟ همانطور که گفتیم هیچ راهی به منظور استفاده از برنامه خاص دارای هوش انتقادی وجود ندارد تا به منظور خودکارسازی حذف کاراکترهای بد درون اکسپلوییت ها ما را یاری کند . ولی می توان این پروسه را ساده کرد .

مقایسه کاراکترهای بد

چگونه مقایسه کاراکترهای بد را ساده تر کنیم ؟ به این منظور از اسکریپت Mona.py استفاده خواهیم کرد . مراحل بکارگیری اپلیکیشن War FTP و استفاده از دیباگر Immunity Debugger را در آزمایش قبلی آموختید . فایل ها و اسکریپت های به کار رفته در این آزمایش را می توانید از اینجا دریافت نمایید . دانلود از سرور نت آموز
دوباره با آرایه کامل کاراکترها شروع کرده ولی این بار به منظور پیدا کردن کاراکترهای بد (Bad Chars) از اسکریپت Mona.py استفاده خواهیم کرد .
این اسکریپت به صورت پیش فرض درون دیباگر Immunity Debugger وجود ندارد . به همین منظور ابتدا به مسیر زیر رفته اسکریپت mona.py را در کنار دیگر اسکریپت های پایتون کپی کنید و دیباگر را مجددا اجرا کنید .

C:\Program Files\Immunity Inc\Immunity Debugger\Pycommands

مقایسه کاراکترهای بد با اسکریپت Mona.py

به منظور نصب لاگ کردن نتایج درون دیباگر دستور زیر را خط فرمان پایین موجود در دیباگر اجرا کنید :

!mona config -set workingfolder c:\logs\%p

مقایسه کاراکترهای بد با اسکریپت Mona.py

این دستور تعیین خواهد کرد که اسکریپت مونا نتایج و خروجی خود را در کجا لاگ و ذخیره سازی کند .

اکنون بایستی آرایه ای از بایت ها را برای مقایسه ایجاد کنیم . به این منظور درون دیباگر Immunity Debugger دستور زیر را وارد کنید (قبل از ایجاد حتما پروسه War-FTP را به دیباگر متصل کنید ) :

!mona bytearray

مقایسه کاراکترهای بد با اسکریپت Mona.py

این دستور کاراکترهای هگزا را از 00 تا FF درون فرمت bin به منظور مقایسه ایجاد خواهد کرد . فایل C:\logs\war-ftpd\bytearray.txt را باز کرده و کلیه رشته های ایجاد شده را کپی کرده :

مقایسه کاراکترهای بد با اسکریپت Mona.py

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

مقایسه کاراکترهای بد با اسکریپت Mona.py

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

مقایسه کاراکترهای بد با اسکریپت Mona.py

دقت کنید محلی که کاراکترهای بد ما درون پشته آغاز می شوند ، آدرس مورد نظر ما به منظور مقایسه می باشد . این آدرس 00A4FD44 می باشد که با کاراکترهای B پوشیده شده است .

مقایسه کاراکترهای بد با اسکریپت Mona.py

اکنون به منظور مقایسه اسکریپت زیر را درون دیباگر اجرا کنید :

!mona compare -f C:\logs\war-ftpd\bytearray.bin -a 00A4FD44

مقایسه کاراکترهای بد با اسکریپت Mona.py

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

اکنون با استفاده از دستور زیر به mona می گوییم تا کاراکتر بد 00 را از لیست مقایسه ای حذف کند .

!mona bytearray -cpb “\x00”

مقایسه کاراکترهای بد با اسکریپت Mona.py

مشاهده می کنید که رشته ما درون bytearray نیز تغییر کرده است :

مقایسه کاراکترهای بد با اسکریپت Mona.py

اکسپلوییت خود را با این رشته بروزرسانی کنید و مجددا آن را بر روی War-Ftp اجرا کنید :

مقایسه کاراکترهای بد با اسکریپت Mona.py

مقایسه کاراکترهای بد با اسکریپت Mona.py

مشاهده می کنید که این بار رشته تا جایی ادامه پیدا کرده و باز هم قطع می شود :

مقایسه کاراکترهای بد با اسکریپت Mona.py

همین روال را ادامه داده و این بار کاراکتر 0a را پیدا می کنیم :

مقایسه کاراکترهای بد با اسکریپت Mona.py

در صورتی که تمایل به خروجی با جزئیات بیشتر از اسکریپت مونا دارید ، بایستی به فایل لاگ comare.txt مراجعه کنید . هر آدرس حافظه دارای جدولی است که حاوی اطلاعاتی درباره نوع و فایل و مموری ، نشان دهنده تفاوت ها و خلاصه ای ار کارکترهای حذف شده و .. می باشد . در جدول خلاصه نتایج مقایسه ای نمایش داده می شود

مقایسه کاراکترهای بد با اسکریپت Mona.py

و در ادامه آن کاراکترهای بد محتمل و رشته های حذف شده و … نمایش داده می شود :

مقایسه کاراکترهای بد با اسکریپت Mona.py

به دیباگر باز گردید و این بار رشته های بیشتری را حذف می کنیم :

مقایسه کاراکترهای بد با اسکریپت Mona.py

و باردیگر اکسپلوییت را بروزرسانی می کنیم :

مقایسه کاراکترهای بد با اسکریپت Mona.py

همین روال را ادامه داده تا دیگر کاراکترهای بد را پیدا کنیم :

مقایسه کاراکترهای بد با اسکریپت Mona.py

صاحب امتیاز نت آموز : نویسنده , مدرس و متخصص در زمینه امنیت شبکه های رایانه ای

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *