Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Good-MITM — محرك MITM قائم على القواعد. إعادة الكتابة وإعادة التوجيه والرفض على طلبات واستجابات HTTP(S)، ويدعم قواعد JavaScript. | Kitploit
أدوات/GitHubGitHub/zu1k/good-mitm
بروكسيات الويب والاعتراضالبرمجة النصية والأتمتةأمن الويبأمن الشبكاتالخصوصيةالأدوات والمكونات
GitHubzu1k/good-mitm

Good-MITM

محرك MITM قائم على القواعد. إعادة الكتابة وإعادة التوجيه والرفض على طلبات واستجابات HTTP(S)، ويدعم قواعد JavaScript.

عرض المستودع
85810910منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Good Man in the Middle

GitHub stars GitHub forks Release GitHub issues Build GitHub license Docs

中文版

محرك MITM قائم على القواعد. يعيد كتابة طلبات واستجابات HTTP(S) ويعيد توجيهها ويرفضها، ويدعم JavaScript.

الميزات

  • توقيع الشهادة تلقائيًا بناءً على امتداد SNI في TLS ClientHello
  • دعم MITM الانتقائي لنطاقات محددة
  • لغة وصف القواعد مبنية على صيغة YAML: إعادة كتابة، رفض، إعادة توجيه
    • قدرات مرنة لمطابقة القواعد
      • مطابقة بادئة/لاحقة/تطابق تام لاسم النطاق
      • المطابقة باستخدام التعبيرات النمطية
      • قواعد تصفية متعددة
    • إعادة كتابة مرنة للمحتوى النصي
      • المسح/الاستبدال
      • الاستبدال باستخدام التعبيرات النمطية
    • إعادة كتابة مرنة للمحتوى القائمة على القواميس
      • إعادة كتابة ترويسات HTTP
      • إعادة كتابة ملفات تعريف الارتباط (Cookies)
    • دعم إجراءات متعددة لكل قاعدة
  • دعم قواعد نصوص JavaScript (تدخل برمجي)
  • دعم الوكيل الشفاف
  • دعم تعدد إرسال HTTPS وHTTP على منفذ واحد
  • تثبيت شهادة CA في منطقة الثقة بالنظام

الاستخدام

تحضير الشهادة

نظرًا لمتطلبات تقنية MITM، تحتاج إلى إنشاء شهادة جذر خاصة بك والوثوق بها.

إنشاء شهادة الجذر

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

يمكن للمستخدمين ذوي الخبرة استخدام OpenSSL لتنفيذ العمليات اللازمة. ومع ذلك، بالنسبة للمستخدمين الذين ليس لديهم خبرة في هذا المجال، يمكنك استخدام الأمر التالي لإنشاء المحتوى المطلوب. سيتم تخزين الشهادة والمفتاح الخاص اللذين تم إنشاؤهما في دليل ca.

good-mitm.exe genca

بعد استخدام الوكيل الذي يوفره Good-MITM في متصفحك، يمكنك تنزيل الشهادة مباشرةً بزيارة http://cert.mitm.plus. هذا مفيد بشكل خاص عند تقديم الخدمات لأجهزة أخرى.

الوثوق بالشهادة

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

الوكيل

ابدأ Good-MITM وحدّد ملف القواعد أو الدليل المراد استخدامه.

good-mitm.exe run -r rules

استخدم وكيل HTTP الذي يوفره Good-MITM في متصفحك أو نظام التشغيل: http://127.0.0.1:34567.

الوكيل الشفاف

راجع https://docs.mitmproxy.org/stable/howto-transparent/ للحصول على الوثائق.

sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo sysctl -w net.ipv4.conf.all.send_redirects=0

sudo useradd --create-home mitm
sudo -u mitm -H bash -c 'good-mitm run -r rules/log.yaml -b 0.0.0.0:34567'

sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567
sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567
sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567
sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567

القاعدة

تُستخدم Rule للتحكم في Good-MITM.

يجب أن تتضمن القاعدة الصالحة المكوّنات التالية:

  • Name:يُستخدم للتمييز بين القواعد المختلفة لتسهيل الصيانة.
  • Filter:يُستخدم لتحديد المحتوى المراد معالجته من مجموعة من requests وresponses.
  • Action:يُستخدم لتنفيذ الإجراءات المطلوبة، بما في ذلك redirect وreject وmodification وغيرها.
  • اختياريًا، تحديد اسم النطاق الذي يتطلب MITM.
- name: "Block YouTube tracking"
  mitm: "*.youtube.com"
  filter:
    url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
  action: reject

بالإضافة إلى ذلك، يجب أن تستوفي القاعدة الصالحة المتطلبات التالية:

  • التركيز: يجب أن تُصمَّم كل قاعدة لأداء مهمة واحدة.
  • البساطة: استخدم طرقًا مباشرة للمعالجة لضمان سهولة الصيانة.
  • الكفاءة: استخدم طرقًا فعّالة كلما أمكن، مثل استخدام لواحق النطاقات وبادئاتها بدلًا من التعبيرات النمطية المعقدة لمطابقة النطاقات.

Filter

يُستخدم Filter لتحديد الطلبات والاستجابات التي تحتاج إلى معالجة.

الخيارات المتاحة

حاليًا، يتضمن Filter الأنواع التالية:

  • All
  • Domain(String)
  • DomainKeyword(String)
  • DomainPrefix(String)
  • DomainSuffix(String)
  • UrlRegex(fancy_regex::Regex)

ملاحظة
في الإصدار الحالي، تطابق الأنواع المتعلقة بـ domain الحقل host، وهو ما لا يؤثر عادةً على النتائج. إذا كان موقع ويب يستخدم منفذًا غير قياسي، فيجب على القاعدة تحديد المنفذ. سيتم تحسين هذا السلوك في الإصدارات المستقبلية.

All

عند تحديد الفلتر كـ all، فإنه سيطابق جميع الطلبات والاستجابات. يُستخدم هذا عادةً لتنفيذ إجراءات التسجيل.

- name: "log"
  filter: all
  action:
    - log-req
    - log-res
النطاق

domain يُجري مطابقة كاملة مقابل اسم النطاق.

- name: "redirect"
  filter:
    domain: 'none.zu1k.com'
  action:
    redirect: "https://zu1k.com/"
DomainKeyword

يقوم domain-keyword بمطابقة الكلمات المفتاحية مقابل اسم النطاق.

- name: "reject CSDN"
  filter:
    domain-keyword: 'csdn'
  action: reject
DomainPrefix

يقوم domain-prefix بإجراء مطابقة بادئة مقابل اسم النطاق.

- name: "ad prefix"
  filter:
    domain-prefix: 'ads' // example: "ads.xxxxx.com"
  action: reject
DomainSuffix

يقوم domain-suffix بإجراء مطابقة لاحقة مقابل اسم النطاق.

- name: "redirect"
  filter:
    domain-suffix: 'google.com.cn'
  action:
    redirect: "https://google.com"
UrlRegex Url

يقوم url-regex بإجراء مطابقة بتعبير نمطي (regular expression) على عنوان URL بالكامل.

- name: "youtube tracking"
  mitm: "*.youtube.com"
  filter:
    url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
  action: reject

تصفية متعددة

يدعم حقل filters كلاً من التصفية المفردة والتصفية المتعددة، حيث تكون العلاقة بين التصفيات المتعددة OR.

- name: "youtube-2"
  mitm:
    - "*.youtube.com"
    - "*.googlevideo.com"
  filters:
    - url-regex: '^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+(&oad|ctier)'
    - url-regex: '^https?:\/\/(www|s)\.youtube\.com\/api\/stats\/ads'
    - url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
    - url-regex: '^https?:\/\/\s.youtube.com/api/stats/qoe?.*adformat='
  action: reject

يمكن تجميع قواعد متعددة لها نفس الإجراء في قاعدة واحدة لتسهيل الصيانة.

الإجراء

يُستخدم Action لتنفيذ عمليات على الطلبات أو الاستجابات.

الخيارات المتاحة

حاليًا، يتضمن Action الخيارات التالية:

  • Reject
  • Redirect(String)
  • ModifyRequest(Modify)
  • ModifyResponse(Modify)
  • LogRes
  • LogReq
Reject

يُرجع النوع reject رمز الحالة 502 مباشرةً، ويُستخدم لرفض طلبات معينة. يمكن استخدامه لحظر التتبع والإعلانات.

- name: "reject CSDN"
  filter:
    domain-keyword: 'csdn'
  action: reject
إعادة التوجيه

يعيد النوع redirect رمز الحالة 302 مباشرةً لإعادة التوجيه.

- name: "youtube-1"
  filter:
    url-regex: '(^https?:\/\/(?!redirector)[\w-]+\.googlevideo\.com\/(?!dclk_video_ads).+)(ctier=L)(&.+)'
  action:
    redirect: "$1$4"
ModifyRequest

يُستخدم modify-request لتعديل الطلب. للاطلاع على قواعد التعديل المحددة، راجع قسم Modify.

ModifyResponse

يُستخدم modify-response لتعديل الاستجابة. للاطلاع على قواعد التعديل المحددة، راجع قسم Modify.

Log

يُستخدم log-req لتسجيل الطلب، ويُستخدم log-res لتسجيل الاستجابة.

إجراءات متعددة

تنزيل الأداة