
أداة بلغة بايثون لاستيعاب HTML وإنتاج كود HTML مناسب لحملات التصيد الاحتيالي.
(إنها نكتة "سمكة في برميل". أحب التلاعب بالألفاظ!)
أداة بايثون لاستيعاب HTML وإنتاج مصدر HTML مناسب لحملات التصيد.
يبسط Cooper عملية استنساخ موقع ويب أو بريد إلكتروني مستهدف لاستخدامه في حملة تصيد. ما عليك سوى العثور على عنوان URL أو تنزيل المحتويات الخام لبريد إلكتروني تريد استخدامه وإدخاله إلى Cooper. سيقوم Cooper باستنساخ المحتوى ثم إعداده تلقائيًا للاستخدام في حملتك. يمكن تعديل البرامج النصية والصور وCSS لاستخدام روابط مباشرة بدلاً من الروابط النسبية، ويتم تغيير الروابط للإشارة إلى خادم التصيد الخاص بك، ويتم تحديث النماذج لإرسال البيانات إليك - كل ذلك في غضون ثوانٍ. يعمل Cooper عبر المنصات ويجب أن يعمل مع macOS وLinux وWindows.
لا مزيد من التحرير اليدوي للروابط والنماذج بعد استخدام wget لجلب موقع. يمكنك التركيز على العمل التفصيلي.
يقدم Cooper عدة وحدات ذات أغراض مختلفة:
Page هي الوحدة الأساسية لـ Cooper. الوسيطة الوحيدة المطلوبة هي -t لتحديد عنوان URL الهدف. يمكنك بعد ذلك إضافة --selenium لاستخدام Selenium اختياريًا بدلاً من Requests. بشكل أساسي، إذا كان الإخراج يبدو خاطئًا أو غير مكتمل (ربما مجرد خلفية وبعض التنسيق، على سبيل المثال) فحاول استخدام --selenium.
تتطلب بعض المواقع جاڤا سكريبت لتوليد محتوى HTML. إذا كان الإخراج يبدو خاطئًا أو غير مكتمل، فحاول استخدام --selenium.
بالإضافة إلى ذلك، يمكنك إضافة -u مع عنوان URL لاستخدامه كعنوان URL أساسي للصور والبرامج النصية وأوراق الأنماط. سيقوم Cooper باستبدال الروابط النسبية (مثل /wp-content/images/foo.bar) بعنوان URL الكامل لك.
قدم دائمًا عناوين URL صالحة مع البروتوكول الصحيح لـ -t و -u (أي http://www.example.com).
فيما يلي قائمة كاملة بالإعدادات:
تكون وحدة email مفيدة عندما تريد استخدام بريد إلكتروني لديك كأساس لصيد جديد. يمكن أن تكون معالجة الترميز ورسائل MIME متعددة الأجزاء مزعجة عند القيام بها يدويًا، لذا دع Cooper يفعلها لك. ستقوم هذه الوحدة بتحليل محتويات الرسالة، والتخلص من الأجزاء غير الضرورية مثل المرفقات، والحصول على نسخة مفكوكة الترميز بالكامل من جسم البريد الإلكتروني الرئيسي، أي أجزاء plain/text أو text/html التي تهمك.
فيما يلي قائمة كاملة بالإعدادات:
كما ذكر أعلاه، هذه الوحدة هي وحدة لمرة واحدة. الوسيطة المطلوبة والوحيدة هي -i لتقديم ملف الصورة لترميزه. إنها مفيدة إذا كنت تبني صفحة هبوط خاصة بك أو تعدل صفحة وتحتاج إلى إضافة صورة. إذا قررت تضمينها، جرب هذه الوحدة. ستقوم بترميز الملف المقدم باستخدام Base64 وإنتاج النص اللازم لتضمين الصورة.
يتطلب Cooper العديد من المكتبات لاستخراج مواقع الويب وتحليل HTML. استخدم pip أو pipenv لتثبيت كل شيء. يوجد ملف requirements.txt لـ pip وملف Pipfile لبيئات pipenv الافتراضية. إذا كنت تستخدم pip، فتأكد من استخدام الإصدار المناسب على نظامك لـ Python 3.9 (مثل pip3 أو pip3.9)
يمكنك التأكد من استخدام الإصدار الصحيح عن طريق استدعاء pip مع إصدار Python الخاص بك:
python3 -m pip install -r requirements.txt
البيئة الافتراضية أسهل في الاستخدام:
pipenv installpipenv shellيتطلب استخدام Selenium لمتصفح بدون واجهة رسومية تثبيت Google Chrome وتنزيل ملف Chromewebdriver مطابق من: https://chromedriver.chromium.org/downloads
قم بتنزيل واستخراج webdriver إلى جذر هذا المشروع. يمكنك وضعه في مكان آخر، ولكن تأكد من تحديث التكوين (انظر القسم التالي).
ثم تحتاج إلى إعداد ملف التكوين الخاص بك. ملف cooper.config المرفق مع هذا المستودع تم إعداده مسبقًا للاستخدام مع GoPhish (تم تعيين عناوين URL ليتم تغييرها إلى {{.URL}}). يفترض التكوين الافتراضي أيضًا أنك ستضع Chrome webdriver في جذر الدليل.
يبدو ملف التكوين كما يلي:
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}
[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36
قم بإجراء التغييرات اللازمة. يمكنك إنشاء ملفات تكوين متعددة لمنصات التصيد المختلفة التي تستخدمها، أو خوادم هجوم إضافية، أو وكلاء مستخدم بديلين. يمكن استخدام ملفات التكوين المختلفة عن طريق تضمين الوسيطات -c أو --config مع ملفك البديل. بخلاف ذلك، سيتم استخدام ملف cooper.config افتراضيًا.
يحتوي القسم [Replacement URLs] على جميع عناوين URL التي سيستخدمها Cooper عند استبدال الروابط وإجراءات النموذج.
landing_page_url_replacement هو عنوان URL المستخدم لصفحة الهبوط. قد ترغب في تعيين هذا على عنوان IP لخادم التصيد بحيث يتم إعادة توجيه الزوار مرة أخرى إلى صفحة الهبوط أو إرسالهم إلى مكان آخر.
landing_page_form_action هو عنوان URL الذي تريد إرسال بيانات النموذج إليه عند إرسال نموذج.
email_replacement_url هو عنوان URL المستخدم في رسائل البريد الإلكتروني ويجب تعيينه على نطاق خادم التصيد الخاص بك أو عنوان IP.
إذا تم تعيين أي من عناوين URL هذه إلى لا شيء، فلن يقوم Cooper باستبدال عناوين URL هذه. هذا أكثر عملية بالنسبة لـ landing_page_url_replacement حيث قد ترغب في أن تستمر صفحة الهبوط في الإشارة إلى الروابط الحقيقية. ومع ذلك، كن محذرًا، قد تستخدم صفحة الويب الهدف روابط نسبية مثل /home.php بدلاً من الروابط المباشرة، مما يعني أن صفحة الهبوط الخاصة بك ستكون مليئة بالروابط المعطلة.
القسم [Browser] مخصص فقط للإعدادات المتعلقة بتصفح الويب. استخدم هذا القسم لتوجيه Selenium و Cooper إلى webdriver المتصفح الخاص بك إذا اخترت استخدام برنامج تشغيل أو موقع مختلف. يتم أيضًا تعريف وكيل المستخدم المستخدم لتصفح الويب هنا. Cooper لديه وكيل مستخدم افتراضي يمكنك تجاوزه باستخدام ملف التكوين.
يمكن ترميز الصور باستخدام Base64 قبل تضمينها في قالب. هذا لجعل القوالب لا تعتمد على توفر الموقع أو بقاء الصور في مكانها. الحجم المضاف لموقع الويب لا يكاد يذكر (على الأرجح)، ولكن استخدام هذا الخيار للبريد الإلكتروني قد يكون مشكلة. بعض عملاء البريد الإلكتروني لا يدعمون صور Base64، مثل Outlook(!). ضع في اعتبارك عميل البريد الإلكتروني للهدف.
خيار خادم HTTP موجود لتمكينك من مراجعة مخرجات Cooper بسهولة عن طريق الوصول إلى 127.0.0.1:PORT. يمكنك فقط فتح ملف HTML، لكن هذا ليس أنيقًا.
img على النحو التالي: <img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>شكر خاص لـ Ninjasl0th و Hagbard لمساعدتهما في هذا المشروع!