
evilginx3 + gophish

هذه هي النسخة العامة والمجانية من المستودع، إنها ليست أحدث إصدار. أنا أتعمد إبقاء هذه النسخة العامة من المستودع خلف إصدارتي للأشخاص الذين يدعمونني عبر GitHub Sponsors. هذا يعني أن هذه النسخة قد تفتقر إلى إصلاحات الأخطاء أو الميزات، ولا ينبغي توقع إصلاحات للأخطاء أو إضافة ميزات أو دعم هنا. كن داعمًا للوصول إلى أحدث إصدار.
قبل أن أبدأ، أود أن أقول إنني لست بأي حال من الأحوال أنتقد Kuba Gretzky وعمله. أشكره شخصيًا على إصدار evilginx3 للعامة. في الواقع، بدون عمله لما كان هذا العمل موجودًا. يجب أن أشكر أيضًا Jordan Wright على تطوير/صيانة مجموعة أدوات GoPhish الرائعة. تم استخدام fork الخاص بـ Kuba لـ Gophish كمصدر إلهام لبعض أجزاء هذا المشروع بعد إنشاء تكامله الخاص.
يجب أن يكون لديك فهم أساسي لكيفية استخدام GoPhish و evilginx3.
لن أكون مسؤولاً أو متحملًا للمسؤولية عن أي إساءة استخدام أو استخدام غير شرعي لهذا البرنامج. يُستخدم هذا البرنامج فقط في اختبارات الاختراق المصرح بها أو مهام الفريق الأحمر حيث حصل المشغلون على إذن كتابي صريح لتنفيذ الهندسة الاجتماعية.
كمختبر اختراق أو عضو في فريق أحمر، ربما سمعت عن evilginx3 كإطار وسيط وكيل قادر على تجاوز المصادقة الثنائية/متعددة العوامل. هذا مغري لنا على أقل تقدير، ولكن عند محاولة استخدامه في مهام الهندسة الاجتماعية، هناك بعض نقاط الألم.
نقص التتبع - لا يوفر evilginx3 إحصائيات تتبع فريدة لكل ضحية (مثل فتح البريد الإلكتروني، النقر على الرابط، إلخ)، وهذا مشكلة للعملاء الذين يريدون/يحتاجون/يدفعون مقابل هذه الإحصائيات عند الاشتراك في مهمة هندسة اجتماعية.
ليس مجموعة أدوات هندسة اجتماعية كاملة - يوفر evilginx3 فقط قدرات الوسيط الوكيل، ولا يوفر كل الوظائف المطلوبة لحملة هندسة اجتماعية عبر البريد الإلكتروني/الرسائل النصية. على سبيل المثال، لا يرسل رسائل بريد إلكتروني إلى الأهداف أو يوفر هذه الوظيفة.
لا توجد واجهة مستخدم رسومية - هل نحتاج حقًا لشرح هذا أكثر؟ كلنا نحب واجهاتنا الرسومية والتمثيل البصري للبيانات لحملة هندسة اجتماعية لا يقدر بثمن. يمكن للمشغلين فهم نجاح حملات الهندسة الاجتماعية بشكل شامل من خلال عرض تمثيل بصري للبيانات.
في هذا الإعداد، يتم استخدام GoPhish لإرسال رسائل البريد الإلكتروني وتوفير لوحة تحكم لإحصائيات حملة evilginx3، ولكن لا يتم استخدامه لأي صفحات هبوط. ستشير روابط التصيد الخاصة بك المرسلة من GoPhish إلى مسار طعم evilginx3 وسيتم استخدام evilginx3 لصفحات الهبوط. وهذا يوفر القدرة على تجاوز 2FA/MFA باستخدام evilginx3، دون فقدان تلك الإحصائيات الثمينة. تم توفير إشعارات أحداث الحملة في الوقت الفعلي باستخدام خادم websocket/HTTP محلي قمت بتطويره، ويتم عرض سلاسل JSON كاملة قابلة للاستخدام تحتوي على رموز/ملفات تعريف الارتباط من evilginx3 مباشرة في واجهة GoPhish (والتغذية):


evilginx3 على عنوان يمكن الوصول إليه خارجيًا على المنفذ 443 (أو أي منفذ تختاره في تكوين evilginx3)GoPhish محليًا على المنفذ 8080 و 3333 (لا يتم استخدام خادم التصيد على المنفذ 8080)Cloudflare Turnstile محليًا على المنفذ 80تم توفير setup.sh لأتمتة التهيئات المطلوبة لك. بمجرد تشغيل هذا البرنامج النصي وإدخال القيم الصحيحة، يجب أن تكون جاهزًا للبدء. فيما يلي مساعدة الإعداد:
Usage:
./setup <root domain> <subdomain(s)> <root domain bool> <feed bool> <rid replacement>
- root domain - the root domain to be used for the campaign
- subdomains - a space separated list of evilginx3 subdomains, can be one if only one
- root domain bool - true or false to proxy root domain to evilginx3
- feed bool - true or false if you plan to use the live feed
- rid replacement - replace the gophish default "rid" in phishing URLs with this value
Example:
./setup.sh example.com "accounts myaccount" false true user_id
حل تكامل Cloudflare Turnstile محل قواعد إعادة التوجيه وقائمة IP السوداء باستخدام Apache2. اعتمد نهج Apache2 على قائمة محددة مسبقًا من قواعد إعادة التوجيه وقائمة IP سوداء. قد نفوت بعض وكلاء المستخدم أو المضيفين أو عناوين IP التي تنتهي باكتشاف بنيتنا التحتية. يتم ذلك عادةً من خلال البوتات والبرامج الآلية التي تفحص البنية التحتية للتصيد. تعتبر تقنية Cloudflare Turnstile واحدة من أفضل الدفاعات ضد البوتات في وقت كتابة هذا المقال، وتتحقق من أن المستخدم الفعلي يصل إلى موقعك.
evilginx3/templates/forbidden.html و evilginx3/templates/turnstile.html بالتغييرات الخاصة بكevilginx3، قم بتضمين المفاتيح العامة/الخاصة مع علامة turnstile مفصولة بـ :. على سبيل المثال:./evilginx3 -feed -g ../gophish/gophish.db -turnstile <PUBLIC_KEY>:<PRIVATE_KEY>
منشور المدونة هنا.
لو قمت بتضمين صفحة HTML ثابتة لوظيفة Cloudflare Turnstile، لكانت البنية التحتية للتصيد لدى الجميع نفس الصفحة مما قد يؤدي إلى اكتشافات كود HTML ثابت. وهنا تأتي قوالب Go HTML. لقد قمت بتضمين قالب بداية في evilginx3/templates/turnstile.html كدليل إرشادي، يجب عليك تغيير هذا. فيما يلي القواعد حول كيفية إعداد كود القالب، وعدم اتباع هذه القواعد سيؤدي على الأرجح إلى كسر وظيفة Cloudflare Turnstile:
{{.FormActionURL}} و {{.ErrorMessage}} و {{.TurnstilePublicKey}}{{.FormActionURL}}data-sitekey لصف cf-turnstile div هي متغير القالب {{.TurnstilePublicKey}}evilginx3/templates/turnstile.htmlbuttonفي حال قمت بتشغيل setup.sh مرة واحدة واستبدلت بالفعل قيمة RId الافتراضية في جميع أنحاء المشروع، تم إنشاء replace_rid.sh لاستبدال قيمة RId مرة أخرى.
Usage:
./replace_rid <previous rid> <new rid>
- previous rid - the previous rid value that was replaced
- new rid - the new rid value to replace the previous
Example:
./replace_rid.sh user_id client_id
بمجرد تشغيل setup.sh، الخطوات التالية هي:
GoPhish وتكوين قالب البريد الإلكتروني وملف إرسال البريد الإلكتروني والمجموعاتevilginx3 وتكوين phishlet والطعم (يجب تحديد المسار الكامل لقاعدة بيانات sqlite3 الخاصة بـ GoPhish مع العلم -g)GoPhish وجعل عنوان URL للهبوط هو مسار الطعم الخاص بـ phishlet لـ evilginx3تتيح لك ميزة مولد رمز QR إنشاء رموز QR لنشر حملات الهندسة الاجتماعية عبر رموز QR. فيما يلي خطوات استخدامها:
{{.QR}}:


لاحظ أن هذه الميزة مدعومة فقط لحملات البريد الإلكتروني وقوالب البريد الإلكتروني HTML في الوقت الحالي
منشور المدونة هنا.
تم إجراء إعادة صياغة كاملة لـ GoPhish من أجل توفير دعم حملات الرسائل النصية مع Twilio. ستبدو لوحة تحكم evilgophish الجديدة كما يلي:

بمجرد تشغيل setup.sh، الخطوات التالية هي:

Twilio و Account SID و Auth Token:
CSV كما هي للتوافق، لذا احتفظ بأسماء أعمدة CSV كما هي وضع أرقام هواتف الأهداف في عمود "البريد الإلكتروني". لاحظ أن Twilio يقبل تنسيقات أرقام الهواتف التالية، لذا يجب أن تكون بأحد هذه التنسيقات الثلاثة:
evilginx3 وتكوين phishlet والطعم (يجب تحديد المسار الكامل لقاعدة بيانات sqlite3 الخاصة بـ GoPhish مع العلم -g)GoPhish وجعل عنوان URL للهبوط هو مسار الطعم الخاص بـ phishlet لـ evilginx3منشور المدونة هنا.
يتم التعامل مع إشعارات أحداث الحملة في الوقت الفعلي بواسطة خادم websocket/HTTP محلي وتطبيق التغذية المباشرة. للإعداد:
true لـ feed bool عند تشغيل setup.shevilfeed باستخدام cd وبدء التطبيق باستخدام ./evilfeedevilginx3، قم بتوفير العلم -feed لتمكين التغذية. على سبيل المثال:./evilginx3 -feed -g /opt/evilgophish/gophish/gophish.db
http://localhost:1337/. ستبدو لوحة تحكم التغذية كما يلي:
ملاحظات هامة - تعمل صفحة التغذية المباشرة على ربط websocket للأحداث باستخدام JavaScript ولا تحتاج إلى تحديث الصفحة. إذا قمت بتحديث الصفحة، فستفقد جميع الأحداث حتى تلك النقطة.
سأضيف phishlets إلى هذا المستودع وفقًا لتقديري الخاص. لا ينبغي أن يكون هناك توقع مني لإنشاء phishlets كجزء من هذا المستودع، ومن المتوقع أن تقوم بإنشاء ما يخصك. لا تفتح مشكلات في هذا المستودع بخصوص phishlets
في 10 مايو 2023، قام Kuba Gretzky بتحديث evilginx من الإصدار 2.4.0 إلى الإصدار 3.0.0. يمكنك العثور على منشور مدونة مفصل حول التغييرات في الأداة هنا: evilginx3+mastery. والأهم من ذلك، أن التغييرات في تنسيق ملف phishlet ستؤدي على الأرجح إلى كسر phishlets قبل الإصدار 3.0.0 وسيتعين إعادة كتابتها. بينما قد يكون من العمل إعادة كتابتها، إلا أن هناك فوائد إضافية مع تنسيق ملف phishlet الجديد. يمكن العثور على وثائق تنسيق phishlet للإصدار 3.0.0 هنا: Phishlet Format v3.0.0. سيتم الاحتفاظ بـ Phishlets بالتنسيق القديم في هذا المستودع في مجلد evilginx3/legacy_phishlets. سيتم تخزين المتوافقة مع الإصدار في . لم يتم تحويل جميع القديمة إلى تنسيق الإصدار بعد، وسأستمر في تحديثها مع توفر الوقت!
تم اختبار برنامج التثبيت على Ubuntu Focal/Jammy ويقوم بتثبيت أحدث إصدار من Go من المصدر. قد تفشل الملفات الثنائية في البناء اعتمادًا على بيئة Go الخاصة بك وما قمت بتثبيته، أي تثبيت الإصدارات الأصلية التي يجمعها هذا المشروع ثم محاولة تثبيت هذا الإصدار منها. كما أنه يقوم بإجراء تغييرات على DNS ليتمكن evilginx3 من السيطرة عليه. يجب أن تفهم الآثار المترتبة على ذلك ومراجعتها. يوصى باستخدام بيئة نظيفة ولم يتم اختبار أنظمة التشغيل الأخرى.
ليس من غير المألوف اختبار التتبع لحملة قبل إطلاقها وأشجعك على القيام بذلك، لكني سأترك لك تحذيرًا. سيقوم evilginx3 بإنشاء ملف تعريف ارتباط وإنشاء جلسة لكل متصفح ضحية جديد. إذا واصلت اختبار حملات متعددة وروابط تصيد متعددة داخل نفس المتصفح، فسوف تربك عملية التتبع حيث يتم استخراج قيمة RId من الطلبات وتعيينها في بداية جلسة جديدة. إذا كنت تفعل ذلك، فأنت لا تحاكي ضحية حقيقية لأن الضحية لن يكون لديه أبدًا إمكانية الوصول إلى رابط تصيد آخر غير رابطها الخاص، وغني عن القول أن هذا لن يحدث أبدًا أثناء حملة حية. هذا تحذير عادل لك بعدم فتح مشكلة بخصوص هذا لأنك لا تستخدم الأداة بالطريقة التي صممت لاستخدامها. إذا كنت ترغب في محاكاة ضحية جديدة، يمكنك اختبار عملية التتبع باستخدام متصفح/علامة تبويب جديدة في وضع التصفح المتخفي.
لا يتم استخدام GoPhish أبدًا في أي من صفحات التصيد الفعلية الخاصة بك وتم تجريد رؤوس البريد الإلكتروني، لذلك لا داعي للقلق بشأن مؤشرات الاختراق داخله.
rid الافتراضية في عناوين URL للتصيد بواسطة المشغل في setup.shevilginx3 المأسورةانظر ملف CHANGELOG.md للتغييرات التي تم إجراؤها منذ الإصدار الأولي.
لا ينبغي أن يكون هناك توقع مني للرد على المشكلات في هذه النسخة العامة من المستودع. أنت لا ترعاني أو تمول تطوير المشروع، لذلك لا ينبغي أن تكون هناك توقعات للدعم. ادعمني للحصول على دعم متزايد.
evilginx 3.x.xأود أن أرى هذا المشروع يتحسن وينمو بمرور الوقت. إذا كانت لديك أفكار للتحسين، أو قواعد إعادة توجيه جديدة، أو عناوين IP/نطاقات جديدة لإضافتها إلى القائمة السوداء، أو phishlets، أو اقتراحات، فيرجى فتح طلب سحب.
Phishlets3.0.0evilginx3/phishletsphishlets3.x.x