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
مشاهده در ایتا
دانلود
🟣 تزریق کد بوسیله تکنیک RWX-Memory Hunting تکنیک RWX-Memory Hunting روشی بسیار ساده برای تزریق کد به پروسه های دیگر است . همانطور که از اسم این تکنیک بر می آید ،‌ به حافظه کل پروسه های سیستم سرک میکشیم ، به محض اینکه یک قسمت از حافظه در پروسه دیگری با حالت RWX ( قابل خواندن ، نوشتن و اجرا کردن)‌ پیدا کردیم ، یک shellcode درون آن مینویسیم و یک thread برای اجرای آن shellcode میسازیم (دقیقا کاری که در “تزریق کد کلاسیک” انجام میدادیم) . https://mrpythonblog.ir/rwx-memory-hunting/ 🆔 : @mrpythonblog
معرفی سه تا سایت باحال : 1⃣ https://malapi.io یه لیستی از توابعی که داخل بدافزار ها استفاده میشه تفکیک شده بر اساس نوع بدافزار . روی هر تابع کلیک کنید اطلاعات و prototype توابع رو هم داره . 2⃣ https://filesec.io یه لیستی از پسوند فایل هایی که توسط هکر ها استفاده میشه تفکیک شده بر اساس نوع حمله . 3⃣ https://lots-project.com لیستی از دامنه هایی که توسط بدافزار ها استفاده میشه تفکیک شده براساس نوع بدافزار . 🆔 : @mrpythonblog
📌 محتوای لینک شده دوره مفاهیم شبکه که تقدیمتون شد : قسمت ۱ : شرح مدل OSI ------ پروتکل های لایه شبکه ------ قسمت ۲ : پروتکل ARP قسمت ۳ : پروتکل اینترنت (IP) قسمت ۴ : پروتکل ICMP قسمت ۵ : کارگاه لایه شبکه ------ پروتکل های لایه انتقال ------ قسمت ۶ : پروتکل UDP قسمت ۷ : پروتکل TCP قسمت ۸ : کارگاه لایه انتقال ------ پروتکل های لایه کاربر ------ قسمت ۹ : پروتکل HTTP , HTTPS قسمت ۱۰ : کارگاه HTTP , HTTPS قسمت ۱۱ : پروتکل DNS قسمت ۱۲ : کارگاه DNS قسمت ۱۳ : پروتکل Telnet و SSH قسمت ۱۴ : کارگاه Telnet و SSH قسمت ۱۵ : پروتکل های انتقال فایل قسمت ۱۶ : کارگاه انتقال فایل 🆔 : @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 هستش . اکثر پست ها درک نسبتا خوبی از زبان سی به عنوان پیشنیازش خواهد شد . همه ی پست های این مجموعه در دسته "توسعه بدافزار" در وبسایت مسترپایتون منتشر خواهد شد