وصلنا لمرحلة أننا أصبحنا كل يوم نري تطور البرمجيات الخبيثة أكثر و أكثر ، و اليوم بإذن الله سنتحدث عن شكل من أشكالها و هي ليست برمجية جديدة و لكنها ليست معروفة للجميع أيضا و هي الـDropper
ماهو الـTrojan Dropper؟
هو نوع من البرمجيات الخبيثة والذي تكمن وظيفته في أن يقوم بتحميل ملف خبيث علي جهازك و تشغيله دون أن تشعر بشئ.
و لكي يقوم هذا الدروبر بهذا الأمر فإنه يفعل بذلك بطريقة من اثنتين ليتخطى برامج الحماية و هي أنه إما يحتوي بالفعل على كود الفايروس و يقوم بإنشائه و تشغيله مباشرةً و هي عملية من مرحلة واحدة.
الطريقة الثانية و هي الشائعة بين هذه البرمجيات أن يقوم بتحميل الملف الخبيث من الإنترنت بحيث يكون مبرمج الدروبر قد رفع الملف الخبيث مسبقا علي موقع من مواقع التخزين الإلكتروني و برمج الدروبر علي أن يقوم بتحميله ثم تشغيله و كما نرى فهي عملية من مرحلتين.
و في الغالب يقوم الدروبر بمسح نفسه بعد إنجاز المهمة.
مثال:
في سنه 2014 اكتشف فريق f-secure برمجية OnionDuke و التي كانت تنتشر في أجهزة مستخدمين شبكه الـTOR !
هذه البرمجيه تتكون من ملفين ، الملف الأول عبارة عن دروبر و هو الملف الأساسي المستخدم للإنتشار حيث قام مؤلفين هذه البرمجية بتجهيز جهاز لنشر الدروبر و ربطه بالشبكة حتي يكون بمثابة TOR Node (تستطيع القرائة أكثر عن كيفية عمل شبكة الـTOR أو انتظار مقال المبرمج عنها قريبا) و لكن هنا لن تكون مجرد TOR Node عادية فعندما يقوم أحد مستخدمي الشبكة بتحميل ملف من شبكة التور و البيانات تمر من خلال هذه العقدة ، يحقن الدروبر في الملف بشكل تلقائي و بعدما يقوم المستخدم بتشغيل الملف يبدأ الدروبر بالعمل و يكون الملف الأساسي للبرمجية الخبيثة للسيطرة على الجهاز و تقوم برامج الحماية بتصنيف هذا الدروبر كـ Trojan-Dropper:W32/OnionDuke.A.
الملف الثاني هو عبارة عن ملف DLL يكون بداخل الدروبر و الذي يكون في ظاهره صوره GIF لكنه في الواقع ملف DLL فيقوم الدروبر بتشغيل هذا الملف و عندما يعمل الملف يقوم بالاتصال بسيرفر الـC&C في انتظار مؤلفين البرمجية (أو المتحكمين في السيرفر بشكل عام) بأن يقوموا بتنفيذ أوامر علي الجهاز من تنزيل برمجيات خبيثة أخري و تثبيتها و ما إلي ذلك و تقوم برامج الحماية بتصنيف هذا الملف كـ Backdoor:W32/OnionDuke.
قمنا من قبل بالكتابة عن الـC&C Servers فى المقالة السابقة تستطيع أن تقرأ عنها من هنا
و الآن سنرى كيف يمكن برمجة Dropper بلغة البايثون:
سنقوم ببرمجة دروبر من النوع الثاني الذي يقوم بتحميل الملفات الخبيثة الأخرى من الإنترنت حيث أنه الأكثر شيوعا.
أولا من أجل تنزيل الملف سأستخدم دالة urlretrieve من مكتبة urllib و سنستهدف بيئة عمل نظام الويندوز في شرحنا.
إذا كنت على بايثون إصدار 2 قم بعمل استيراد للدالة هكذا
و إذل كنت علي بايثون إصدار 3 قم بعمل استيراد للدالة هكذا
الآن هذه الدالة تأخذ متغيرين ، الأول هو الرابط و الآخر هو الاسم و سنجعل هنا اسم الملف ثابتا و سيكون hosts.exe و لذلك سوف نعبر عن الأمر كالآتي:
الآن قمنا بتحميل الملف و لكن قبل تشغيله سنقوم بإخفائه و لفعل ذلك سنستعين بمكتبة subprocess فنقوم باستدعائها:
و الآن ننفذ أمر attrib بسيط لإخفاء الملف و لكن سنوجه المخرج إلي البايب حتي لا يكون هناك أي إخراج
الآن فقط نستطيع تشغيل الملف كالآتي:
الآن أصبح لدينا دروبر بسيط يقوم بتحميل ملف و إخفائه و تشغيله و لكن يظل ينقصه بعض اللمسات مثل أن يقوم بمسح نفسه بعد الانتهاء من المهمة فكيف نقوم بذلك؟
لتكتب كود يجعل السكربت يمسح نفسه يعتبر من الأشياء الشبه مستحيلة في البايثون و لذلك سنستعين بلغة batchfile لنقوم بعمل ملف bat يمسح السكربت و من ثم يمسح نفسه.
سيكون الكود الذي سيكون في الملف الـBat كالآتي:
الان سنقون بشرحه سطرا بسطر:
السطر الأول @echo off و هي أساسية عند بدء كتابة أي ملف بات حتى لا يقوم الملف بعمل Output أو إخراج بمعنى أخر.
السطر الثاني نقوم به باستخدام الأمر TASKKILL لعمل قتل للدروبر مع استخدام سويتش /F لإجباره على قتله و سويتش /IM لأنني سأعطيه اسم الملف الدروبر و ليس الـPID و من ثم بعدها نكتب اسم الدروبر.
السطر الثالث نمسح الدروبر نفسه مع استخدام سويتش -f لإجبار الملف علي مسحه.
السطر الرابع نجعل ملف البات يقرأ اسمه و من ثم يمسح نفسه و هذه الخدعة هي أننا جعلناه يقرأ اسمه عن طريق الـCommandline Argument رقم 0 و الذي هو اسم الملف.
الآن بعدما شرحنا الملف ألم تلاحظ شيئا؟
كيف سنعرف اسم الدروبر الذي سنعطيه لملف البات ليقوم بمسحه؟ فمن المحتمل أن يتغير اسم الدروبر إلى اسم آخر غير الذين أعطيناه إياه.
الخدعه أننا سنجعل الدروبر يستطيع قراءة اسمه و هذا يُنفذ ببساطة عن طريق مكتبة sys فنقوم أولا باستدعائها:
و الآن سنستخدم دالة executable من المكتبة لنعرف اسم الملف و لكنه سيكون المسار الكامل و لذلك سنقوم بعمل فرز له و نأتي باسم الملف فقط من المسار.
و بعدها نقوم بتشغيله فتصبح دالة التدمير الذاتي كالآتي
و هكذا نكون قد شرحنا برمجة دروبر بسيط خاص بنا و لكن هل سمعت عن أداة Dr0p1t؟
أداة Dr0p1t هي أداة جديدة تقوم بعمل دروبر خاص بك و لكنه ليس بمثل بساطة الذي قمنا بشرحه للتو فهي تمتلك بعض المميزات و التي هي عبارة عن المهام التي تستطيع القيام بها قبل و بعد تشغيل الملف الخاص بك مثل جعله يعمل مع تشغيل الجهاز أو قتل الأنتي ڤايرس المثبت على الجهاز.
تستطيع أن تقرأ عنه أكثر من الرابط الخاص به : https://github.com/D4Vinci/Dr0p1t-Framework
و هذه بعض الصور له من Github:
إلى هنا وصلنا لنهاية الشرح الذي نرجو أن يكون قد أفادكم و السلام عليكم و رحمة الله.