חיפוש
  • יניב אור

mitmproxy

עודכן ב: אפר 29

התוכנה mitmproxy היא HTTPS proxy - חינמית ו-Open Source.

ניתן בעזרתה לנתח או לערוך בקשות ותשובות (requests/responses) מסוגים שונים כגון HTTP/1, HTTP/2, WebSockets, SSL/TLS.


בין היתר ניתן להשהות את הבקשות והתשובות - לערוך ולשלוח אותן מיד אחרי עריכה. יש גם אפשרות לשמור את התעבורה שערכנו ולשלוח אותה בכל מועד אחר - לפי הצורך.


אחד היתרונות המרכזיים של התוכנה הוא האפשרות לייצר תעודת אבטחה (CA Certificate) ובמידה והצדדים אישרו את השימוש בתעודה - שזה נושא בפני עצמו ואותו אלמד תוך כדי התנסות - תעבורה מוצפנת SSL/TLS הופכת להיות כטקסט גלוי (clear text). כך ניתן לבצע התקפות MITM - בין היתר לתעבורה מוצפנת. אחקור בהמשך.


התוכנה מגיעה עם מספר ממשקים לעבודה:

- ממשק טרמינל אינטראקטיבי - הממשק הראשי כשרוב העבודה תתבצע באמצעותו.

- ממשק Web - נקרא mitmweb.

- ממשק CLI - נקרא mitmdump. דומה ל-tcpdump - אך ל-HTTP.

- בנוסף, API לכתיבת סקריפטים ותוספים בפייתון 3.


מצאתי ב-Docker Hub את התמונה הבאה:

https://hub.docker.com/r/mitmproxy/mitmproxy


משכתי את ה-image:

$ docker pull mitmproxy/mitmproxy


יצרתי תיקיה לתוכנה - לצורך שמירת תעודות אבטחה ומידע נוסף - ונכנסתי לתיקיה:

$ mkdir mitmproxy && cd mitmproxy


הרצתי קונטיינר שיימחק לאחר שימוש - אינטראקטיבי:

$ docker run --rm -it -v $PWD:/home/mitmproxy/.mitmproxy mitmproxy/mitmproxy


נפתח חלון הטרמינל הבא:

הגדרתי פרוקסי לפורט 8080 שעובד דרך ה-mitmproxy והשתמשתי ב-curl כדי להגיע לאתר שברשותי:

$ http_proxy=http://localhost:8080/ curl http://167.172.46.93


המסך הראשי מציג את רשימת הבקשות, כרגע בקשה אחת:

ברגע שלוחצים על Enter מגיעים למידע מורחב:




הרצת קונטיינר של mitmweb:

$ docker run --rm -it -v $PWD:/home/mitmproxy/.mitmproxy --network host mitmproxy/mitmproxy mitmweb -m transparent


פתחתי את הדפדפן בכתובת:

http://127.0.0.1:8081


הרצת קונטיינר של mitmdump:

$ docker run --rm -it --network host mitmproxy/mitmproxy mitmdump -m transparent



מעבדות סייבר בהן השתמשתי ב-mitmproxy:

- מעבדת סייבר - קריאה ועריכת תעבורה של קורבן ברשת

פרטים נוספים בקרוב...

© 2023 by DO IT YOURSELF. Proudly created with Wix.com