إنشاء سكربت للقيام بهجمة القوة العمياء Brute-force و التعرف على مكتبة zipfile في بايثون PYTHON - Programmer Tech

Programmer Tech

تعلم البرمجة - علوم الكمبيوتر - أمن المعلومات - القرصنة الأخلاقية

إعلان اعلى المقالة

الأربعاء، 9 ديسمبر 2020

إنشاء سكربت للقيام بهجمة القوة العمياء Brute-force و التعرف على مكتبة zipfile في بايثون PYTHON


جمع المعلومات و القيام بـ Brute-force

سوف نتحدث اليوم عن Brute-force أو ما تسمى باللغة العربية هجوم القوة العمياء و في هذا الجزء لا نريد أن نتحدث به بشكل كبير, سوف نعطيكم الإختصار و الخلاصة, سنتحدث عن عملية "جمع المعلومات" و عملية information gathering مفترض تكون أول الخيط الذي سوف نمشي به و تكون اول عملية لدينا و مفتروض أن نكون على ثقة كبيرة بأن هذه العملية أي عملية ثانية يتم بنائها عن طريق جمع المعلومات, تعتبر عملية جمع المعلومات هي صلب الموضوع بالقيام بهذه الهجمة, لو أننا جمعنا معلومات صحيحة عن الضحية نستطيع أن نعمل عليه هجوم Brute-force و نكون واثقين بنجاح الهجمة, كلما كانت لدينا معلومات اكثر كلما كانت الثقة اكثر بنجاح الهجمة خصيصاً بمثل هذه الهجمات Brute-force لأنها تعتمد إعتماداً كلياً على جمع المعلومات.

 

أمثلة حية لأسلوب جمع المعلومات

1- ليكن لدينا شخص يعمل في شركة و نعرف عنه معلومات كثيرة جداً مثل "ماهي اكلته المفضلة و تاريخ ميلاده أو ميلاد زوجته و اطفاله و من هم اصدقاءه المفضلين المحببين ....الخ", من الممكن أن نجمع هذه المعلومات و وضعها في word list أو مجموعة من الباسوردات التي ممكن أن نضع انفسنا مكان هذا الشخص, لو كنا نحن في مكانه ما هي الباسوردات الذي سوف نضعها؟ نضع باسوردات مهمة او غيرها, نبدأ بالتخمين عن طريق المعلومات الذي جمعناها عنه.

2- لدينا قفل لباب منزل ما و لدينا عدة مفاتيح موجودة و لا نعرف أي مفتاح يقوم بفتح هذا الباب, نقوم بتجريب جميع المفاتيح لحين وضع المفتاح الصحيح و المعلومات الذي لدينا هي مثل قفل هذا الباب يعني هذه معلومة مهمة, و المعلومات الذي جمعناها هي المفاتيح لهذا الباب هذا ابسط شرح.


مكتبة zipfile في بايثون

مكتبة zipfile هي مكتبة مهمة جداً تتعامل مع الملفات المضغوطة من نوع zip و يكون لهذه الملفات باسورد.

 

عمل سكربت تخمين على ملف مضغوط zip

نقوم بضغط أي ملف على سطح المكتب و نضع له باسورد, على سبيل المثال "الباسورد هي sss123 و اسم الملف هو tech".

import zipfile
list_p = ["data","123456","sss123","cs"]
zfile = zipfile.ZipFile("C:\\Users\\data\\Desktop\\tech.zip","r")
for p in list_p:
    try:
        zfile.extractall("C:\\Users\\data\\Desktop\\",pwd=p.encode("utf-8"))
        except RuntimeError :
            print("not vaild password {0}".format(p))
        else:
            print("the password is {0}".format(p))

 


شرح المثال السابق

في البداية قمنا بإستدعاء المكتبة zipfile و بعد ذلك قمنا بإنشاء متغير ووضع به عدة باسوردات ضمن لستة للتخمين به اربع باسوردات و احداها صحيح و الباقي غير صحيحات, ثم حددنا مسار الملف المضغوط و أعطيناه المود "r" يعني قراءة هذا الملف و أدخلناه في حلقة لوب ليتم المرور على جميع ما بداخل اللستة for p in list_p يعني إذا p الباسورد موجود في list_p اللستة قم بقراءة المسار و ارجع القيمة بترميز UTF-8 و قلنا له بحال كان الباسورد غلط إطبعه و إطبع العبارة not vaild password و إذا كان الباسورد صحيح إطبعه مع the password is و عند تشغيل السكربت يتم المرور على جميع البيانات في اللسته و يكتب بجانب كل واحدة إذا خطأ لنتجنب كتابتها و اذا صحيحة نجربها و نفتح هذا الملف بها.

لتحميل ملف الشرح قم بالضغط على الصورة الآتية ليتم التحميل

ليست هناك تعليقات:

إرسال تعليق

facebook

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *