MITMProxy العقل الأسود الذي يتسلّل داخل تدفّق البيانات ويفكك أسرار كل تطبيق، موقع، و اي باكت تمر أمامه

العقل الأسود
ما هي MITMProxy ؟
MITMProxy هي بيئة تشغيل كاملة مصممة لفكرة واحدة:
التجسس الشرعي على حركة الاتصال بين أي جهاز وخدمة لمعرفة كل شيء يحدث داخل الـTraffic
باختصار
هي الأداة التي يستخدمها:
مختبرو الاختراق المحترفون
مهندسو الـAPI
محققو الجرائم الرقمية
مطورو تطبيقات الموبايل
وأي شخص يريد رؤية ما وراء الكواليس في العالم الرقمي
MITMProxy ليست مجرد Proxy
إنها:
✔ محلل
✔ متحكم
✔ معدّل
✔ لاعب داخل التيار
وتستخدم في اختبار التطبيقات، كشف الثغرات، تحليل البروتوكولات، واستخراج البيانات في الزمن الحقيقي
لماذا MITMProxy هي أقوى أداة اعتراض بيانات؟
✔ 1) تعترض HTTPS بالكامل
مش مجرد HTTP
بل تستطيع تكسير وتفكيك TLS وتشفيرات التطبيقات عبر MITM-CA الخاصة بها
✔ 2) تعدّل في الباكت قبل ما توصل للهدف
تقدر:
تغير الـHeaders
تعدّل الـCookies
تزود Auth Tokens
تفبرك JSON
تحقن Request
تغير Response
كأنك ماسك القلم اللي بيكتب الاتصالات بنفسك
✔ 3) واجهات متعددة
واجهة CLI
واجهة Web قوية
دعم لـMITMDump
دعم لـPython scripting modules
Addons يمكنها التحكم في كل Packet
✔ 4) أداة مثالية لاختبار تطبيقات الموبايل
أي تطبيق Android أو iPhone يعتمد على اتصال API
MITMProxy يستطيع أن يكشف كل كلمة يرسلها
القسم اللي بيستناه الكل — أوامر MITMProxy من الأساس إلى الاحتراف
القسم الأول — تشغيل MITMProxy بأنماطه المختلفة
1- تشغيل MITMProxy (CLI-
mitmproxy
2- تشغيله على بورت مختلف
mitmproxy -p 8081
3- تشغيل MITMWeb (واجهة رسومية-
mitmweb
4- تحديد Certificate path مخصص
mitmproxy --certs ~/.mitmproxy/mitmproxy-ca.pem
5- تشغيل MITMDump (أقوى وضع للاختبار البرمجي-
mitmdump
القسم الثاني — اعتراض نطاقات معينة فقط
1- اعتراض موقع واحد
mitmproxy --view-filter "example.com"
2- اعتراض كل الـAPI فقط
mitmproxy --view-filter "/api/"
3- اعتراض كل الـPOST Requests فقط
mitmproxy --view-filter "method:POST"
4- اعتراض JSON responses فقط
mitmproxy --view-filter "content-type:application/json"
القسم الثالث — حفظ وفتح الجلسات
1- حفظ كل شيء في ملف dump
mitmdump -w session.dump
2- إعادة تشغيل الجلسة
mitmproxy -r session.dump
3- إعادة تشغيل ثم استكمال تسجيل جديد
mitmdump -nr old.dump -w new.dump
القسم الرابع — Filters دموية لاستخدامها داخل الواجهة
تستخدم داخل واجهة MITMProxy مثل البحث (ما بين الشاشات-
1- إظهار GET فقط
~m get
2- إظهار POST فقط
~m post
3- فلترة IP معين
~d 192.168.1.5
4- فلترة URL يحتوي كلمة
~u login
5- فلترة Errors فقط
~e
6- فلترة JSON responses فقط
~t json
القسم الخامس — تعديل الـRequests داخل الواجهة
1- فتح الـRequest للتعديل
اضغط:
e
ثم:
تعديل headers
تعديل body
تعديل method
2- إعادة إرسال Request
r
3- إنشاء Request من الصفر
:request
القسم السادس — تعديل Responses
1- تعديل Response مباشرة
اضغط:
e
ثم اختر response.
2- إعادة إرسال Response
R
القسم السابع — MITMDump Scripting (الأسلحة الثقيلة)
1- طباعة كل الـRequests:
from mitmproxy import http
def request(flow: http.HTTPFlow-:
print(flow.request.pretty_url-
لتشغيله:
mitmdump -s script.py
2- تعديل Header عند المرور:
def request(flow-:
flow.request.headers["User-Agent"] = "Pentest-Scanner"
3- حظر موقع معين:
def request(flow-:
if "facebook.com" in flow.request.pretty_url:
flow.response = http.Response.make(403, b"Blocked"-
4- تعديل JSON Response:
import json
def response(flow-:
if flow.response.headers.get("content-type", ""-.startswith("application/json"-:
data = json.loads(flow.response.text-
data["isPremium"] = True
flow.response.text = json.dumps(data-
5- تسجيل جميع Subdomains
def request(flow-:
host = flow.request.host
with open("hosts.txt", "a"- as f:
f.write(host + "\n"-
القسم الثامن — Replay Techniques
1- إعادة Replay لطلب واحد
:replay
2- إعادة Replay لكل الجلسة
:replay all
3- Replay للنطاقات فقط
:replay example.com
القسم التاسع — الـModes القوية اللي ناس قليلة تعرفها
✔ 1- Upstream Proxy Mode
لربط MITMProxy ببركسي آخر:
mitmproxy --mode upstream:http://127.0.0.1:8080
✔ 2- Reverse Proxy Mode
mitmproxy --mode reverse:https://target.com
✔ 3- Transparent Proxy Mode
mitmproxy --mode transparent
✔ 4- SOCKS Proxy Mode
mitmproxy --mode socks5
القسم العاشر — Network-Level Interception
1- تعطيل certificate pinning (عند التطبيقات-
يتم من خلال:
Frida
Objection
Xposed
Rooted devices
(هذا جزء تكميلي وليس أمرا من MITMProxy نفسه)
القسم الحادي عشر — التعامل مع WebSockets
1- عرض الويب سوكيت كلها
~u websocket
2- تعديل رسائل WebSocket
من خلال:
flow.websocket.messages
3- تسجيل كل رسائل WS عبر سكربت:
def websocket_message(flow-:
print(flow.websocket.messages-
القسم الثاني عشر — التعامل مع HTTP2 / gRPC
MITMProxy يدعم الاعتراض الكامل لبروتوكولات:
HTTP/1.1
HTTP/2
HTTP/3 (محدود-
WebSocket
لتفعيل تحليل gRPC:
mitmproxy --set grpc=true
القسم الأخير — Tricks محترفة (قانونية وأكاديمية فقط-
✔ تحليل التطبيقات المغلقة
استخدام MITMProxy لفك الـAPI calls حتى لو التطبيق مغلق المصدر.
✔ اكتشاف الـEndpoints المخفية
عبر الفلترة:
~u "debug|dev|internal|v2|admin"
✔ كشف توكنات ضعيفة
تحليل:
JWT
Session cookies
OAuth tokens
✔ اختبار الاستجابة الخطأ
تعديل:
flow.response.status_code = 500
لرؤية رد فعل التطبيق.
✔ تحليل الـApp Fingerprinting
معرفة كيف يحدد التطبيق جهازك
التكتكات الغير معروفة
هنا هشرح عقلية الهاكر
- 1- تقنية ( Shadow Inspection )
يتم تشغيل MITMProxy على جهاز وسيط بين موبايل وتطبيقه لتحليل Native API Calls- خصوصًا:
JWT tokens
session IDs
backend headers
mobile fingerprint data
- 2- تقنية ( Silent Rewrite )
إعادة صياغة الـRequests دون ما التطبيق يحس:
تعديل Version
تغيير Device Model
تجاوز قيود Geo-Location
اختبار كيف يتعامل API مع مدخلات غير متوقعة
- 3- تقنية ( Response Mutation )
قبل ما التطبيق يستقبل الرد-
يتم تعديل الـJSON أو XML لمعرفة رد فعل التطبيق.
مفيد في:
اختبار Validation
اكتشاف ثغرات من نوع IDOR
كشف ضعف التحكم بالـClient
- 4- تقنية ( Mobile API Discovery )
يبدأ المختبر بإغلاق كل الاتصالات إلا التطبيق-
ثم يلتقط:
كل الـEndpoints المخفية
الـDebug APIs
طلبات الـHeartbeat
طلبات النسخ الاحتياطي
Data Sync services
- سيناريو اختبار حقيقي كما يعمل المحترفون
1- ضبط الجهاز على الـProxy
IP: جهاز الـMITMProxy
Port: 8080
2- تثبيت شهادة MITMProxy على الجهاز
يتم تثبيت الشهادة الـCA لتفكيك HTTPS.
3- تشغيل التطبيق
يبدأ MITMProxy يعرض:
GET /api/v2/login
POST /user/status
PUT /preferences
Token refresh
Tracking calls
Push notifications API
4- يتم تحليل كل جزئية
هل الTokens مشفرة؟
هل الـIDs متسلسلة؟
هل التطبيق يقبل Manipulation؟
هل الـError messages تكشف معلومات؟
5- اختبار ردود افتراضية
يتم:
تعديل status codes
تغيير JSON
إدخال قيم خارج المتوقع
هذا يُظهر ثغرات:
Broken Access Control
IDOR
API Parameter Pollution
Token Mismanagement
درجة قوة MITMProxy
معيار تقييم
تحليل HTTPS 5/5
التحكم في Traffic 5/5
اختبار تطبيقات الموبايل 5/5
سهولة الاستخدام 3/5
التكامل مع أدوات أخرى 4/5
الخلاصة
MITMProxy ليست أداة
ا نها غرفة عمليات كاملة داخل قلب الشبكة
أداة:
تكشف
تسجل
تحلل
تعدل
تراقب
وتفتح أبواب فهم تقنيات الويب والموبايل والـAPIs بمستوى عميق جدًا
للماذيد تابعني علي
كان معكم HARM والسلام عليكم ورحمت الله وبركاته