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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
EasyTokens — Kali365 - نسخة EvilTokens | Kitploit
أدوات/GitHubGitHub/secdev02/easytokens
OSINT للهندسة الاجتماعيةجمع المعلوماتما بعد الاستغلالالتصيد الاحتيالياختبار الاختراقأمن السحابةالقيادة والسيطرةالمصادقةالفريق الأحمرالهجوم العدائي
GitHubsecdev02/easytokens

EasyTokens

721240منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Kali365 - نسخة EvilTokens

عرض المستودع

EasyTokens

خادم تصيد برمز الجهاز لمحاكاة الخصم. يلتقط رموز OAuth لمايكروسوفت 365 عبر تدفق ترخيص الجهاز. مستوحى من GraphSpy.

تحذير — الاستخدام المصرح به فقط. هذه الأداة مخصصة لمختبرِي الاختراق وفرق الأحمر الذين يعملون تحت تصريح كتابي صريح. قد يؤدي سوء الاستخدام إلى انتهاك قوانين الاحتيال الحاسوبي.


كيف يعمل

  1. يقوم المشغل بإنشاء حملة رمز جهاز عبر واجهة المشغل.
  2. تظهر صفحة تسجيل موجهة للضحية (بتصميم Dunder Mifflin) رمز المستخدم وتطلب من الهدف المصادقة على microsoft.com/devicelogin.
  3. يكتشف مُصوِّت خلفي عند اكتمال المصادقة من قبل الهدف ويخزن رمز الوصول/التحديث الذي تم التقاطه في SQLite.
  4. يتم إعادة توجيه متصفح الضحية إلى صفحة بحث بعد المصادقة.
  5. يمكن للمشغل البحث في OneDrive والبريد الإلكتروني للضحية عبر Microsoft Graph باستخدام الرمز الملتقط.

البنية

خلفية Python (منفذ واحد لكل حملة) + واجهة nginx أمامية + تخزين SQLite.

root@kitploit:~
main_server.py          ← نقطة دخول موحدة (شغّل هذا)
db.py                   ← طبقة تخزين SQLite
html_enroll.py          ← باني صفحة تسجيل الضحية
html_search.py          ← باني صفحة بحث ما بعد المصادقة للضحية
css_shared.py           ← CSS مشترك لواجهة المشغل
nginx_helper.py         ← يولد بشكل تلقائي ويُعيد تحميل إعدادات nginx العكسية
nginx.conf              ← إعدادات nginx الأساسية (تتضمن /etc/nginx/conf.d/*.conf)

المسارات


Nginx — حملات النطاقات

عند إنشاء حملة مع تعيين نطاق، يقوم nginx_helper.py تلقائيًا بكتابة كتلة خادم لكل نطاق إلى NGINX_CONF (افتراضيًا /etc/nginx/conf.d/easytokens.conf) ويعيد تحميل nginx. يتم توجيه حركة مرور الضحية الواردة على المنفذ 80 لذلك النطاق إلى مثيل Python الصحيح.

  • الحملات بدون نطاق تُخدم مباشرة على منفذ Python (افتراضي 3000).
  • الحملات مع نطاق تُخدم عبر nginx على المنفذ 80.
  • تتجاهل إعدادات nginx.conf الأساسية أي طلب لا يتطابق رأس Host الخاص به مع حملة معروفة (return 444)، مما يمنع التعرض العرضي لخلفية Python.
  • قم بتعيين NGINX_CONF='' أو NGINX_RELOAD_CMD='' لتعطيل الإدارة التلقائية لـ nginx.

البدء السريع (Docker)

root@kitploit:~
docker compose up --build

المنافذ المكشوفة بواسطة Docker:

المنفذالغرض
80nginx — حركة مرور الضحية القائمة على النطاق
3000Python — واجهة المشغل + وصول مباشر للضحية
  • صفحة الضحية (مباشرة): http://localhost:3000/
  • واجهة المشغل: http://localhost:3000/app
  • حملات النطاق: http://<campaign-domain>/ (تُوجه عبر nginx على المنفذ 80)

يتم تخزين الرموز الملتقطة والسجلات في وحدات تخزين Docker:

الوحدةالمسار داخل الحاويةالغرض
easytokens-data/data/easytokens.dbقاعدة بيانات SQLite
./logs/logs/ملفات سجل لكل طلب

الإعداد اليدوي

المتطلبات: Python 3.12+، لا حزم خارجية.

root@kitploit:~
python main_server.py

متغيرات البيئة


عقدة ترحيل PHP

يحتوي الدليل php-relay/ على حاوية Apache/PHP مستقلة تعمل كعقدة موزعة موجهة للضحية. تقدم نفس صفحة تسجيل رمز الجهاز مثل الخادم الرئيسي، وتستقصي Microsoft مباشرة، وتُحول الرموز الملتقطة إلى اللوحة الرئيسية عبر POST /webhook.

كيف يعمل

  1. عند بدء التشغيل، يقوم checkin.php بإرسال طلب POST إلى POST /relay/checkin على اللوحة الرئيسية، مع المصادقة باستخدام RELAY_SECRET. تقوم اللوحة بتسجيل العقدة وتعرض node_id.
  2. يتصفح الضحايا صفحة تسجيل العقدة (index.php)، التي تبدأ تدفق رمز جهاز جديد.
  3. يقوم JavaScript في المتصفح باستقصاء poll.php. عندما يتم التقاط رمز، يقوم poll.php بإرساله إلى POST /webhook على اللوحة الرئيسية، مع وسوم node_id.

متغيرات بيئة الترحيل

قم بتكوينها في php-relay/.env:

البدء السريع

الحاويتان معًا في وقت واحد (موصى به):

root@kitploit:~
# من EasyTokens/
docker compose -f docker-compose.yml -f php-relay/docker-compose.yml up --build

تشغيل كلتيهما بدمج -f يضعهما على نفس شبكة Docker، لذا فإن MAIN_SERVER_URL=http://easytokens:3000 يعمل بشكل صحيح.

الوصول:

الرابطالغرض
http://localhost:8082/صفحة تسجيل ضحية الترحيل
http://localhost:3000/app/nodesعرض المشغل لعُقد الترحيل المسجلة

الترحيل فقط (لوحة عن بعد):

root@kitploit:~
cd php-relay
# عيّن MAIN_SERVER_URL إلى رابط اللوحة العامة في .env
docker compose up --build

إعداد السر المشترك

  1. أنشئ سرًا: openssl rand -hex 32
  2. عيّن RELAY_SECRET=<secret> في EasyTokens/.env (تلتقطه اللوحة الرئيسية عبر docker-compose.yml)
  3. عيّن نفس القيمة في php-relay/.env

قاعدة البيانات

جدولان في قاعدة بيانات SQLite:

  • tokens — كل رمز وصول/تحديث تم التقاطه (UPN، رمز الوصول، رمز التحديث، رمز الهوية، النطاق، المصدر، طابع وقت الالتقاط)
  • device_codes — الحملات التي بدأها المشغل (رمز المستخدم، رمز الجهاز، رابط التحقق، الحالة، معرّف الرمز المرتبط، المنفذ، النطاق)

تفاصيل OAuth لمايكروسوفت


الترخيص

MIT — حقوق النشر (c) 2026 Casey Smith

تنزيل الأداة
الطريقةالمسارالجمهورالوصف
GET/الضحيةصفحة تسجيل رمز الجهاز (تصميم Dunder Mifflin)
POST/pollالضحية (JS)استقصاء نقطة نهاية الرموز في مايكروسوفت؛ تخزين الرمز عند النجاح
GET/search?s=<id>الضحيةصفحة بحث OneDrive/بريد إلكتروني بعد المصادقة
GET/appالمشغللوحة القيادة — إحصائيات + أحدث الالتقاطات
GET/app/device-codesالمشغلجميع الحملات مع حالة الاستقصاء المباشر
POST/app/device-codes/newالمشغلإنشاء حملة رمز جهاز جديدة
GET/app/tokensالمشغلجميع الرموز الملتقطة
GET/app/search?id=<id>المشغلبحث OneDrive + بريد إلكتروني لرمز معين
POST/webhookعقدة الترحيلاستقبال رمز من عقدة ترحيل مصادق عليها
POST/relay/checkinعقدة الترحيلتسجيل عقدة ترحيل؛ يُرجع node_id
المتغيرالافتراضيالوصف
PORT3000منفذ الاستماع لخادم Python
PORT_MAX3010الحد الأعلى لنطاق المنافذ المكشوفة بواسطة Docker
DB_PATH/data/easytokens.dbمسار قاعدة بيانات SQLite
LOG_DIR/logsدليل سجل لكل طلب
NGINX_CONF/etc/nginx/conf.d/easytokens.confالمسار الذي يكتب فيه nginx_helper الإعدادات المُنشأة؛ اضبط على '' لتعطيل
NGINX_RELOAD_CMDnginx -s reloadأمر shell لإعادة تحميل nginx بعد تغيير الإعدادات؛ اضبط على '' لتعطيل
RELAY_SECRET(غير مضبوط)سر مشترك لمصادقة عقدة الترحيل. أنشئ باستخدام openssl rand -hex 32. يجب أن يتطابق مع RELAY_SECRET في php-relay/.env. اترك غير مضبوط لتعطيل دعم الترحيل.
المتغيرالافتراضيالوصف
MAIN_SERVER_URLhttp://easytokens:3000رابط اللوحة الرئيسية الذي يمكن الوصول إليه من داخل حاوية الترحيل
RELAY_SECRET(مطلوب)يجب أن يتطابق مع RELAY_SECRET على اللوحة الرئيسية
RELAY_PORT8082منفذ المضيف لكشف الترحيل عليه
RELAY_LABELاسم المضيفاسم قابل للقراءة البشرية يُعرض في اللوحة لهذه العقدة
CHECKIN_RETRIES10عدد محاولات تسجيل الدخول قبل الإستسلام
CHECKIN_DELAY5ثوانٍ بين محاولات تسجيل الدخول
NODE_ID_FILE/tmp/relay_node_idالمسار الذي يتم فيه تخزين node_id مؤقتًا بعد تسجيل الدخول
الحقلالقيمة
معرف العميلd3590ed6-52b3-4102-aeff-aad2292ab01c (Microsoft Office)
الموردhttps://graph.microsoft.com
النطاقاتopenid profile email offline_access Mail.Read Files.Read
رابط رمز الجهازhttps://login.microsoftonline.com/common/oauth2/devicecode
رابط الرمز المميزhttps://login.microsoftonline.com/Common/oauth2/token