إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

الاستفادة من هجوم rootkit في الدفاع عن شبكتك

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الاستفادة من هجوم rootkit في الدفاع عن شبكتك

    الكثير من الخوادم تكون مضطرا فيها للسماح لأشخاص معينين بوضع ملفات على الخادم
    لكن وضع هذه الملفات لا يشكل أي خطر على الخادم لأن تشغيلهم للملفات سيكون دون صلاحيات

    كذلك الحال عن استغلال أحدهم ثغرة ما في واحد من آلاف البرامج المركبة عندك لينفذ ما يريد على الخادم لديك هذا التنفيذ سيكون بصلاحيات عمل الخادم وهي غالباً تشبه nobody او guest

    تتخلص فكرة هجوم rootkit هي استغلال سهوة من مدير النظام الضحية ودفعة لتنفيذ برامج يضعها المخترق، وهنا سيكون التنفيذ بصلاحيات مدير النظام

    هذه الحيل تتراوح بين الهندسة الاجتماعية (فن الهيلمة) والعبث في متغير البيئة PATH
    لكن النقطة الأساسية فيها التي منحتها الاسم هي عمل برامج/سكربتات باسم لن يتردد المدير في تنفيذها
    كأن يكون اسمها ls أو cp أو mv ... وهي أشياء لا يمر يوم إلا وينفذها الواحد منا عشرات المرات

    طبعاً هذه الحيلة وحدها لن تنفع لأن توزيعات لينكس لا تضع الدليل الحالي أي . في مسارات التنفيذ PATH إضافة لاستعمال noexec و umask وغيرها

    الآن يبدأ المقال وهو كيف نستفيد من هذه الحيلة في الحماية لا في التخريب

    تخيل أنك في عالم مثالي كل ما عليك هو أن تسترخ فإذا حاول شخص ما الدخول إلى نظامك
    ياتيك بريد أو رسالة على جوالك تحذلك من ذلك المشبوه قبل أن تقع الفاس بالراس
    لتدارك المشكلة وقتل ال session الذي فتحة والقيام باللازم

    هذا ليس حلم
    غير اسم البرنامج ls الموجود في /bin/ إلى ls.bin مثلاً
    ثم اعمل النص التالي
    كود:
    #! /bin/sh
    MAIL="[email protected]"
    LS="/bin/ls.bin"
    SUBJECT="WARNING: Suspected intrusion"
    echo "AlSadi rootkit defence system report, Warning somebody managed to get a session on this server at [$(date)] using the account of user=[$USER] UID=[$UID], please handle this situation" | mail -s subject "$SUBJECT" "$MAIL" 2>/dev/null 1>/dev/null || true
    exec $LS [email protected]
    واحفظه (مع تعديل الأسطر الأولى بما يناسبك، يعني ضع بريدك أنت) ثم ضعه على الخادم باسم ls في المجلد bin ولا تنس أن تسمح بنتفيذه
    chmod a+x /bin/ls

    فإذا تسلل أحدهم وبمجرد أن يكتب ls ليعرف أين هو، ستصلك رسالة تحذرك من وجود اختراق

    يمكنك أن تضيف طباعة $$ و pstree -p إلى متن الرسالة

    والسلام

  • #2
    حيلة رائعة أخى مؤيد مع أنى ما ليش فى الشغل ده
    شكراً لك

    تعليق


    • #3
      اشكرك عزيزي مؤيد ..

      مراجعات :

      برنامج Rootkit Hunter لحماية السيرفر من برامج الهكر
      rkhunter و chkrootkit لفحص السيرفر من الـ rootkits
      تركيب Root Kit Hunter على جهازك (روعة ياشباب)

      Twitter
      : @Linux4SA

      تعليق


      • #4
        هذا ليس سكربت مضاد للروت كت، هذا رووت كت باستخدام دفاعي

        الروابط الثلاثة هي برنامج مضادة للروت كت
        وهذا أمر مختلف تماماً الهدف ليس الحماية من الروت كت
        بل هذا رووت كت لكنه يتصيد المتسللين (وليس واضعي الروت كتس)

        تعليق


        • #5
          اعتبروه شبيه بفكرة الHoney Pot
          V.I.P

          (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
          هود 115

          Linux is user-friendly, but it happens to be selective about its friends

          "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


          مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


          تعليق


          • #6
            والله طريقة حلوة !! ..
            يعطيك ألف عافية .. بس طيب لو انا نفذت الأمر ؟ راح كل شوي يقلي ؟ عن محاولة اختراق ؟

            تعليق


            • #7
              بالرغم من اني لا افهم بالسرفيرات الا ان الفكره وصلت،،، الفكره عباره عن وضع كمين عن طريق تزوير احد الاوامر، وعندما تصلني رساله على البريد فانه تعني اثنتين:
              1- اما اني اخطأت واستخدمت الامر المزور.
              2-او ان شخص غيري يعبث بالخادم.

              تعليق


              • #8
                بس طيب لو انا نفذت الأمر ؟ راح كل شوي يقلي ؟ عن محاولة اختراق ؟
                على البريد فانه تعني اثنتين:
                1- اما اني اخطأت واستخدمت الامر المزور.
                2-او ان شخص غيري يعبث بالخادم.
                لهذا قلت suspected يعني شبهة
                كذلك وضعت في الرسالة التاريخ والوقت والاسم
                فإذا كنت أنت فإنك ستعرف ذلك من الوقت

                يمكنك تطويره بحيث إذا وجد متغير معين بقيمة معينة يتاجهل ولا يرسل التحذير

                مثلاً
                كود:
                accept="8bf30a7830f6757f27d8aa4515b047ee"
                sadi_pass=$( echo "[email protected] 533D$SADI_PASS" | md5sum | cut -d ' ' -f 1 )
                [ $sadi_pass != $accept] &&
                cat "AlSadi rootkit defence system report, Warning somebody managed to get a session on this server at [$(date)] using the account of user=[$USER] UID=[$UID], please handle this situation" | mail -s subject "$SUBJECT" "$MAIL" 2>/dev/null 1>/dev/null || true
                وتعمل ملف اسم لما تنفذه يثق فيك وتضع في مكان لا يخطر على بال إبليس زي
                كود:
                /var/log/missing.ld
                تكون محتوياته
                كود:
                echo -n "Please Enter whatever you should enter: "
                read -s SADI_PASS
                export SADI_PASS
                نفذ الملف السابق
                bash /var/log/missing.ld
                ثم اكتب كلمة سر مختلفة عن كلمة سرك
                ثم نفذ السطر

                كود:
                echo "[email protected] 533D$SADI_PASS" | md5sum | cut -d ' ' -f 1
                ثم عد للبرنامج واستبدل قيمة accept بمخرجات الأمر السابق

                تعليق


                • #9
                  واو .. ماشاء الله عليك استاذ مؤيد دائما تحلها .. رجل المهمات الصعبة !!
                  تسلم مرة أخرى ..

                  تعليق


                  • #10
                    طريقة رائعة وسأقوم بتجربتها قريبا ان شاء الله ويمكن تطوريها ليتم ارسال التبليغ لصفحة php
                    شكرا أخ مؤيد على الموضوع وبانتظار المزيد من مواضيعك الرائعة.. كل الودBr4v3-H34r7

                    تعليق


                    • #11
                      السلام عليكم ... يا رجل هذا الموضوع متى كتبته ؟ وليش ما خبرتني بوجود مثل هذا الموضوع ؟

                      على فكرة الموضوع ببساطته لكنه راقي جداً وفعلاً مفيد لمن يريد أن يفهم كيف يستطيع عمل رووت كت بسيطة للإستعمال الدفاعي المشكلة الوحيدة يا مؤيد بإنه مهما كنا شطار في التصدي ... يوجد من هو أشطر منك في الهجوم ولهذا الموضوع عبارة عن مطاردة مستمرة بين Tom و Jerry

                      بالإضافة الى ذلك، هناك مخترقين بمجرد ما حط قدمه على القمر (قصدي السيرفر ) يكون ركب الرووت كت حقه وبدأ العمل، أي كل ما ينفذه من أوامر خاصة فيه ... ولهذا الـ ls هذي وغيرها ستكون مثل الكمين لفآرة ومن يمر من فوقها هو فيل

                      على كل حال الحماية مستمرة والإختراقات مستمرة ولن نصل للكمال يوماً ... فالكمال لله ...
                      مشكور يا مؤيد على الموضوع ... الله يعطيك العافية
                      إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                      إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                      ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                      فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                      إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                      ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                      وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                      [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                      تعليق


                      • #12
                        هناك مخترقين بمجرد ما حط قدمه على القمر
                        المخترق الوحيد القادر على تفادي كتابة أمر ls هو شخص يمتلك أصلا معلومات كاملة عن شجرة الخادم/سيرفر
                        بكلمات أخرى هو شخص يعلم وجود مثل هذا الإنذار ويعلم أين سيكون بعد الختراق ويستطيع أن يعرف إذا انتقلت الملفات غيبا دون عمل ls للتأكد من نقلها ... باختصار إنه الموظف السابق الحاقد المطرود

                        بالمناسبة ليس بالضرورة ls وحده يمكن تعمل ل cp ...إلخ بل ويمكن أت تجعل سكربت واحد لكل هذه الأوامر

                        لكن طبعاً هذا البرنامج مجرد أسلوب إنذار متأخر وليس نظام حماية.

                        تعليق


                        • #13
                          كود:
                          2>/dev/null 1>/dev/null || true
                          السطر دا مش فاهمه ممكن تفهمهولي
                          thx

                          تعليق


                          • #14
                            إرسال كل من المدخلات القياسية والاخطاء القياسية stderr إلى المخرجات إلى جهاز "مصرف لا شيء"
                            وهو جهاز وهمي يستقبل كم لا نهائي من المدخلات ولا يفعل بها شيء

                            أي أنه لا يطبع رسالة خطأ في حال حدوث شيء ما
                            أما true فهو برنامج ينتهي دائماً بنجاح!

                            بكلمات أخرى كل هذا احتياط من أجل عدم حصول المخترق على أي معلومة عن وجود البرنامج
                            في حال فشل برنامجي لأي سبب مثلاً كأن يكون خادم البريد وقتها لا يعمل فيحصل على رسالة تقول
                            ls
                            could not send email

                            فيدرك المخترق وجود هذا الانذار

                            لهذا قمت بهذه الحركة

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة alsadi مشاهدة المشاركة
                              إرسال كل من المدخلات القياسية والاخطاء القياسية stderr إلى المخرجات إلى جهاز "مصرف لا شيء"
                              وهو جهاز وهمي يستقبل كم لا نهائي من المدخلات ولا يفعل بها شيء

                              أي أنه لا يطبع رسالة خطأ في حال حدوث شيء ما
                              أما true فهو برنامج ينتهي دائماً بنجاح!

                              بكلمات أخرى كل هذا احتياط من أجل عدم حصول المخترق على أي معلومة عن وجود البرنامج
                              في حال فشل برنامجي لأي سبب مثلاً كأن يكون خادم البريد وقتها لا يعمل فيحصل على رسالة تقول
                              ls
                              could not send email

                              فيدرك المخترق وجود هذا الانذار

                              لهذا قمت بهذه الحركة
                              شكرا علي الشرح
                              بس في حاجه

                              كود:
                              [COLOR="Red"]||[/COLOR] true
                              دي معنها OR لما ال exit status
                              مش مسويا لي صفر يعني في خطأ في تنفيز السكربت فا معنها انك تنفز true

                              فا يتحسن تتشال احسن

                              لان ملهاش لزمه

                              تعليق

                              يعمل...
                              X