مقایسه کاراکترهای بد با اسکریپت 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

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

نظرات غیرمرتبط با محتوای این مطلب تایید نخواهند شد.

پاسخ دهید

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