ماهو الـ PAYLOAD ؟
حتى نشرح هذا المصطلح ، لابد أولاً نعرف ماهي الثغرات ( vulnerabilities ) وكيف يتم استغلالها ( Exploit ) ..
الثغرات انواع متعدّده ، وكل نوع من انواع الثغرات له طريقة استغلال مختلفه عن الأخرى ..
لكن .. خلوّنا نركّز الآن على ثغرات البرمجيات وأنظمة التشغيل ، لأنها هي اللي احنا نستهدفها ..
ثغرات البرامج وأنظمة التشغيل ، 90% منها هي عبارة عن ثغرات طفح ذاكرة ( Buffer OverFlow ) ..
ثغرات طفح الذاكرة ، هي عبارة عن خطأ برمجي في البرنامج ، يخلّي الهكر يقدر يحمّل بيانات
على الذاكرة اكثر من حجم الذاكرة وبالتالي يتسبّب في خطأ برمجي في البرنامج .. مما يجعل البرنامج
يتوقف عن العمل ويقوم بتنفيذ اوامر أخرى الهكر يرسلها له ، وبالتالي يتحوّل عمل البرنامج ..
ولمعلومات اكثر حول ميكانيكيّة عمل هذه الثغرات :
ماذا نعني بـ Buffer OverFlow ؟
طيّب إذاً ، فـ هناك 3 أمور لابد نعرفها ..
1- توجد ثغرة أمنية ( vulnerability ) في نظام ولنفرض اسمه x .
2- يوجد استغلال ( Exploit ) لهذه الثغرة يقوم بعمل الطفح في النظام ويجعله ينفذه اوامرنا .
3- الاوامر اللي احنا نرسلها للنظام مع الاستغلال اسمها الحمولة ( Payload ) .
ومن هنا تتضّح التسمية ، لأن الحمولة هنا مثل الطرد البريدي اللي يحمله عامل توصيل البريد
عدا في حالتنا هنا ، حمولتنا هي عبارة عن اكواد برمجيّة ، وعامل التوصيل هو عبارة عن الاستغلال
اللي راح يخترق النظام ويوصّل الحمولة له ( Payload ) ..
الـ Payload راح تلقاه في أي استغلال ( Exploit ) تحمّله من النت ، بتلقى فيه خانة اسمها
****************lcode = ، ثم بعد علامة " = " راح تلقى اكواد ورموز عجيبة ..
الشيل كود ، هو عبارة عن اكواد برمجيّة مكتوبة بلغة الاسّمبلي ( Assembly ) وهي أقرب لغة للغة الأم للحاسوب ، واللغة الوحيدة اللي يقدر يفهمها كمبيوترك بدون مترجم لأن المعالج يحتوي
على مترجم مصغّر داخله ، خاص بترجمة هذه اللغة بدون مترجم ( Compiler ) ..
هذي الاكواد اللي بعد علامة = ، في متغيّر الـ ****************lcode هي عبارة عن الاكواد البرمجيّة
اللي راح يتم حقنها في جهاز الضحيّه بعد استغلال الثغرة اللي فيه ..
إذاً فالـ ****************lCode هو الـ Payload ..
نقطة هامّة جداً حاب اذكرها قبل ما اكمّل ، وهي اهميّة ترك المصطلحات العربية والتركيز على الانجليزيّة .. فيفضّل ، بدل أن تقول حمولة .. أن تركّز على المصطلح Payload ..
وبدل ان تقول استغلال .. أن تركّز على المصطلح Exploit .. لأن المصطلحات هذي ثابته في عالم
أمن المعلومات ، تعريبها راح يضرّك انت فقط ، لأن البرمجيات والثغرات في تطوّر ..
وما راح تلقى إلا المصطلحات هذي ، فـ اذا عوّدت نفسك عليها ، راح تسهّل لك فهم أي ثغرة جديدة ..
للتوضيح أكثر ولترسيخ المصطلحات هذي ، راح أذكر عدّة سيناريوهات بالأسفل كـ تطبيقات وهمية :
كلنا نعلم بأن أي نظام أو برنامج قد يحتوي على ثغرة أمنية ( vulnerability ) ، لنفرض اني كشفت ثغرة أمنيّة من نوع Buffer OverFlow ولنفرض
في نظام Windows 7 .. أول شي راح أسوّيه انّي اكتب استغلال ( Exploit ) لهذي الثغرة ..
الاستغلال هذا هو عبارة عن كود أو برنامج ، أو ربما طريقة .. الغرض منها تستغل الثغرة الأمنية هذي
بعد استغلال هذه الثغرة بواسطة البرنامج اللي كتبناه ، الاستغلال هذا بيخلّي النظام المخترق
ينفّذ أوامر المفترض انه ما ينفذها ... هذي الأوامر اسمها PAYLOAD ( حمولة ) ..
إذاً الآن في الاستغلال اللي انا سوّيته لازم اضيف له الـ Payload أو الأكواد اللي انا ابغاه ينفذها في نظام الضحيّة بعد استغلال الثغرة ..
لأنّك الآن لما تجي تستخدم الاستغلال هذا لاختراق نظام ويندوز 7 ، فـ الاكسبلويت مهمّته
انه يستغل الثغرة الأمنية في النظام ويخلّيه يشغّل لك برنامج .. أو يطفي النظام .... الخ
إذاً الأوامر هذي انت اللي تحددها ..
ايش ممكن تكون هذي الأوامر ؟
تقدر تكتب أي برنامج ، ممكن تحط فايروس بيفروست ، وباستخدم احد الادوات
تحوّل الفايروس الى ****************lcode ثم تنسخ الاكواد وتحطها بالاستغلال .. وتشغل الاستغلال
وبمجرد تشغيله ، راح يخترق النظام الهدف ، ومن ثم ينفّذ الـ ****************lcode اللي انت حاطّه فيه ..
وفي حالتنا هذي ، هو عبارة عن فايروس بيفروست ، وبالتالي راح ننزل فايروس على جهاز الضحية
بدون ما يدري ... وممكن تحط اي حاجة هنا مكان الـ ****************lcode غير الفايروس ..
هذا الـ ****************lcode يسمّى بالـ PAYLOAD ( الحمولة ) ..
واذا كانت الثغرة Remote ( عن بعد ) ، فقط تحط عنوان ايبي جهاز الضحيّة ، وتحط الـ PAYLOAD اللي تبغاه في الاستغلال .. ثم تشغّل الاستغلال .. وبكذا تقدر تحمّل أي اكواد على جهاز الضحيّة عن بعد وبدون ما يدري
فقط من خلال عنوان الايبي ( IP ) !!
وأيضاً فيه ثغرات Local ( محليّة ) أظن بعضكم قد سمع بها ، وهي عبارة عن استغلالات بس لازم
تشتغل في جهاز الضحيّة وليس عن بعد ...
ممكن يجي احد ويسأل ايش الفايدة ليش ما ارسل له الفايروس أو الاكواد على شكل برنامج واريح مخي؟
الفائدة ياطويل العمر ، لنفرض ان عندي ثغرة في برنامج Adobe reader ..
واستغلالها عبارة عن ملف exploit.pdf يعني ملف pdf
ممكن تحط فيها الـ payload اللي تبغاه ولنفرض فايروس بيفروست ..
وبكذا بيصير عندك فايروس بامتداد pdf .. هو في الحقيقة ماهو الفايروس نفسه ..
انما هو عبارة عن استغلال لثغرة في برنامج adobe reader من خلالها راح نحمل اكواد الفايروس
على الذاكرة وننفذها في نظام الضحيّة ، الان عليك فقط ترسل الملف exploit.pdf
على شكل كتاب ، لللضحيّة المطلوب .. وبكذا ممكن تدخل جهازه بدون ما يدري ، ظناً منه ان الملف
اللي ارسلته له هو عبارة عن كتاب الكتروني !!
ملحوظة : هذه الثغرة لن تعمل إلا لو كان جهاز الضحيّة مركب برنامج adobe reader
لأنّه هو البرنامج المصاب بالثغرة الأمنيّة ، وهكذا ...
لذلك دائماً ينصح بتحميل التحديثات الدورية لنظامك ، وأيضاً للبرمجيات الموجودة على جهازك
فـ اي برنامج على جهازك ممكن يكتشفوا فيه ثغرة Buffer ، حتى برامج الحماية نفسها
تنزل لها ثغرات بفر في المواقع الأمنية .. مضحك .. ولكنّه حقيقي ..
برامج الصوت والفيديو .... كل شي ... جميع أنظمة التشغيل بلا استثناء حتى الجوالات ممكن
تصاب بهذه الثغرات ، لأنها تتعامل مع الذاكرة فقط ..
التعليقات