eitaa logo
Mr Python | مستر پایتون
11 دنبال‌کننده
303 عکس
2 ویدیو
6 فایل
مجموعه آموزش های ابزارنویسی و مهندسی معکوس وبسایت مسترپایتون : https://mrpythonblog.ir ارتباط با ادمین : @MrPythonAdmin کانال تلگرام : https://t.me/MrPythonBlog آپارات : https://aparat.com/mrpythonblog یوتیوب : @mrpythonblog" rel="nofollow" target="_blank">https://youtube.com/@mrpythonblog
مشاهده در ایتا
دانلود
داخل یکی از پست هامون ، به طور کامل توضیح دادیم اصلا shellcode چیه و چجوری اجرا میشه . یه سری کد به زبان C هم نوشتیم که میتونست برامون یه shellcode رو launch کنه . دوتا منبع میخوام امروز بهتون معرفی کنم در باب نوشتن shellcode های ویندوزی . اینکه چجوری خودمون به زبان اسمبلی برای ویندوز shellcode بنویسیم . پیش نیازش هم آشنایی با اسمبلی x86 هستش . اولین منبع لینک زیر هستش : https://idafchev.github.io/exploit/2017/09/26/writing_windows_shellcode.html دومین منبع هم فایل pdf هست که در ادامه میفرستم خدمتتون دقت کنید هر دو این منابع درمورد shellcode در ویندوز های ۳۲ بیتی صحبت کردند ولی نوشتن shellcode در ویندوز های ۶۴ بیتی ها بسیار شبیه همیناس . یه تفاوت های کوچیکی (مثلا در بخش پیدا کردن آدرس PEB پروسه) داره که با یه جستجو ساده پیداش میکنید . 🆔 : @mrpythonblog
✅ پست "شل معکوس (Reverse Shell)" بروزرسانی شد . نحوه نوشتن شل معکوس ویندوزی با دو زبان Python و C اضافه شد
آخرین قسمت مجموعه مفاهیم شبکه
داخل زبان های خانواده C (به طور خاص C و ++C) ، برای سخت تر کردن پروسه مهندسی معکوس ، یه نکته ساده امنیتی اینه که توابع مهم امنیتی مثل چک کردن کلید سریال ، بررسی وجود دیباگر و .... رو به صورت inline تعریف کنید . دلیلشم اینه که اگر مثلا شما ۵ جای برنامتون یکی از این توابع رو صدا میزنید ، اگه تابع رو به صورت عادی و بدون inline تعریف کرده باشید کامپایلر داخل هر کدوم از اون ۵ نقطه یک دستور فراخوانی (CALL) به تابع مورد نظر قرار میده . کسی که داره مهندسی معکوس میکنه کافیه اون تابع مورد نظر رو پیدا کنه و خنثی کنه . اینجوری هر ۵ تا نقطه ای که به اون تابع فراخوانی میزدن از کار میافتن . این مثل یه جور نقطه شکست مرکزی تو سیستم میمونه (Single Point of Failure) . اما در صورتی که تابع رو inline تعریف کرده باشید , تو هر کدوم از اون ۵ نقطه ای که تابع رو فراخوانی کردید ، کامپایلر دقیقا کد اون تابع مورد نظر رو عینا قرار میده و هیچ فراخوانی تابعی انجام نمیشه . اینجوری کسی که داره مهندسی معکوس میکنه برعکس مورد قبلی باید ۵ نقطه متفاوت از برنامه رو خنثی کنه . خب قطعا این تکنیک میتونه باعث افزایش حجم کد بشه ولی گاهی اوقات بصرفه است . 🆔 : @mrpythonblog
یه چیز دیگه ایم که به ذهنم خورد این بود که با مهندسی معکوس منطق بازی رو جوری تغییر بدم که بعد از ۸ تا حرکت درست سایز کاشی ها بزرگ نشه . اگه میشد اینکارو کرد عالی میشد و ربات ما هیچوقت متوقف نمیشد . فایل apk بازی رو ابزار apktool استخراج کردم (خود فایل های apk یه جور فایل فشرده و آرشیو شدس) و دیدم که فایلایی مثل libunity.so داخلشه . این به این معنیه که بازی با موتور بازی سازی unity ساخته شده شما بازی هایی که با یونیتی ساخته شدن رو نمیتونید مستقیما با ابزار هایی مثل jadx دیکامپایلشون کنید به سورس کد جاوا چون اینکار نهایتا کدی رو به شما میده که مربوط به خود موتور یونیتیه نه منطق واقعی بازی . یونیتی کد واقعی بازی که برنامه نویسش نوشته رو در قالب یکسری فایل کتابخونه ای توی apk خروجی جا میده و بعد حین اجرا کد های اونو اجرا میکنه . یونیتی تا اونجایی که میدونم به دو حالت میتونه کد های بازی رو در فایل apk قرار بده . حالت اول اینه که کد بازی که داخل خود موتور یونیتی به زبان c sharp نوشته شده رو به بایت کد (زبان میانی سی شارپ که توسط runtime های چارچوب دات نت قابل اجراست) تبدیل میکنه و حین اجرای بازی از ابزار mono برای اجرا کردن اون بایت کد استفاده میکنه (mono یه پیاده سازی از چارچوب دات نته اگه اشتباه نکنم که میتونه بایت کد سی شارپ رو اجرا کنه) این یه حالت اجرای کد توسط یونیتی بود . یه حالت جدیدترش استفاده از ابزار il2cpp هست . این ابزار میاد کدی که برنامه نویس نوشته رو به کد اجرایی native همون پلتفرمی که بازی قراره روش اجرا بشه تبدیل میکنه (مثلا arm) و دیگه برای اجراش نیازی به mono نیست . بازی استک از حالت دوم یعنی il2cpp استفاده کرده بود چون داخل فایل های استخراج شدش ، libil2cpp.so هم وجود داشت . ابزار هایی هستند مثل il2cppInspector که میتونن بازی هایی که با روش il2cpp ساخته شدن رو تحلیل کنن و نهایتا به وسیله ی اطلاعاتی که به شما میدن میتونید این بازی هارو دیکامپایل کنید تا حد زیادی . بازم مشکل وجود داشت و این بود که این ابزار هایی که گفتم نتونستن آخرین نسخه بازی استک رو دیکامپایل کنن و ارور میدادن . نمیدونم شاید obfuscate کردن کدشو یا اینکه اون ابزار ها هنوز خودشونو آپدیت نکردن . به هرحال این از مشکلات بچه اسکریپتی بودن تو یه کاریه 😅 ، ولی رو نسخه های قدیمی تر بازی انگار تست کردم میشد یه کارایی کرد و دیگه با این ارور ها رو به رو نبودیم ولی خب هنوز کاملش نکردم . اگه مشکلی نبود و حل شد مشکل یه پست ازش میزاریم رو وبسایت اگه تو این زمینه تجربه دارید به خصوص رو خود همین بازی خوشحال میشم راهنمایی کنید
🔴 آموزش پایتون - قسمت 28 در قسمت 28 به معرفی چند کتابخونه نسبتا پراستفاده در پایتون میپردازیم تا یاد بگیریم چطوری باید از کتابخونه ها استفاده کرد . Weblog : https://mrpython.blog.ir/post/197 Aparat : https://www.aparat.com/v/ar0LW 🆔 : @mrpythonblog
🔴 آموزش پایتون - قسمت 23 در قسمت 23 به بررسی فضای نام (namespace) در اشیاء میپردازیم . Weblog : https://mrpython.blog.ir/post/192 Aparat : https://www.aparat.com/v/UsHYx 🆔 : @mrpythonblog
من میکروفونم خراب شده ظاهرا اینو با میکروفون گوشیم گرفتم کیفیت صداش پایین تر از قبلیاس . انشاءالله که مشکلی نیست جنس فیک همینه 🥸
سلام و درود پستی که هم اکنون ارسال میشه اولین پست از مجموعه توسعه بدافزارمونه مطالب این مجموعه برگرفته و ترجمه شده از پست های وبلاگ cocomelonc.github.io هستش . اکثر پست ها درک نسبتا خوبی از زبان سی به عنوان پیشنیازش خواهد شد . همه ی پست های این مجموعه در دسته "توسعه بدافزار" در وبسایت مسترپایتون منتشر خواهد شد
دلیل کم فعالیتی این چند وقت همین بود که درگیر کارای سایت بودیم . انشاءالله از این به بعد به خوبی ادامه میدیم . ممنون که مارو از حمایت های خودتون محروم نمیکنید دوره جدید قراره شروع کنیم و اونم تست نفوذ شبکه با پایتون (با محوریت ابزار نویسی) هستش . تو این دوره با کتابخونه هایی مثل اسکپی کار میکنیم و تعداد زیادی از ابزار های تست نفوذ شبکه رو داخلش پیاده سازی میکنیم برای پست بعدی هم احتمالا یه پست مهندسی معکوس داشته باشیم .
🔴 آموزش پایتون - قسمت 29 در این قسمت میبینیم چطوری میشه Exception های دلخواه خودمون رو داخل پایتون تعریف کنیم و از اونا استفاده کنیم . Weblog : https://mrpython.blog.ir/post/198 Aparat : https://www.aparat.com/v/QJPx7 🆔 : @mrpythonblog
🟢 شل معکوس (Reverse Shell) مفهوم پوسته معکوس ، در واقع نوعی دسترسی به سیستم مورد هدف توسط هکر است که در آن خود سیستم هدف به هکر وصل میشود . به عبارتی سیستم هدف به سیستم هکر که در حال شنود است متصل میشود و یک دسترسی shell از خود در اختیار هکر میگذارد . هکر از طریق این shell میتواند دستورات دلخواه خود را روی سیستم هدف به اجرا در بیاورد . https://mrpythonblog.ir/reverse-shells 🆔 : @mrpythonblog