الانسان اذا أقنع نفسه بشي أنه صعب جداً عليه، يقوم مخه يسجن نفسه داخل غرفه وهميه بدون أبواب، تحريره من هذي الغرفه يكمن في مواجهة الصعوبة هذي؛ هي وحده من الثنتين يا بتشوف انك قادر عليها من زمان بس كنت مستنقص نفسك أو بتلقى نقاط ضعفك تجاهه والي يفترض عليك انك تقويها وتتجاوز هالصعوبه.
عشان انتقم من نفسي في الماضي، وبسبب اني كنت اتعقد من الـ bufferoverflow، قررت اليوم اشرح استغلال البفر اوفر فلو للينكس 32-bit مع حماية NX باستعمال طريقة الـ ret2libc
بطريقة اذا شفتها قبل افهمها على طول، باذن الله عاد تفهمون انتم
#فلسفات_هكرجيه #للعقول_الواعيه
بطريقة اذا شفتها قبل افهمها على طول، باذن الله عاد تفهمون انتم
#فلسفات_هكرجيه #للعقول_الواعيه
شرحنا اول كيف تستغل البفر عن طريق وضع شل كود داخل الستاك وتخلي الـ eip register يأشر على الشل كود ويشتغل فيعطينا reverse shell
حماية الـNX بكل اختصار هي انك تخلي الـcpu ما يشغّل الكود اذا كان داخل الستاك فما راح يشتغل الكود ولا يجينا شل
والله سهله بس ركز معي حبتين وجهز قهوتك
حماية الـNX بكل اختصار هي انك تخلي الـcpu ما يشغّل الكود اذا كان داخل الستاك فما راح يشتغل الكود ولا يجينا شل
والله سهله بس ركز معي حبتين وجهز قهوتك
تخيل معي الستاك وهو مكان له حجم معين، يتم حجزه لمتغيرات الfuncation، حلو ؟
اذا ما حط المبرمج حد لحجم المتغيرات بحيث يكون ما يطلع من الستاك بيصير عندنا ثغرة البفر
زين اذا امتلى الستاك كله بايتات وش يصير ؟
اذا ما حط المبرمج حد لحجم المتغيرات بحيث يكون ما يطلع من الستاك بيصير عندنا ثغرة البفر
زين اذا امتلى الستاك كله بايتات وش يصير ؟
سميناه caller لان بعد ما يدخل داخل الـ eip بيستدعي الفنقشن الي عطيناه عنوانها
حلو، بعد الاربع بايتات تبع الـcaller عندنا اربع بايتات تصير الـreturn address للـcaller
وبعد هالاربع بايتات، نقدر نحط arguements 4 بايتات لكل منهم للفنقشن caller
هل بانت ملامح الاستغلال ؟ حلو
حلو، بعد الاربع بايتات تبع الـcaller عندنا اربع بايتات تصير الـreturn address للـcaller
وبعد هالاربع بايتات، نقدر نحط arguements 4 بايتات لكل منهم للفنقشن caller
هل بانت ملامح الاستغلال ؟ حلو
بمعنى لو ملينا الستاك بايتات وبعدها حطينا ادرس الفنقشن print مثلاً وبعدها حطينا ادرس الفنقشن exit وبعدها حطينا ادرس لل string "hello" بيصير كاننا مشغلين الكود التالي؛
print("hello");
exit();
وضحت ؟
print("hello");
exit();
وضحت ؟
كك هكرجي مابي اطبع hello، ولكن ابي احصل على شل وبما اني ما اقدر احط شل كود بالستاك واشغله نفس اول، فف بدون اي مشاكل وبكل سلاسه بدل ادرس print الى system وبدل hello الى
"bin/sh/"
حلوين ؟
ترى مافي شي صعب هو بلغة الC اذا تبي تحصل شل تستدعي الفنقشن
system("/bin/sh");
وبس ..
"bin/sh/"
حلوين ؟
ترى مافي شي صعب هو بلغة الC اذا تبي تحصل شل تستدعي الفنقشن
system("/bin/sh");
وبس ..
ret2libc method طريقة تستغل فيها البفر وهي انك ترجع لaddresses داخل الـ libraries الي يستدعيها البرنامج (binary)
فاذا كان فيه NX protection وحصلت الـ system function و exit function و شل داخل الlibraries فف خير على خير ولا بتضطر انك تسوي طرق ثانيه ما راح نتطرقلها بهذا الثريد
فاذا كان فيه NX protection وحصلت الـ system function و exit function و شل داخل الlibraries فف خير على خير ولا بتضطر انك تسوي طرق ثانيه ما راح نتطرقلها بهذا الثريد
وهنا اخونا تركي @xr0o0tx
شرح نفس كلامي بس انا احسن طبعاً 👀
شرح نفس كلامي بس انا احسن طبعاً 👀
وهنا اخونا @i4bdullah
تجاوز الـ NX باستعمال ROP جعل الستاك executable وحط شل كود وشغله
تجاوز الـ NX باستعمال ROP جعل الستاك executable وحط شل كود وشغله
وسلامتكم لا تنسون اللايك والسبسكرايب وتفعل جرس التنبيهات واذا عجبك الثريد سو شير
كان معكم احمد الهكرجي اكس تربل زيرو
كان معكم احمد الهكرجي اكس تربل زيرو
جاري تحميل الاقتراحات...