Mr Python | مستر پایتون
1.36K subscribers
303 photos
12 videos
8 files
361 links
مجموعه آموزش های ابزارنویسی و مهندسی معکوس

وبسایت مسترپایتون :
https://mrpythonblog.ir

ارتباط با ادمین :
@MrPythonAdmin

آپارات :
https://aparat.com/mrpythonblog

یوتیوب :
https://youtube.com/@mrpythonblog
Download Telegram
سلام

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

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

🌺
20🔥5👍2
یه بابایی همینجور که داشته تو جنگل راه میرفته ، یه چراغ عجیب غریب پیدا میکنه . برش میداره و با آستینش گرد و خاک روی اون رو پاک میکنه . یهو یه غول ازش میاد بیرون . غوله شروع میکنه تشکر کردن و دمت گرم و این حرفا ... که منو آزاد کردی .
غوله به مرده میگه سه تا آرزو بکن همشو برات برآورده میکنم .
خلاصه این داداشمون که کفش بریده بوده ، سریع همون اول میگه یک میلیارد دلار میخوام .
غوله یه بشکن میزنه یه چمدون پر از دلار ظاهر میشه .
بعد مرده میگه یه فراری هم میخوام . غوله یه بشکن دیگه میزنه یه فراری هم ظاهر میشه .
به عنوان آرزو آخر میگه میخوام هیچ دختری تو این دنیا توانایی رد کردن منو نداشته باشه .
غوله یه بشکن دیگه میزنه و مرده تبدیل میشه به یه جعبه شکلات .

به نقل از کتاب " هنر اکسپلویت نویسی ( The art of exploitation ) " ، دلیل بوجود اومدن آسیب پذیری ها تو دنیای کامپیوتر دقیقا همین چیزیه که این داستان گفت .
هیچ چیزی اشتباه پیش نرفت . جعبه شکلات احتمالا برای دختر ها قابل رد کردن نیست . اون غوله فقط چیزی که براش گفته شد رو به درستی انجام داد و فراهم کرد . مشکل اصلی از اون مرده بود که نتونست واقعا اون چیزی که تو فکرش داشت رو بیان کنه .

این اتفاق دقیقا برای برنامه نویس و کامپیوتر هم وجود داره . کامپیوتر ها اون چیزی که براشون نوشته شده رو مو به مو اجرا میکنن اما برنامه نویسا لزوما اون چیزی که تو فکرشونه رو نمینویسن . این تناقض بین چیزی که تو فکر برنامه نویسه و چیزی که برای کامپیوتر نوشته منجر به بوجود اومدن آسیب پذیری میشه .

🆔 : @mrpythonblog
👍8👏1
Mr Python | مستر پایتون
یه بابایی همینجور که داشته تو جنگل راه میرفته ، یه چراغ عجیب غریب پیدا میکنه . برش میداره و با آستینش گرد و خاک روی اون رو پاک میکنه . یهو یه غول ازش میاد بیرون . غوله شروع میکنه تشکر کردن و دمت گرم و این حرفا ... که منو آزاد کردی . غوله به مرده میگه سه تا…
#معرفی_منبع

کتاب هنر اکسپلویت نویسی یکی از باحال ترین کتابایی بوده که خوندم . در نگاه اول متوجه میشیم کتاب برای امروز شاید یه چیز قدیمی باشه . تو بعضی از فصل های کتاب با سیستم عامل ها و نرم افزار هایی کار میکنه که امروزه قدیمی محسوب میشن و در نتیجه یکسری از تکنیک هایی که یاد میده شاید امروزه دیگه کاربردی نباشه .
اما این دلیل نمیشه این کتاب رو نخونیم . این کتاب پر از مفاهیم پایه ایه و خیلی از تکنیک ها از حوزه های مختلف (مهندسی معکوس ، شبکه ، رمزنگاری و ...) رو به صورت مفهومی توضیح داده که دونستنشون خیلی میتونه به درک مفاهیم جدیدتر کمک کنه .
هرچند خیلی مباحثم داخل کتاب هست که هنوزم کاربردیه . بنابراین واقعا میشه از خوندنش لذت برد .

فصول کتاب به ترتیب :
- Introduction
- Programming
- Exploitation
- Networking
- Shellcode
- Countermeasures
- Cryptology

عنوان کامل کتاب :
Hacking : The Art of Exploitation , 2nd edition

🆔 : @mrpythonblog
👍7
سلام و خسته نباشید دوستان .

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

آدرس وبسایت :
https://mrpythonblog.ir

وبلاگ قدیمی رو هم میزاریم بمونه حذفش نمیکنیم چون تعداد زیادی پست روش داریم ولی خب پست های جدید همشون روی وبسایت قرار میگیرن . هرچند وقت یک بار وبلاگ قدیمی رو هم چک میکنم و نظراتو جواب میدم داخلش
👍72🔥1👏1
Mr Python | مستر پایتون pinned «سلام و خسته نباشید دوستان . خبر امروز اینه که بالاخره وبسایت مسترپایتون تاسیس شد و از این به بعد تمامی فعالیت ها روی وبسایت انجام خواهد شد آدرس وبسایت : https://mrpythonblog.ir وبلاگ قدیمی رو هم میزاریم بمونه حذفش نمیکنیم چون تعداد زیادی پست روش داریم ولی…»
دلیل کم فعالیتی این چند وقت همین بود که درگیر کارای سایت بودیم . انشاءالله از این به بعد به خوبی ادامه میدیم .
ممنون که مارو از حمایت های خودتون محروم نمیکنید


دوره جدید قراره شروع کنیم و اونم تست نفوذ شبکه با پایتون (با محوریت ابزار نویسی) هستش . تو این دوره با کتابخونه هایی مثل اسکپی کار میکنیم و تعداد زیادی از ابزار های تست نفوذ شبکه رو داخلش پیاده سازی میکنیم

برای پست بعدی هم احتمالا یه پست مهندسی معکوس داشته باشیم .
👍14🔥1👏1
🔴 رمزنگاری کتابی با پایتون

امروزه کتاب ها یکی از دردسترس ترین و پراستفاده ترین چیزای زندگی هممون هستند . چه آدم کتابخونی باشیم یا نه کاملا برعکس ، فرقی نمیکنه در نهایت ما همیشه با کتاب ها سروکار داریم . جالبه بدونید که با استفاده از همین کتاب ها میشه اطلاعاتمون رو رمز کنیم و به بقیه انتقال بدیم . احتمالا روش های مختلفی برای اینکار وجود داره ولی یه نوع الگوریتم رمزنگاری هست به نام رمزنگاری کتابی (Book Cipher) که با استفاده از اون متون خودمون رو با بهره گیری از کتاب ها ، رمز میکنیم . 

https://mrpythonblog.ir/book-cipher-python


#Cryptography

🆔 : @mrpythonblog
👍4
سلام و درود
پستی که هم اکنون ارسال میشه اولین پست از مجموعه توسعه بدافزارمونه
مطالب این مجموعه برگرفته و ترجمه شده از پست های وبلاگ cocomelonc.github.io هستش .
اکثر پست ها درک نسبتا خوبی از زبان سی به عنوان پیشنیازش خواهد شد .
همه ی پست های این مجموعه در دسته "توسعه بدافزار" در وبسایت مسترپایتون منتشر خواهد شد
👍2
🟢 شل معکوس (Reverse Shell)

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

https://mrpythonblog.ir/reverse-shells


#MalwareDevelopment #ReverseShells

🆔 : @mrpythonblog
👍5🔥4
🔴 کرک ویندوز ۹۵ با Ghidra

یکی از ملموس ترین کاربرد های مهندسی معکوس برای هر ایرانی ، کرک کردن نرم افزار ها و سیستم عامل هاست . تو این قسمت آماده ایم که برگردیم به دوران ویندوز ۹۵ و ببینیم امنیت این سیستم عامل در اون زمان در چه حد بوده . نهایتا میبینیم که چطوری میشه با نرم افزار قدرتمند ghidra الگوریتم بررسی صحت سریال ویندوز ۹۵ رو دور زد و اون رو فعال کرد . با ما همراه باشید …

https://mrpythonblog.ir/crack-windows95-ghidra


#ReverseEngineering #Ghidra

🆔 : @mrpythonblog
👍6👏2
🟢 تزریق کد کلاسیک (Code Injection)

تزریق کد (code injection) به سادگی یعنی وادار کردن یک پروسه دیگر به اجرای کد دلخواه ما . به عبارتی طی این فرایند ، یک پروسه (بد افزار) کد دلخواه خود را به پروسه ای دیگر تزریق کرده و موجب اجرای کد توسط پروسه هدف میشود .

https://mrpythonblog.ir/classic-code-injection


#MalwareDevelopment #CodeInjection

🆔 : @mrpythonblog
👍5👏1
🟢 تزریق DLL کلاسیک (DLL Injection)

تزریق DLL یکی از تکنیک های مرسوم برای اجرای کد دلخواه هکر ، توسط پروسه های عادی سیستم است . در این تکنیک هکر یک فایل DLL مخرب که حاوی کد های دلخواه او است را ساخته و سپس این فایل را به یک پروسه عادی سیستم تزریق میکند . این باعث میشود تا کد مخرب داخل DLL توسط آن پروسه اجرا شود . برای تزریق DLL ، روش های مختلفی وجود دارد و  بوجود خواهد آمد !‌اما در این قسمت به روش کلاسیک و سنتی آن میپردازیم .

https://mrpythonblog.ir/classic-dll-injection


#MalwareDevelopment #CodeInjection

🆔 : @mrpythonblog
👍4🙏1
🟢 تکنیک DLL Hijacking

در این قسمت به بررسی تکنیک DLL Hijacking میپردازیم . این تکنیک برای مقاصدی مثل ماندگاری (Persistence) ، افزایش سطح دسترسی (Privilege Escalation) و یا عبور از مکانیزم های امنیتی استفاده میشود .

https://mrpythonblog.ir/dll-hijacking


#MalwareDevelopment #CodeInjection

🆔 : @mrpythonblog
👍3
🟢 پیدا کردن PID بر اساس اسم پروسه در C

هر برنامه یا فایل اجرایی ، وقتی در سیستم عامل اجرا شود یک پروسه (Process) به ازای آن ساخته شده است . به عبارتی پروسه ها برنامه های درحال اجرا هستند  . سیستم عامل ها برای مدیریت این پروسه ها یک شناسه عددی به نام Process Identification (PID) به آن ها اختصاص میدهند.  در اکثر حملات تزریق کد یا DLL ما نیاز به دانستن PID پروسه مقصد داریم . بنابراین حیاتی است که بتوانیم کدی بنویسیم که هوشمندانه PID پروسه های درحال اجرا در سیستم عامل را پیدا کند …

https://mrpythonblog.ir/find-pid-in-c


#MalwareDevelopment

🆔 : @mrpythonblog
👍4
سلام
دوستان اگه خواستیم همین مدت در کنار کارای دیگه یه مجموعه چیت انجین پیشرفته رو دنبال کنیم ، پست ویدیویی ضبط کنیم ازش یا آموزش متنی بزاریم ؟
Final Results
23%
متنی
77%
ویدیویی
👍12
Mr Python | مستر پایتون
Video
یه همچین چیزی رو یه بار دیده بودم تو اینترنت که طرف اومده بود با یه موتور یه انگشت مکانیکی درست کرده بود که بازی stack رو بازی میکرد .
استک یه بازی موبایلیه که یه سری کاشی مکعبی شکل میاد رد میشه و شما باید دقیقا جوری کلیک کنی که صاف این کاشیا رو هم بیفته

چند روز پیش میخواستم این پروژه رو پیاده کنم و اتفاقا یه سروو موتور هم از خیلی وقت پیش داشتم که کارو راحت میکرد . سروو موتور ، یه جور کیت آمادس که شامل یه موتوریه که شما میتونید دقیقا برنامه ریزیش کنید که چند درجه بچرخه و این برای این کار خیلی خوبه .

نهایتا سروو رو با یه آردوینو uno بستم که براساس یه تاخیر یکسانی همینجور کلیک کنه رو گوشی . تا یه جایی خوب جواب میده . یکی از خوبی های بازی stack اینه که سرعت رفت و اومد کاشی ها کم و زیاد نمیشه درنتیجه شما یه تاخیر یکسانی همیشه بین کلیک کردنا نیاز داری .

اما یه جایی مشکل درست شد . وقتی که شما ۸ تا کاشی رو دقیقا درست بزنی ، بازی به عنوان جایزه یکم سایز کاشی هاتو بزرگتر میکنه . وقتی سایز کاشی ها بزرگ بشه ، اون تاخیر بینش هم متفاوت میشه . اگه دقت کنید تو ویدیو ۸ تا کاشی درست که زد کاشی نهمی بزرگتر شد و تاخیرش بهم ریخت و بعدیشو نتونست دقیق بزنه .
این قضیه مشکل ساز شد . چون نهایتا بعد از ۸ حرکت درست زمان بندیشو از دست میداد و چنتا کاشی رو اشتباه میزد تا دوباره از یه جایی همگام میشد و ۸ تا دیگه میزد .
این باعث میشه تا ابد نتونه درست بزنه و یه جایی متوقف بشه نهایتا .
روش های مختلفی رو سعی کردم برای حل این موضوع انتخاب کنم مثلا یه جوری برنامشو نوشتم که بعد از ۸ تا حرکت درست یکم تاخیر بینشو کم کنه . ولی بازم خیلی نتیجه نداد
👍7👏1
یه چیز دیگه ایم که به ذهنم خورد این بود که با مهندسی معکوس منطق بازی رو جوری تغییر بدم که بعد از ۸ تا حرکت درست سایز کاشی ها بزرگ نشه . اگه میشد اینکارو کرد عالی میشد و ربات ما هیچوقت متوقف نمیشد .
فایل apk بازی رو ابزار apktool استخراج کردم (خود فایل های apk یه جور فایل فشرده و آرشیو شدس) و دیدم که فایلایی مثل libunity.so داخلشه . این به این معنیه که بازی با موتور بازی سازی unity ساخته شده

شما بازی هایی که با یونیتی ساخته شدن رو نمیتونید مستقیما با ابزار هایی مثل jadx دیکامپایلشون کنید به سورس کد جاوا چون اینکار نهایتا کدی رو به شما میده که مربوط به خود موتور یونیتیه نه منطق واقعی بازی . یونیتی کد واقعی بازی که برنامه نویسش نوشته رو در قالب یکسری فایل کتابخونه ای توی apk خروجی جا میده و بعد حین اجرا کد های اونو اجرا میکنه . یونیتی تا اونجایی که میدونم به دو حالت میتونه کد های بازی رو در فایل apk قرار بده . حالت اول اینه که کد بازی که داخل خود موتور یونیتی به زبان c sharp نوشته شده رو به بایت کد (زبان میانی سی شارپ که توسط runtime های چارچوب دات نت قابل اجراست) تبدیل میکنه و حین اجرای بازی از ابزار mono برای اجرا کردن اون بایت کد استفاده میکنه (mono یه پیاده سازی از چارچوب دات نته اگه اشتباه نکنم که میتونه بایت کد سی شارپ رو اجرا کنه)
این یه حالت اجرای کد توسط یونیتی بود . یه حالت جدیدترش استفاده از ابزار il2cpp هست . این ابزار میاد کدی که برنامه نویس نوشته رو به کد اجرایی native همون پلتفرمی که بازی قراره روش اجرا بشه تبدیل میکنه (مثلا arm) و دیگه برای اجراش نیازی به mono نیست .
بازی استک از حالت دوم یعنی il2cpp استفاده کرده بود چون داخل فایل های استخراج شدش ، libil2cpp.so هم وجود داشت .
ابزار هایی هستند مثل il2cppInspector که میتونن بازی هایی که با روش il2cpp ساخته شدن رو تحلیل کنن و نهایتا به وسیله ی اطلاعاتی که به شما میدن میتونید این بازی هارو دیکامپایل کنید تا حد زیادی .

بازم مشکل وجود داشت و این بود که این ابزار هایی که گفتم نتونستن آخرین نسخه بازی استک رو دیکامپایل کنن و ارور میدادن . نمیدونم شاید obfuscate کردن کدشو یا اینکه اون ابزار ها هنوز خودشونو آپدیت نکردن . به هرحال این از مشکلات بچه اسکریپتی بودن تو یه کاریه 😅 ،
ولی رو نسخه های قدیمی تر بازی انگار تست کردم میشد یه کارایی کرد و دیگه با این ارور ها رو به رو نبودیم ولی خب هنوز کاملش نکردم . اگه مشکلی نبود و حل شد مشکل یه پست ازش میزاریم رو وبسایت

اگه تو این زمینه تجربه دارید به خصوص رو خود همین بازی خوشحال میشم راهنمایی کنید
👍8👏3