هرب من virtual machine بستخدام Non-maskable interrupt - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html) +--- قسم : الهندسة العكسية - Reverse Code Engineering (https://www.at4re.net/f/forum-19.html) +--- الموضوع : هرب من virtual machine بستخدام Non-maskable interrupt (/thread-1608.html) |
هرب من virtual machine بستخدام Non-maskable interrupt - ahmed_1337 - 04-05-2020 كما تعلمون ال virtual machine هي محاولة ل عمل محاكات لل الجهاز لاكن هادا اخير يضل فيه الكتير من العيب ونقص كمتال بسيط انه بعض instructions لا تشتغل بشكل مطلوب وفي ما قبل ايام ال binary translation كان الكتير من instruction غير مدعومة ما هي non-maskable interrupt هي interrupt لا تستطيع عمل لها mask متل power on rest حيت لا تستطيع ايقافها ب المعنى الحرفي معضم مطويري virtual machine يقومون باشيء لتسهيل عملهم كتمال بسيط هوا انه يعمل تشارك في IDT و PIC بين guest و host وهادا شي خطير نوعا ما ف ادا تمكنت من وصول لل kernel land في guest تستطيع تحكم في host لأن هادا اخير IDT هوا جدول يوجد به كل interrupt و handler تبعاها مادا لوا قما بتبديل handler خاصة ب interrupt تبع mouse ب شيء متل print hello world كل مرة تقوم ب تحريك ال mouse رح ينطبع hello world هادا بس تبسيط للفهم فقط بنسبة لل PIC فهوا chipset في الكمبيوتر تقوم بمعالجة ال interrupts ولها configuration خاصة فيها وفي حالة وصول لهاده config وتعديل عليه فقد نسبب مشاكل متلا نبدل في priority بين interrupts تبع timer و disk controller نعمل لهم swap xD هادا رح يخربق كل شي على كل لا اريد ان اطيل عليكم كيف يشتغل هادا نوع من الهرب نحتاج ل guest يتوفر على 2 core سواء logical او physical لا يهم حيت سوف نقوم بعمل registration ل callback خاص ب عمل handling لل non-maskable interrupt وبعدين سوف نقوم ب محاولة لجعل core 1 يطبق عملية vm_exit و في نفس الوقت سوف يرسل core 2 interrupt من نوع non maskable مما سوف يدعنا ننفد ننفد handler في context خاص ب ال host لي في هاده الحالة vmm
اعمل له compile ب debug عشان تقدر تشوف output في Dbgview خاصة ب sysinternals على كل هاد شي لا ينطبق على vmm متل vmware و virtual box و كبار لاكن قد تجده في handmade honeypot على كل لعمل load لل driver sc create driverName type= kernel binPath= C:driver.sys sc start driverName بعدين راقب في dbgview
اريد ان اشير لطريقة جميلة لل anti debug وهي تغير handler خاص ب int 3 في هاده الحالة نتكلم عن trap و ليس interrupt لاكن نفس شيء تقريبا RE: هرب من virtual machine بستخدام Non-maskable interrupt - Cyperior - 04-05-2020 المرجو، محاولة الكتابة بالعربية الفصحى بقدر الإمكان. RE: هرب من virtual machine بستخدام Non-maskable interrupt - ahmed_1337 - 04-05-2020 جدا اسف مستواي ضعيف في العربية سوف احاول RE: هرب من virtual machine بستخدام Non-maskable interrupt - Cyperior - 04-05-2020 لا بأس، إن كنت تجيد الإنجليزية فأرسل لي بالمقال وسأقوم بإذن الله تعالى بترجمته وإرساله لك، لنشره في الموقع. |