פריצת WiFi, המדריך למתחילים

לרוב, כשנערים צעירים מתחילים להתעניין בעולם ההאקינג ואבטחת המידע, טורדת את מנוחתם שאלה אחת בלבד: לא מה זו כתובת IP, לא כיצד האינטרנט עובד, לא האם פייתון זה לא רק סוג של נחש ולא מהי הסלמת הרשאות והאם היא קשורה למונח 'הסלמה בדרום' שאומרים מידי פעם בטלוויזיה. רק שאלה אחת מטרידה אותם: איך פורצים לWiFi? וזו כמובן טעות, טעות איומה. כי לא מתחילים מהמדרגה הארבעים, מהחלק הפחות חשוב במסלול הלמידה של בודק חדירויות ורק אז מתחילים להבין מה זה בכלל מחשב, חוזרים למדרגה הראשונה. אבל בכל-זאת, לאותם אלה שכבר הגיעו למדרגה ה39 וכעת רוצים להתחיל לעלות במדרגות של הקומה השנייה, נושא פריצת רשתות אלחוטיות הוא נושא מרתק שחשוב וכדאי ללמוד ומדריך זה מיועד עבורם.

בשורות הבאות אסקור את נושא פריצת הwifi למתחילים, מא' ועד ת', החל מהסבר מקיף על טכנולוגיות ההצפנה של wifi שהולכות ומשתדרגות כל הזמן ועד להסבר הפריצה בפועל של כלל הטכנולוגיות, החל מפריצת רשתות wifi המשתמשות בפרוטוקול Wired Equivalent Privacy המחורר (פרוטוקול WEP) ועד לפריצת רשתות המשתמשות בפרוטוקול Wi-Fi Protected Access בגרסתו המעודכנת ביותר – WPA3.

חשוב להדגיש שהמדריך מיועד אך ורק עבור האקרים אתיים, אנשי הגנת סייבר ועבור העלאת המודעות בקרב אזרחים לסכנות האפשריות של פריצה לרשת הWiFi שלהם. חל איסור מוחלט לבצע פעולה בלתי חוקית בעזרת מדריך זה וכל פעולה לא חוקית שתתבצע הינה על אחריותו הבלעדית של המבצע שצפוי לספוג עונשים כבדים. ובנימה אישית: באמת שלא כדאי לכם לבצע פעולה בלתי חוקית בעזרת המדריכים שבאתר (וכן, לפרוץ לwifi של השכנים זו פעולה בלתי חוקית), בקלות מאד גדולה יהיה ניתן לאתר אתכם והעונשים על הדברים הללו כבדים מאד ויכולים להגיע עד לכדי מאסר.

מכיוון שעבור רחרוח הרשתות עם מכונה הוירטואלית שלנו לא נוכל להסתפק בכרטיס הWiFi המובנה במחשב (הסיבה לכך היא שכרטיס הWiFi המובנה שבמחשב הנייד שלנו לא תומך במצב 'monitoring' שמאפשר האזנה לחבילות מידע שמגיעות גם מחוץ לרשת שלנו, אלא רק בחבילות שמיועדות עבורנו. עבור פריצת רשתות אחרות, אנו צריכים כמובן להיות מסוגלים להאזין לחבילות המידע שהן שולחות ועל כן נצטייד במתאם WiFi רלוונטי)/ עבור תרגול מדריך זה עליכם להצטייד במתאם WiFi חיצוני, רצוי של ALFA. שימו לב שע"מ שתוכלו לפרוץ גם לרשתות הפועלות בתדרים של 5Ghz (תדר שהופך לפופולארי יותר ויותר) ולא רק לרשתות הפועלות בתדרים של 2.4Ghz, עליכם לוודא שהמתאם שאתם רוכשים תומך ב5Ghz. לקריאת ההבדלים בין התדרים ומשמעותם, לחצו כאן.

שני דגמי הALFA המומלצים לשימוש, בשני התדרים:

אז כשלב ראשון, בואו נדבר על מה זה WiFi. כשאנו מעוניינים ליצור תקשורת עם רשת האינטרנט, אנו צריכים להתחבר לנתב הביתי שלנו, שבתורו מעביר את בקשת התקשורת וקבלת המידע לנתב של ספקית האינטרנט, שבתורו מעביר את המידע הלאה, עד לנתב של השרת ממנו אנו רוצים לקבל מידע. עבור כך, בעבר, היינו צריכים להתחבר בכבל לנתב שלנו ודרך אותו כבל להעביר את המידע. החל מ1971 החל רעיון הWiFi לקרום עור וגידים, כאשר בשנה זו חיברה ALOHAnet את איי הוואי ברשת מנות אלחוטיות, באותו זמן פרוטקול Ethernet ופרוטוקול IEEE 802.11 לא היו קיימים והשימוש נעשה בפרוטוקולים אחרים, אך תאריך זה נחשב לתחילת רעיון הWiFi. עם-זאת, הwifi כפי שאנו מכירים אותו היום החל את דרכו ב1991, אז נוצר פרוטוקול IEEE 802.11 בהולנד, עבור מערכות קופאיות. בשנת 1997 החל השימוש המעשי בפרוטוקול עבור סיפוק תקשורת אינטרנט והופצה גרסתו הראשונה שאז סיפקה עד כ2 מגה ביט בלבד.

למעשה, WiFi שולח את הנתונים שהיינו צריכים להעביר בעבר לנתב שלנו דרך כבל, גם דרך האוויר, בעזרת גלי רדיו. זו אומנם פעולה נוחה בהרבה שאפשרה את מהפכת האינטרנט הנגיש, הסמארטפונים ומוצרי הIOT, אך תחשבו על כך, כעת, כשהמידע שלנו עובר דרך האוויר, גם אם המידע הזה לא שלנו ומישהו אחר 'העביר אותו באוויר', אנו יכולים לרחרח אחריו ולתפוס אותו. כבר לא מדובר במידע שעובר לנתב מהמחשב שלנו דרך כבל ספציפי ואף אחד לא יכול לתפוס אותו, אלא במידע שעובר בצורה ציבורית לנתב שלנו, מה שיוצר סיכון אבטחה בגינו נצרכנו בשימוש בפרוטוקול HTTPS, שהופך את התעבורה שלנו למוצפנת. אחרת, אם היינו גולשים לחשבון הפייסבוק שלנו במסעדה או באוטובוס, כל שאר הנוכחים במקום היו יכולים לתפוס את חבילת המידע בה שלנו לפייסבוק את הפרטים שלנו, לקרוא אותה ולגנוב לנו את פרטי ההזדהות. זו הסיבה שהעדיפות שלכם תמיד צריכה להיות לא לגלוש בwifi ציבורי, במקרה כזה – כולם יכולים לדעת מה הן הרגלי הגלישה שלכם, היכן ביקרתם ובמקרה של אתרים לא מאובטחים, גם את הסיסמאות שלכם.

לפני שנעבור לשלב חיבור המתאם האלחוטי שלנו ועל מנת שלא נצטרך בכל פעם להשתמש בפקודת הsudo, וודאו שאתם רצים תחת הרשאות root, אחרת – פשוט שנו את ההרשאות שלכם להרשאות root בעזרת הפקודה sudo su. כעת, לאחר שביצעתם את 2 הפעולות הללו, נעבור לחיבור מתאם הרשת. הפעילו את מכונת הLinux שלכם, לחצו על לשונית הDevices בתפריט המכונה הווירטואלית (אני מבצע את ההדגמה על virtual box), לחצו על אופציית הUSB ושימו לב אלו חיבורים מופיעים לכם:

כעת, חברו את מתאם הWiFi. אם נוסף לכם לרשימת חיבורי הUSB חיבור נוסף, מצוין. לחצו עליו:

כעת, לאחר שחיברנו את מתאם הWiFi שלנו, נפתח את מכונת הLinux שלנו ונריץ את הפקודה: iwconfig. פקודה זו (קיצור של interface wireless config) תציג לנו מידע על הרשתות האלחוטיות שפעילות ברשת שלנו. אם קודם לכן ראינו 0 רשתות, כעת אנו רואים את הרשת שיצר המתאם האלחוטי שחיברנו. עם-זאת, שימו-לב, מצב כרטיס הרשת מוגדר כManaged, בעוד אנו צריכים לעבור למצב monitoring ע"מ שנוכל ללכוד את חבילות המידע:

בהתאם לכך, נשנה את מצב כרטיס הרשת למצב האזנה בעזרת הפעולות הבאות (אם שם הרשת שלכם הוא לא wlan0, שנו את הפקודות בהתאם. את שם הרשת תוכלו לראות כאמור בפלט של הפקודה iwconfig):

  1. נהרוג תהליכים בעיתיים בעזרת הפקודה: airmon-ng check kill (זוהי אינה פקודת חובה, אך מומלצת מאד)
  2. נכבה את כרטיס הרשת בעזרת הפקודה: ifconfig wlan0 down
  3. נפעיל את מצב הmonitoring בעזרת הפקודה: iwconfig wlan0 mode monitor
  4. נפעיל בחזרה את כרטיס הרשת בעזרת הפקודה: ifconfig wlan0 up

כעת, אם נריץ שוב את הפקודה iwconfig, נראה שכרטיס הרשת שלנו רץ במצב monitor. יש לציין כי בזמן שנהיה במצב monitor לא נוכל לגשת לאינטרנט דרך מכונת הKali לה מחובר כרטיס הרשת ועליכם לקחת זאת בחשבון

כיצד נוכל להתחיל לרחרח? עבור כך, נשתמש בכלי airodump-ng. כלי זה משמש ללכידת חבילות מידע שעוברות בפרוטוקול 802.11 (כזכור, פרוטוקול הwifi). הוא מגיע built-in בkali ונריץ אותו בצורה פשוטה בעזרת הפקודה הבאה: airodump-ng wlan0. והנה, מתאם הWiFi מתחיל בהאזנה לרשתות שבסביבה:

בואו ננתח את העמודות בפלט שמציג לנו airodump-ng, נתחיל מהעמודה השמאלית ביותר. BSSID זוהי העמודה שמכילה את המזהים של נקודת הגישה או הנתב של הרשת לה אנו מאזינים. אם תרצו, את כתובת הMAC של נקודת הגישה, כתובת שמורכבת מ6 בתים (48 ביטים). PWR מייצג את עוצמת האות של הרשת האלחוטית, וככל שהמספר גבוה יותר, כך הרשת חזקה יותר (לדוגמא, במקרה שלנו, הרשת בעלת המספר 38- היא הרשת לה האות הגבוה ביותר במיקום שלנו, שכן המינוס בה הוא יותר קטן. אגב, אות שיוכל לאפשר עבודה סבירה ברשת הוא עד 60-). Beacons מייצג את הודעות הbrodcat שכל רשת שולחת ע"מ להודיע על קיומה לסביבה (גם אם היא רשת נסתרת, בהמשך נדבר על כך). DATA# מייצג את מספר החבילות שהגיעו מהרשת, זהו שדה מאד חשוב שיסייע לנו בביצוע התקיפה. s/# מייצג את מספר החבילות שהגיעו מהרשת רק בעשר השניות האחרונות. CH מייצג את הערוץ עליו עובד הרשת (ערוץ קובע את התדר המדויק בו יעברו גלי הרדיו וככל שישנם יותר רשתות ומכשירים על אותו ערוץ., כך הוא איטי יותר). לדוגמא, אנו רואים שהרשת Library עובדת על ערוץ מספר 7 והרשת Daniel עובדת על ערוץ מספר 11. השדה הבאה, עמודת הMB מייצגת את המהירות המרבית הנתמכת ע"י הרשת. העמודה ENC מייצגת את אלגוריתם ההצפנה המשמש את הרשת, זהו כמובן השדה החשוב ביותר שעלינו לבדוק לפני ביצוע הפריצה לWiFi, בפלט הספציפי הזה ניתן לראות שמרבית הרשתות בסביבה משתמשות בהצפנה הנפוצה והטובה ביותר במרבית הנתבים – WPA2, מלבד אחת (אותה יצרנו עבור התרגול) שמשתמשת בWPA. העמודה CIPER מייצגת את פרוטוקול ההצפנה המשמשת את אלגוריתם ההצפנה שראינו בעמודה קודמת, במקרה שלנו אנו רואים שרובן ככולן של הרשתות משתמשות בCCMP. העמודה הבאה, עמודת הAUTH מייצגת את שיטת האימות בה משתמשת הרשת, גם במקרה הזה ניתן לראות שמרבית הרשתות משתמשות בPSK ולא בEnterprise (עוד על PSK וEnterprise בפסקה האחרונה של המדריך) והעמודה האחרונה, עמודת הESSID מכילה כמו שכבר ודאי הבנתם את שם הרשת. להלן סיכום קצרצר של העמודות:

שם העמודהמה היא מייצגת
BSSIDמייצגת את כתובת הMAC של נקודת הגישה
PWRמייצגת את עוצמת האות של הרשת, כפי שנקלטת במתאם האלחוטי
Beaconsמייצגת את הודעות הBrodcast שנשלחות ע"י הרשתות השונות להודיע על קיומן
DATA#מייצגת את מספר החבילות שהגיעו מהרשת וairodump-ng הצליח לרחרחן אחריהן
s/#פעולה זהה לDATA#, אלא שמייצגת את מספר החבילות שהגיעו רק בעשר השניות האחרונות
CHמייצגת את הערוץ בו פועלת הרשת
MBמייצגת את המהירות המרבית הנתמכת ע"י הרשת
ENCמייצגת את אלגוריתם ההצפנה המשמש את הרשת
CIPERמייצגת את פרוטוקול ההצפנה המשמש את האלגוריתם
AUTHמייצגת את שיטת האימות בה משתמשת הרשת
ESSIDמייצגת את שם הרשת

חשוב לציין שאם הרשת שאנו מעוניינים לתקוף עובדת בתדר של 5Ghz, נצטרך להוסיף לפקודה הסטנדרטית של airodump-ng את הארגומנט band– ולאחריו a. כך: airodump-ng –band a wlan0

לאחר שלמדנו את משמעות הפלט שמחזיר לנו airodump-ng, נלמד כיצד אנו יכולים לרחרח אחר רשת ספציפית (זה הרי מה שמעניין אותנו. לרחרח אחר הרשת אותה אנו רוצים לפרוץ) ונלמד על משמעות עוד חלק בפלט שחוזר לנו.

עבור הפעלת הרחרוח של airodump-ng על רשת ספציפית, נשתמש בפקודת הרחרוח בתבנית הבאה:

airodump-ng –bssid [bssid address] –channel [channel number] wlan0

כלומר, אם נרצה לרחרח אחר הרשת IL_ONE, נכתוב כך:

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 wlan0

ע"מ לשמור את החבילות שairodump-ng קלט בתוך קובץ, ניתן להוסיף לפקודה את הארגומנט write– ושם הקובץ, לדוגמא:

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 --write summary wlan0

ואכן, airodump-ng מבצע את הסריקה על הרשת הספציפית הזו:

עכשיו, בואו נדבר על החלק התחתון של פלט הסריקה, חלק שלא התייחסנו אליו בסריקה הכללית. בפלט זה airodump-ng מציג לנו את המכשירים הספציפיים שמחוברים לרשת הספציפית וכמות החבילות שהם מעבירים לאותה רשת. לצורך הדוגמא, בפלט שבצילום המסך שמעל פסקה זו אנו רואים שלרשת בעלת הכתובת 6A:BA:D2:E9:C7:17, מחובר המכשיר בעל כתובת הMAC שמתחילה ב4C:EB:BD.

איתור שמותיהן של רשתות נסתרות

בכל נתב מודרני קיימת פונקציה בסיסית המאפשרת למנהל הרשת להגדיר שהרשת תהיה נסתרת, כלומר – ששמה לא יופיע וע"מ שבכלל יהיה ניתן להגיע למצב שניתן להתחבר אליה עם סיסמא, יהיה על המשתמש קודם-כל לדעת מה השם שלה. רשת זו תופיע ברשימת הרשתות שלכם כhidden network:

ע"מ שנוכל לפרוץ לרשת שהיא Hidden עם מגוון הטכניקות שנציג במהלך המדריך, אנו צריכים קודם-כל לדעת מה השם שלה. עבור כך, נשתמש בכלי הנהדר aireplay-ng ובמתקפת Deauthentication Attack שהוא מאפשר לבצע.

Deauthentication Attack

Deauthentication Attack זוהי מתקפה במסגרתה אנו מנתקים מחשב ספציפי, מרוחק, מגישה לאינטרנט, בעזרת Mac Spoofing והתחזות למכשיר. במסגרת מתקפה זו, אנו משנים את כתובת הMAC שלנו לכתובת הMAC של המכשיר הנתקף ופונים 'בשמו' לנתב בבקשה לנתק אותנו מהאינטרנט. הנתב, שלא יודע שמאחורי כתובת הMAC הזו עומד מעשה זיוף, מנתק את המכשיר. עבור ביצוע המתקפה, נשתמש בכלי aireplay-ng שיבצע אותה באופן אוטומטי.

ראשית-כל, אנו צריכים למצוא את כתובת הMAC של המכשיר הנתקף ואת כתובת הMAC של הBSSID שלו. עבור כך, נשתמש בairodump-ng ובחלק התחתון של הפלט שהוא מבצע, שם כזכור – אנו יכולים לראות את כתובת הMAC של המכשיר שהתחבר לנקודת גישה מסוימת ואת כתובת הMAC של אותה נקודת גישה.

לאחר מכן, נשתמש בaireplay-ng ובפקודה הבאה:

aireplay-ng --deauth 20000000 -a MAC:ADDRESS -c MAC:ADDRESS:SPOOF wlan0  

הסבר לפקודה: deauth– מבטא את סוג המתקפה (Deauthentication). 2000000 את מספר החבילות עם בקשת ההתנתקות שנשלח לנתב (אתם יכולים לבחור איזה מספר שאתם רוצים, בחרתי מספר גבוה ע"מ שהפעולה תימשך לאורך זמן). תחת a- אנו כותבים את כתובת הBSSID של הנתב ותחת c- אנו כותבים את כתובת הMac Address של המכשיר אותו אנו רוצים לתקוף. לאחר מכן, אנו כותבים את שם הממשק של המתאם האלחוטי שלנו. כעת aireplay-ng יישלח כל העת חבילות התנתקות לBSSID מטעם המחשב שלנו והוא ינותק תוך מאיית השנייה.

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

כיצד נוכל להשתמש ביכולת של aireplay-ng ע"מ לאתר את שמה של הרשת הנסתרת? הפעם היחידה ששם הרשת נשלח ללא הצפנה, הוא בעת חיבור של המכשיר הנתקף לרשת הנסתרת שלו. ממילא, אם ננתק את המכשיר מחיבור לרשת בעזרת aireplay-ng, נוכל להשתמש בעובדה שהמכשיר ככל הנראה יבצע התחברות אוטומטית לרשת שלו בחזרה מיד לאחר הניתוק. נבצע אם-כן, תוך כדי המתקפה, רחרוח אחר הנתונים בעזרת airodump-ng ונוכל לאתר בקלות את שם הרשת. הנה, לדוגמא, כאן, יצרתי רשת חדשה, רשת נסתרת. הנה היא בפלט של airodump-ng:

נבצע לה סריקה ספציפית כפי שלמדנו בפסקאות הקודמות, ע"מ שיהיה בידינו את כתובת הMAC של המכונה הווירטואלית שמחוברת לרשת הזו (כלפיה נבצע את מתקפת הDeautentication):

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 wlan0

שימו לב שעד כה airodump-ng לא מצליח לזהות את שם החבילה (במקום השם מופיע לנו length: 6):

כעת, ננתק את המכונה הווירטואלית שלנו מהרשת, בעזרת מימוש מתקפת Deauthentication עם aireplay-ng, כאשר הפעם נשלח לנתב שלוש חבילות בלבד, שכן זה יספיק ע"מ לנתק את המכונה מהרשת וממילא לגרום להתחברותה מחדש ולחשיפת שם הרשת:

aireplay-ng --deauth 3 -a MAC:ADDRESS -c MAC:ADDRESS:SPOOF wlan0

ואכן, airodump-ng הצליח לאתר את החבילה עם שם הרשת (ושמה כפי שניתן לראות הוא IL_TWO):

אגב, פעמים רבות לא נצטרך לבצע את תהליך הניתוק של מכשירים מהרשת, אלא פשוט נבצע סריקה עם airodump-ng, אם יש תעבורה סטנדרטית ברשת, סביר לומר שתוך דקות ספורות שם הרשת ייחשף לנו.

התגברות על MAC Filtering

דרך נוספת שמנהלי רשת נוקטים בה ע"מ להקשות על תוקפים היא סינון גישה לרשת ע"פ כתובות הMAC של המכשירים. כלומר: רק מכשירים בעלי כתובות MAC מסוימות יכולים לגשת לרשת (הגדרה של מי כן יכול לגשת לרשת, whitelist) / מכשירים בעלי כתובות MAC מסוימות לא יכולים לגשת לרשת (הגדרה של מי לא יכול לגשת לרשת, blacklist). שוב, גם כאן, ע"מ שבכלל נוכל להיכנס לרשת, גם אם יש בידינו את הסיסמא, אנו צריכים קודם-לכן להיות עם כתובת MAC זהה לאחת מכתובות הMAC שהותרו במקרה של withlist ובמקרה של blacklist לא להיות עם כתובת MAC זהה לאחת מכתובות הMAC שנחסמו.

עבור התגברות על MAC Filtering, נלמד כיצד אנו יכולים ל'החליף' את כתובת הMAC שלנו. כתובת הMAC כמובן מוטבעת במכשיר שלנו ואנו לא נוכל לשנות לחלוטין את הכתובת, אלא רק להתחזות לכתובת MAC אחרת.

ראשית, נראה מהי כתובת הMAC הנוכחית שלנו בעזרת הפקודה ifconfig (הכתובת תופיע לצד ether):

כעת, נריץ את הפקודות הבאות (שימו לב שבפקודה מס' 2, תוכלו להזין איזו כתובת MAC שאתם רוצים):

  1. נכבה את כרטיס הרשת בעזרת הפקודה: ifconfig eth0 down
  2. נשנה את כתובת הMAC לכתובת שנרצה בעזרת הפקודה: ifconfig eth0 hw ether 00:11:22:33:44:55
  3. נדליק בחזרה את כרטיס הרשת בעזרת הפקודה: ifconfig eth0 up

כעת, אם נריץ שוב את הפקודה ifconfig, נוכל לראות שאכן כתובת הMAC שלנו השתנתה:

ממילא, על מקרה של סינון כתובות MAC בעזרת blacklist נוכל להתגבר בקלות בעזרת שינוי כתובת הMAC שלנו. מה נעשה במקרה של סינון בעזרת withlist? כיצד נוכל לאתר את אחת מכתובות הMAC המותרות?

גם-כאן, הפעולה פשוטה למדיי. נבצע האזנה ספציפית לתעבורה בעזרת airodump-ng לBSSID של הרשת המדוברת. ברגע שאחד המכשירים המותרים יתחבר לרשת, נוכל כזכור לראות בחלק התחתון של הפלט את כתובת הMAC שלו. נעתיק אותה, והפעם, נשנה את כתובת הMAC בעזרת הפקודה שראינו למעלה לכתובת הספציפית הזו.

פריצת WEP (ר"ת של Wired Equivalent Privacy)

הפרוטוקול הראשון שפותח להצפנת תעבורת הWiFi הינו WEP (ר"ת של Wired Equivalent Privacy) שמבוסס על אלגוריתם ההצפנה RC4 של חברת RSA, אלגוריתם הצפנה שבעבר היה מאד פופולארי ואף שימש לאבטחת אתרי האינטרנט במסגרת פרוטוקול SSL. בשל חורי אבטחה רבים שנמצאו בו ועליהם נפרט בפסקה הבאה, WEP כמעט ואינו בשימוש כיום והסיכויים שתפגשו בו במסגרת בדיקת חוסן שואפים לאפס, אך בכל זאת, כדאי, לכל מצב שלא יהיה, להכיר את כל טכניקות פריצת הWiFi האפשריות, כולל כאלה שהסיכויים שנצטרך להשתמש בהם נמוכים מאד ועל כן אציג גם אותו.

דה-מרקר מדווח ב2007 על חלק מהחולשות שנמצאו בWEP

ע"מ להבין כיצד WEP עובד, נכיר קודם-לכן את צורת העבודה של אלגוריתם ההצפנה RC4. פרוטוקול זה משתמש בשיטת ההצפנה הסימטרית (המפתח שמצפין הוא המפתח שמפענח) ויוצר מפתח פסאודו רנדומלי. בעת שליחת מידע, מהמחשב שלנו לנתב, נשלח את המידע מוצפן עם אותו key (בעזרת ביצוע פעולת XOR על המידע) והנתב יפענח אותו גם-כן בעזרת הkey (בעזרת ביצוע פעולת XOR הפוכה). אלא שע"מ להגביר את האבטחה של הפרוטוקול ולמנוע מימוש של מתקפות גילוי שונות עליהן נדבר בהמשך המדריך, מצרף WEP לkey שנשלח בכל חבילת מידע תוספת שנקראת IV (ר"ת של Initialization vector) באורך של 24 סיביות (בכל חבילה, יצורף iv שונה לkey). ע"מ לפענח את המידע, הנתב יצטרף להוסיף למפתח הסודי המקורי את הIV וליצור keystream בו יוכל להשתמש.

נשמע מאובטח? זהו שלא. כאמור, הIV הינה מחרוזת באורך של 24 ביטים בלבד (שאגב מיוצגים אך ורק ע"י 3 תווי ASCII), כך שברשת ביתית פעילה שמעבירה מאות אלפי חבילות בזמן קצר נצטרך שוב ושוב לחזור על אותו IV (סך כל האפשרויות של הIV הן 2 בחזקת 24, מה שאומר שע"פ פרדוקס היום הולדת הסיכויים לראות כמה חבילות מידע עם אותו IV גדולים מ50%), מה שיגרום למצב שאותו ערך IV הוא יופיע שוב ושוב כתוספת למפתח ההצפנה (מה שיאפשר לנו לזהות אותו בקלות, שכן כאמור הוא מאד קצר). אם-כן, אם אין לנו כבר את יתרון 'החד פעמיות' של הIV, אנו נשארים אך ורק עם מפתח ההצפנה הקבוע ובשל היותו מפתח שאינו משתנה, גם אותו נוכל לפצח בעזרת מתקפות סטטיסטיות-מתמטיות שונות שמתבוססות על זיהוי הIV.

עבור ביצוע המתקפה, נשתמש בכלי airodump-ng אותו כבר הכרנו ללכידת הנתונים ובכלי נוסף בשם aircrack-ng לביצוע הפיצוח של ערך הIV והסיסמא. שימו לב ששיטת פריצה זו רלוונטית אך ורק אם מדובר ברשת לה מחוברים מספר גדול של מחשבים והיא מעבירה מאות אלפי חבילות מידע. רשת ביתית עם 4-5 מכשירים שמחוברים לה אמורה להיות אחת כזו.

ראשית, נבצע לכידה של הנתונים ברשת אותה אנו רוצים לתקוף. במעבדת ההדגמה שיצרתי זו הרשת IL_ONE שהוצגה לנו בפלט הרשתות לאחר הזנת הפקודה airodump-ng wlan0. נבצע רחרוח ספציפי כלפיה כפי שלמדנו בעזרת ציון ערך הbssid שלה, הערוץ בו היא משדרת ושם ממשק הרשת של כרטיס הרשת שלנו, הכרטיס המרחרח. את המידע נכתוב לתוך קובץ בשם wep_crack, בעזרת הפרמטר write–:

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 --write wep_crack wlan0

נמתין מספר דקות עד שיוסנפו מספר גדול של חבילות מידע (סביב ה180,000) ולאחר מכן ניקח את הקובץ wep_crack.cap שנוצר לנו (נוכל לראות אותו בעזרת ls) ונעביר אותו כארגומנט לכלי aircrack-ng:

aircrack-ng wep_crack-01.cap

אם ביצענו הכל כשורה, לאחר מספר שניות תופיע לנו הסיסמא כאשר כל 2 תווים מופרדים בעזרת נקודותיים (:).

מה נעשה במקרים בהם אנו רוצים לפרוץ לרשת בשעה שאין בה פעילות משמעותית שתגרום לחזרה על ערכי הIV?

במקרים כאלה, נצטרך למצוא פתרונות שיגרמו לרשת לייצר חבילות מידע וממילא לייצר עוד ועוד IV. ישנם מספר מתקפות שנועדו לגרום לרשת לבצע זאת ואני אציג חלק מהן. המתקפה הראשונה שנכיר היא ARP Request Replay.

ARP Request Replay

בעת חיבור לרשת, ישנם שני שלבים. השלב הראשון הוא שליחת הבקשה לaccess point בבקשה לתקשר איתנו. שלב זה זהה למעשה למקרה שאנו לוחצים על רשת כלשהי בתפריט הרשתות הזמינות לנו, גם ללא הזנת סיסמא. אנו לא נהיה מחוברים לרשת, אך גרמנו לרשת להכיר אותנו. השלב השני הוא כמובן הזנת הסיסמא וההתחברות עצמה לרשת.

בעת ביצוע ARP Request Replay, אנו נפנה לרשת עם השלב הראשון – הבקשה לתקשר. ונמתין ללכידת חבילת ARP כלשהי שתישלח מהרשת. ברגע שנאתר כזו, נשלח אותה בחזרה לרשת, מה שיגרום לaccess point ליצור חבילה נוספת עם מזהה IV אחר (שכן רשתות אלחוטיות מחזירות חבילות ARP שנשלחות ברשת). גם את החבילה הנוספת שהaccess point ישלח נלכוד ונשלח גם אותה שוב אליו, מה שיגרום שוב לAP ליצור חבילה נוספת וכן על זה הדרך, עד שיווצרו מספיק חבילות עבור פיצוח WAP (לרוב הפעולה תארך שניות בודדות).

עבור ביצוע המתקפה, נשתמש בכלי aireplay-ng אותו כבר הכרנו במסגרת מתקפת Deauthentication Attack.

נציג את הפקודה ולאחר מכן נסביר אותה:

aireplay-ng --arpreplay -b 6A:B6:D2:E9:C7:17 -h B6:1E:B9:05:BE:FD wlan0

הסבר לפקודה: לאחר ציון שם הכלי, אנו מציינים את סוג המתקפה שאנו רוצים לבצע באמצעותו – arpreplay. וכעת, לאחר b- אנו מזינים את ערך הBSSID של הרשת הנתקפת ותחת h- אנו מציינים את כתובת הMAC של כרטיס הרשת שלנו (נוכל לראות אותה כזכור בעזרת ifconfig [לא iwconfig], אלא שבזמן שכרטיס הרשת שלנו במצב monitor הכתובת תופיע כרצף של 16 זוגות תווים מופרדים בעזרת (-), נעתיק את ששת הזוגות הראשונים ונפריד בניהם באמצעות (:)). בסיום הפקודה אנו פשוט מזינים את שם ממשק הרשת. להלן דוגמא לצורת הפריסה של כתובת הMAC כשאנו במצב Monitor, במקרה הזה כאמור הכתובת תהיה B6:1E:B9:05:BE:FD.

בד-בבד, נבצע שתי פעולות נוספות:

א'. פנייה לרשת הנתקפת עם השלב הראשון בתהליך התחברות לרשת: שליחת בקשה לAccess point לניהול תקשורת מולו, השלב שמקדים להזנת הסיסמא והתחברות לרשת. נעשה זאת במטרה לאפשר את קבלת בקשות הARP שנשלחות מהנתב. עבור כך נשתמש בaireplay-ng עם הארגומנט fakeauth– ולאחריו כמות הפעמים שנשלח את הבקשה (וממילא הזמן בו יהיה ניתן ללכוד בקשות ARP) כאשר הספרה 0 מבטאת פעם אחת, כתובת הMAC של הbssid, כתובת הMAC של כרטיס הרשת שלנו ושם ממשק הרשת (שליחת פייק בקשה ליצירת תקשורת, שכן אין לנו באמת מטרה להזין את הסיסמא, אלא לפרוץ לרשת. אגב, מתקפה זו (Fakeauth) לא רלוונטית בWPA:

aireplay-ng --fakeauth 0 -a 6A:B6:D2:E9:C7:17 -h B6:1E:B9:05:BE:FD wlan0

אם נקבל successful, הרי שהמתקפה בוצעה בהצלחה. אגב, בחלק ממתאמי הרשת ישנה בעיה מובנית במסגרתה הם ישתמשו בערוץ ברירת המחדל שמוגדר לכרטיס ובמידה והוא לא זהה לערוץ ברירת המחדל של הSSID שאנו רוצים לתקוף, הרי שהמתקפה לא תצליח וניתקל בשגיאה הבאה:

ע"מ לפתור זאת, השתמשו בפקודה הבאה: airmon-ng start wlan0 6 (במקום 6 ציינו את מספר הערוץ הרלוונטי).

ב'. האזנה ספציפית לרשת הנתקפת באמצעות airodump-ng כפי שכבר ביצענו מספר פעמים. גם במקרה הזה נבצע כתיבה של הנתונים לקובץ ע"מ שנוכל לפצח לאחר מכן את הסיסמא עם aircrack-ng:

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 --write wep_crack_two wlan0

כעת נשתמש בaircrak-ng עם קובץ הcap שמכיל את החבילות מהסריקה האחרונה (שוב, נמתין שערך הData יגיע לסביבות ה180,000 חבילות) ונקבל את הסיסמא:

aircrack-ng wep_crack_two-01.cap

חשוב לציין ששיטה זו רלוונטית בין אם הרשת משתמשת בWEP-64 (מפתח סודי באורך 40 ביטים + IV של 24 ביטים) או בWEP-128 (מפתח סודי באורך 104 ביטים + IV של 24 ביטים), אלא שזמן הפענוח של WEP-128 יהיה מעט ארוך יותר.

כמו-כן, לWEP ניצולים נוספים ידועים כגון chopchop attack וFragmentation Attack, אך בשל העובדה שכאמור, הסיכויים שתיתקלו בפרוטוקול זה במהלך מבדק חדירה שואפים לאפס, לא ראיתי צורך להציג אותן.

מעקף חסימת תקשורת עם הנתב ללא הזנת סיסמא

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

בשל עניין זה, ישנם נתבים שהגדירו בנתב שלהם את מניעת האפשרות להתחיל תקשורת עם הנתב ללא הזנת הסיסמא, כך שמגוון הדרכים שסקרנו לא רלוונטים (כשננסה לבצע את מתקפת fakeautho נקבל filed), ונצטרך למצוא דרך לעקוף את המגבלה הזו.

הפתרון היעיל ביותר הוא לבצע האזנה ספציפית בעזרת airodump-ng ובפלט התחתון שמתקבל לנו (כזכור, הפלט שמציג לנו את כתובות הMAC של המכשירים המחוברים לנתב), לקחת את אחת הכתובות ולהשתמש בה ככתובת המקור בעת ביצוע מתקפת arpreplay. כעת, מכיוון שכתובת הMAC כבר מוכרת ליעד חבילת המידע לא תיחסם.

פריצת WPS (ר"ת של Wi-Fi Protected Setup)

רגע לפני שנצלול לטכניקות לפריצת פרוטוקולי הצפנת הWi-Fi המתקדמים יותר – WPA/WPA2, נדבר על הדרך הפשוטה לפרוץ רשתות אלחוטיות שמשתמשות בפרוטוקול WPS (כיום, בנתבים מודרנים כבר לא תוכלו להגדיר את פרוטוקול זה). פרוטוקול זה נועד לפשט את תהליך ההתחברות של מכשירים ברשת לWi-Fi ונועד לאפשר התחברות פשוטה יותר: במקום שנצטרך להזין בכל פעם את סיסמת הWi-Fi, פשוט נלחץ על כפתור במכשיר אותו אנו רוצים לחבר (לדוגמא מדפסת) ובאופן אוטומטי נתחבר לרשת הWi-Fi, ע"י סיסמא שתעבור באופן אוטומטי. בצורה מדויקת יותר נכון לומר שהפרוטוקול מאפשר מימוש של פרוטוקול WPA2 בעזרת לחיצה על כפתור בלבד.

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

עד לשנת 2011 היה נחשב הפרוטוקול למאובטח מאד, אלא שבשנה זאת חוקר האבטחה האוסטרי סטפן ויבוק חשף שורה של ליקויים בפרוטוקול שהוכיחו את היותו מחורר וקל מאד לפריצה. למה? בקצרה: כחלק מהרצון לפשט את הפרוטוקול, הסיסמא מכילה כ8 תווים בלבד (7 למעשה, תו אחד משמש בchecksum) ומכילה ספרות בלבד ובשל כך היא קלה מאד לפריצה בעזרת brute-force (למעשה הפרוטוקול קצת יותר מורכב, אך נסתפק בהגדרה זו).

ע"מ לאתר את הרשתות שמשתמשות בWPS, נשתמש בכלי wash. שימוש בairodump-ng לא יעזור לנו, שכן כאמור WPS אינו פרוטוקול הצפנה, אלא פרוטוקול שמאפשר עבודה פשוטה יותר עם פרוטוקול WPA ועל כן בפלט airodump-ng נתבים שמשתמשים בWPS יוצגו לנו כנתבים שמשתמשים בWPA/WPA2. נזין את הפקודה הבאה:

wash --interface wlan0

ואם אכן יש נתב באזור שלנו שמשתמש בWPS הוא יופיע לנו בפלט:

כעת, עבור ביצוע הbrute-force עצמו ואיתור הסיסמא בקלות נשתמש בכלי reavar. להלן הפקודה:

 reaver --bssid 6A:B6:D2:E9:C7:17 --channel 6 --interface wlan0 -vvv 

הסבר לפקודה: כפי שניתן לראות הפקודה דומה מאד לפקודת הסריקה הספציפית עם airodump-ng, אלא שאת שם ממשק הרשת מכניסים לאחר ציון הפרמטר interface–. את הפקודה סיימנו עם vvv- שמבטא varebos ויציג לנו פלט רחב בעת פעילות הכלי, כך שנוכל לזהות בקלות סיבות של כישלון. אם ביצענו הכל נכון, הסיסמא תופיע לנו.

יש לציין ששיטה זו לא יעילה אם צורת האימות בWPS הוגדרה ע"י לחיצת כפתור גם בנתב וגם במכשיר המבקש להתחבר, שכן במקרה כזה – עצם השלב הראשוני של הפנייה להתחברות מנוטרל ללא לחיצה על כפתור הנתב. עבור פריצת רשתות המשתמשות בשיטה זו, נצטרך לממש את אחת הטכניקות לפריצת WPA/WPA2 שיילמדו בהמשך.

כמו-כן, במידה ואנו נתקלים בשגיאת failed to associate, ננסה לבצע את תהליך הפנייה הראשוני לרשת (השלב לפני ההתחברות עם הסיסמא, עצם הפנייה לרשת) באופן ידני בעזרת aireplay-ng, כך:

aireplay-ng --fakeauth 80 -a 6A:B6:D2:E9:C7:17 -h my_mac

הסבר לפקודה: אנו משתמשים בaireplay-ng ליצירת מתקפת fakeauth (כלומר – שליחת בקשה לאימות מול הרשת, בעוד אין לנו את הסיסמא וכל המטרה שלנו היא ללכוד/להעביר חבילות ספציפיות מהשרת במטרה לפרוץ לרשת). לאחר מכן, לאחר הדגל a- נזין את כתובת הBSSID של הנתב הנתקף ולאחר h- את כתובת הMAC של כרטיס הרשת שלנו.

בreaver לעומת זאת נזין פעולה זהה לפקודה הקודמת, אלא שנוסיף את הארגומנט no-assicuate ע"מ שrevaer לא יבצע את פעולת הפנייה הראשונית וישאיר אותה לaireplay-ng:

 reaver --bssid 6A:B6:D2:E9:C7:17 --channel 6 --interface wlan0 -vvv --no-assicuate

השיטה שלמדנו לפריצת WPS רלוונטית אם בנתב היעד, במסגרת פרוטוקול WPS, לא הוגדרה נעילה של הנתב לאחר מספר ניסיונות כושלים ועל כן יכולנו לבצע את הbrute-froce בקלות סה"כ. אלא שבמרבית הנתבים התומכים בWPS ישנה נעילה אוטומטית של הנתב לאחר מספר ניסיונות כושלים (3 בדרך כלל) בדיוק ע"מ למנוע ניסיונות brute-force. כיצד נוכל להתגבר על כך? האם נצטרך להמתין כל פעם לסיום נעילת הנתב (לאחר דקה בדרך כלל)?

נלמד עבור כך שתי שיטות:

הדרך הראשונה היא מימוש מתקפת Deauthentication כלפי אחד מבעלי המכשירים ברשת מתוך מטרה שאותו עובד ייגש לנתב במטרה להפעיל אותו מחדש, פעולה שרובנו עושים כאשר הרשת שלנו מתנתקת לזמן קצר. על-ידי כך, תיפסק הנעילה של הנתב ונוכל להמשיך במתקפת הbrute-force. על הדרך לבצע מתקפת deauthentication כבר דיברנו בעבר, להלן תזכורת:

aireplay-ng --deauth 20000000 -a 6A:B6:D2:E9:C7:17 -c MAC:ADDRESS:SPOOF wlan0

עם-זאת, שיטה זאת יעילה רק כאשר יש משתמש כלשהו ברשת ברגע ניסיון הפריצה. במקרה אחר, ננסה לבצע מתקפת DOS (ר"ת של Denial Of Serivce) כלפי נתב היעד ובכך לגרום להפעלתו מחדש בצורה אוטומטית. עבור ביצוע המתקפה נשתמש בכלי mdk3. להלן הפקודה:

mdk3 wlan0 a -a 6A:B6:D2:E9:C7:17 -m

הסבר לפקודה: אנו מזינים את שם הכלי ולאחריו את שם ממשק הרשת. לאחר מכן אנו מזינים את האות a שמבטאת מתקפת DOS. לאחר אנו מכן אנו משתמשים בa- שלאחריו נכתוב את כתובת הBSSID של הרשת כלפיה אנו מעוניינים לבצע את מתקפת הDOS ולאחר מכן m- שמבטא שימוש בכתובות MAC שנראות כאמינות במהלך המתקפה.

כעת, נריץ את הפקודה ולאחר כסביבות ה8,000-9,000 חבילות מידע במרבית הנתבים הביתיים, הנתב יקרוס ויופעל מחדש:

פריצת WPA/WPA2 (ר"ת של Wi-Fi Protected Access)

בשל הליקויים שהתגלו בפרוטוקול WEP ואת חלקן המכריע סקרנו בפסקאות הקודמות, החלו בארגון Wi-Fi Alliance העולמי לעבוד על פרוטוקולי הצפנה חדישים יותר שיפתרו את בעיות האבטחה שהתגלו, הראשון מבניהם הוא WPA (ר"ת של Wi-Fi protected access) שפורסם כפרוטוקול זמני, עד לצאתו של WPA2 שהיה אמור לפתור את בעיות האבטחה באופן מושלם. המפתחות בהם משתמש WPA הינם מפתחות באורך 256 סיביות (עלייה משמעותית לעומת WEP). פרוטוקול נוסף בו משתמש WPA והוא אינו מומש בWEP הוא TKIP (ר"ת של Temporal key integrity protocol). פרוטוקול זה נועד לחפות על הליקויים שהתגלו בפרוטוקול RC4 (שגם הוא ממומש בפרוטוקול WPA2) ולהבטיח את שלמות ואמינות הנתונים (הIV ממוספרים, כך שלא יהיה ניתן להשתמש בהם שוב ושוב בו זמנית, נעשה שימוש במנגנון MMIC לוודא שההודעות לא שונו מרגע שליחתן ועוד ועוד). מימוש תיקונים אלו בWPA מונעים למעשה את כלל שיטות התקיפה עליהם למדנו במסגרת WEP: גם אם נשיג מילוני חבילות מידע של היעד הדבר לא יעזור לנו, שכן אנו לא יכולים למחזר חבילות עם אותו IV ולבצע מניפולציות על חבילות המידע.

מאוחר יותר, בשנת 2004, פיתח הארגון את תקן מתקדם יותר שפתר את חלק מהבעיות התאורטיות שנמצאו בWPA. תקן זה מהווה התקן הנפוץ בעולם כיום: WPA2. בתקן זה חוזקה האבטחה בעזרת החלפת פרוטוקול הTKIP בפרוטוקול CCMP המתקדם יותר.

לWPA ולWPA2 שורה של ליקויים תיאורטיים, אך אנו נעסוק בWPA2 ובמתקפה המרכזית והנפוצה כלפיו: ביצוע Brute-force על סיסמת הרשת בעזרת ערך הMIC שמצורף לחבילות המידע במסגרת תהליך לחיצת היד המרובעת (באנגלית: four way handshake). מהו תהליך לחיצת היד המרובעת? כאשר אנו מתחברים לרשת שמשתמשת בפרוטוקול WPA2, לאחר שאנו מזנים את הסיסמה, מתבצע תהליך שמיד נסביר אשר נועד לוודא את אמינות התקשורת ביננו לבין נקודת הגישה. לפני שנסביר כיצד מתבצע התהליך, חשוב לציין שעוד לפני תחילת התהליך, כבר בשלב החלפת הסיסמאות, כל צד (המכשיר שלנו מחד ונקודת הגישה מהצד השני) מקבל מפתח פרטי משותף שנקרא PSK (ר"ת של pre shared key). לאחר מכן מתחיל תהליך לחיצת היד בצורה הבאה: א'. נקודת הגישה שולחת למכשיר היעד מספר אקראי כלשהו שנקרא Anonce. ב'. מכשיר היעד משתמש בAnonce, במפתח המשותף ובכתובת הMAC של שני הצדדים ליצירת מפתח חדש שנקרא PTK (ר"ת של pairwise tramsient key) ומצדו הוא שולח לנקודת הגישה ערך MIC (מיד נסביר) ומספר אקראי כלשהי שנקרא Snonce ע"מ שגם נקודת הגישה תוכל ליצור את הPTK. ג'. בשלב השלישי, ע"מ שנוכל לוודא שלנקודת הגישה יש PTK זהה לשלנו, שולחת נקודת הגישה ללקוח את GTK (ר"ת של pariwise transient key), שתהיה למעשה הודעת MIC מוצפנת בעזרת הPTK. ד'. הלקוח עושה אימות להודעת הMIC שהוא קיבל מנקודת הגישה ואם אכן הוא מזהה שהPTK שלו ושלה זהים, הוא שולח לנקודת הגישה הודעת ACK והתקשורת בינו לבינה תתאפשר.

לא מוגדר

מהו הMIC? הMIC (ר"ת של Message integrity check) זהו רכיב שנועד למנוע את אחת הבעיות המרכזיות בWEP: היכולת לאחזר חבילות מידע. MIC מונע זאת בעזרת הוספת שדה MIC שאף יעלה באופן רציף וייבדק בכל חבילת מידע והוא מורכב מהמפתח המשותף ועוד שני מושגים עליהם לא נדבר כרגע: פונקציה מתייגת ופונקציית אימות. במסגרת מתקפת הBrute-force אותה נבצע, ניקח את הMIC שמועבר בשלב השני של לחיצת היד וננסה להתאים אותו לMIC שניצור עם כל סיסמא וסיסמא שתופיע בקובץ הסיסמאות שלנו איתו נבצע את הbrute-force.

ע"מ לבצע זאת, ראשית, נבצע רחרוח ברשת שלנו בעזרת airodump-ng. לאחר שנאתר את הרשת המיועדת לתקיפה ונוודא שהיא אכן משתמשת בפרוטוקול ההצפנה WPA2 נבצע לה האזנה ספציפית בעזרת כתובת הbssid ומספר הchannel, תוך שנשמור את תוצאות הרחרוח לתוך קובץ בעזרת הארגומנט write–:

airodump-ng --bssid 6A:B6:D2:E9:C7:17 --channel 6 --write wpa_handshake wlan0

בשלב הבא, אנו צריכים לגרום לכך שנוכל לרחרח את לחיצת היד המשולשת בין הנתב לבין המכשירים ברשת. פעולה זו מתבצעת רק כאשר נעשית התחברות חדשה לרשת ועל-כן נשתמש שוב במתקפת Deauthentication Attack עליה כבר למדנו, הפעם במטרה לנתק את אחד מהמכשירים ברשת מהחיבור לרשת וממילא לגרום לחיבור מחדש וביצוע לחיצת יד משולשת אותה נוכל להסניף. תזכורת לפקודה (תחת a- נרשום את כתובת הbssid של הנתב ותחת c- את כתובת הMAC של אחד מהמכשירים ברשת, אותו נרצה לנתק [כזכור, כתובות הMAC של המכשירים יופיעו לנו בפלט הסריקה הספציפית עם airodump-ng], בערך המציין את מספר השניות של המתקפה בחרנו ב0 שכן אנו לא זקוקים ליותר מכך):

aireplay-ng --deauth 0 -a MAC:ADDRESS -c MAC:ADDRESS:SPOOF wlan0

המכשיר הנתקף יתנתק מהרשת האלחוטית ויתחבר אוטומטית מיד לאחר מכן וממילא ההסנפה שלנו תעלה יפה ונצליח לרחרח אחר חבילות לחיצת היד המשולשת (שימו לב לחלק המודגש):

אפשרות נוספת להכריח חיבור מחדש היא ביצוע מתקפת מניעת שירות כלפי הרשת בעזרת mdk3, מה שיגרום לקריסת הנתב והפעלתו מחדש, כפי שלמדנו קודם לכן בחלק העוסק בwps:

mdk3 wlan0 a -a 6A:B6:D2:E9:C7:17 -m

כעת נעבור לביצוע המתקפה עצמה. אנו כאמור מעוניינים לבצע מתקפת brute-force ועל כן נצטרך להשתמש ברשימת מילים (wordlists) עם סיסמאות הWiFi הנפוצות. נוכל למצוא רבים כאלו באינטרנט, הנה לינק למאגר מצוין, קטן ויעיל בGithub:

לחילופין, נוכל ליצור רשימת מילים משלנו בעזרת לא מעט כלים מצוינים. הכלי המומלץ ביותר הוא crunch. לcrunch מגוון רחב של אפשרויות שהופכות אותו לכלי כל-כך יעיל ושימושי, אך אני אציג רק חלק קטן מאד מהאפשרויות, בדגש על כאלו שיעזרו לנו לפיצוח סיסמת הWiFi. המבנה של הפקודה ליצירת סיסמאות עם הכלי הוא כזה:

crunch [minimum] [maximun] [char] -o [file-name]

הסבר לפקודה: לאחר ציון שם הכלי, אנו מזינים את מינימום התווים שיהיו בסיסמאות שcrunch יצור לנו (שימו לב שבפרוטוקול WPA2 מינימום התווים בסיסמא הוא 8 תווים ועל כן הקפידו תמיד לציין בערך המינימום לכל הפחות את הספרה 8) ולאחר מכן את מקסימום התווים. במקטע שלאחר מכן אנו מציינים את התווים בהם ישתמש crunch ליצירת הסיסמאות, לדוגמא: abcdifg יצור לנו סיסמאות שמורכבות אך ורק משבעת התווים הללו (יש לציין שערך זה אינו חובה ואם לא נזין שום ערך, crunch ישתמש בכל האותיות הקטנות [a-z] כאותיות עמם הוא ינסה ליצור סיסמא). לסיום הפקודה, לאחר הדגל o- אנו מציינים את שם הקובץ אליו ייכנס פלט הפקודה. לדוגמא:

crunch 8 9 abcd789 -o wordlist.txt

אפשרות נוספת היא לבחור תבנית מסוימת אתה יעבוד הכלי, פעולה זו נעשה בעזרת הדגל t- ובמקרה כזה נצטרך שערך המינימום והמקסימום יהיה זהה. כך לדוגמא נקבע שכל סיסמא תתחיל באות a ותסתיים באות b (@ מבטא אותיות קטנות):

crunch 8 8 abcd -t a@@@@d -o wordlist.txt

למה זה כל-כך שימושי? חלק גדול מאד מהאנשים, אם לא רובם, בוחרים להכניס את מספר הפלאפון שלהם כסיסמת הWiFi. זהו כמובן חוסר אחריות משווע, שכן זהו מידע חשוף שיהיה ניתן לאתר בקלות. אבל גם אם הוא לא היה כזה, הרי שבעזרת כלים כמו crunch נוכל לבצע brute-force שינסה את כל מספרי הטלפון האפשריים ובכך לאתר את הסיסמא. לדוגמא (% מבטא מספר):

crunch 10 10 0123456789 -t 052%%%%%%% -o wordlist.txt

עד לכאן בנוגע לcrunch ולענייני רשימות המילים. השלב הבא שנידרש לעשות הוא לעבור למתקפה עצמה, אותה נבצע בעזרת aircrack-ng המצוין. שימו לב לפקודה:

aircrack-ng wpa_handshake-01.cap -w wordlist.txt

הסבר לפקודה: אנו מעבירים לכלי 2 ערכים. האחד הוא קובץ הרחרוח שמכיל את לחיצת היד המשולשת (הקובץ בעל סיומת הcap) והשני, תחת הדגל w-, הלא הוא הwordlist, קובץ הtxt שמכיל את הסיסמאות איתן נבצע את הbrute-force. ואכן, לאחר מספר שניות נראה שaircrack-ng הצליח לפצח את הסיסמא הנכונה (במקרה הזה הכנסתי את הסיסמא הנכונה לראש הקובץ, אך באופן כללי זהו תהליך שיכול לקחת קצת זמן ומיד נלמד כיצד לזרז אותו):

ייעול מתקפת הbrute-force

אנו לא מצליחים לחדור לרשת עם הסיסמאות הנפוצות ומעוניינים להריץ brute-force עם wordlist של אלפי סיסמאות. כיצד נוכל לייעל את התהליך ולקצר את זמן הפריצה? בשורות הבאות אציג מגוון טכניקות לעבודה עם מתקפת הbrute-force לפריצת WPA ובמסגרתן נענה גם על השאלה הזו. נתחיל עם הדרך להתחיל את מתקפת הbrute-force, לעצור אותה באמצע ולהמשיך לאחר מכן.

אחד מהקשיים שאנו ניתקל איתן בעת ביצוע הbrute-force בעזרת aircrack-ng היא העובדה שלא נוכל לעצור את הפיצוח תוך כדי הפעולה ולהמשיך לאחר מכן / במקרה שהפיצוח הופסק מסיבה כל-שהיא, נצטרך להתחיל אותו מחדש. מדובר בעניין משמעותי, שכן לא מעט פעמים קובץ הwordlist שלנו יכיל מיליוני סיסמאות וזמן הפיצוח יוכל להימשך גם ימים. במקרה כזה, לא נוכל לכבות או לסגור את המחשב לכל אורך הזמן הזה ונצטרך תמיד לוודא שלא יצוצו תקלות שונות שיעצרו את aircrack-ng תוך כדי הפיצוח ויורידו את העבודה שלנו לטמיון.

אבל יש גם אפשרות אחרת שתמנע מאיתנו את כל הבעיות הללו. בטכניקה זו נשתמש ביכולת השמירה של הכלי הפנטסטי john the ripper עבור שמירת העבודה של aircrack-ng בכל עת שנרצה לעצור אותה מכל סיבה שהיא. כיצד נעשה זאת? הפרמטר stdout– בjohn מאפשר הצגה של קובץ שנכניס כערך לפרמטר wordlist–, בצורה זהה לפלט שהיה מופיע לנו לו היינו קוראים את הקובץ בעזרת cat. ממילא כך, ברמה הכללית היינו יכולים לבצע את הפיצוח של aircrack-ng גם בעזרת העברת הפקודה לאחר קריאת הקובץ עם cat ושימוש בpipe (|) שמאפשר ביצוע של stdin על הstdout של הפקודה הקודמת. הנה דוגמא:

cat wordlist.txt | aircrack-ng -w - --bssid 72:B6:D2:E9:C7:16 wpa_handshake-01.cap

הסבר לפקודה: הפקודה זהה אחד לאחד לפקודה שלמדנו מוקדם יותר, אלא שכאן במקום להעביר כארגומנט לפרמטר w- (קיצור של wordlist) את הקובץ, אנו מעבירים לו את התו (-) שמסמל את הערך של הפקודה הקודמת. כך, אנו עוברים על הסיסמאות שחוזרות אלינו מהפלט של הפקודה cat wordlist.txt. בנוסף לכך, בפקודה זו עלינו להוסיף את ערך הbssid של הרשת.

תוצאת הפקודה זהה אחד לאחד לתוצאה של פקודת aircrack-ng סטנדרטית:

ממילא, כעת נשתמש ביכולת של john לבצע פעולה זהה לcat ונוסיף לו את הפרמטר session– שמאפשר שמירה של הפעולה במקרה של עצירה שלה. כך: (שימו לב לאחר session– להכניס את שם הקובץ שישמור את הפעולה)

john --wordlist=wordlist.txt --stdout --session=crack | aircrack-ng -w - --bssid 72:B6:D2:E9:C7:16 wpa_handshake-01.cap

כעת, גם אם נרצה לעצור את הסריקה מסיבה כזו או אחרת, נוכל לשחזר אותה בדיוק מאותו המקום בו היא הפסיקה בעזרת שימוש בפרמטר restore– בjohn שמאפשר את המשך הסריקה בהתאם לנתונים שנשמרו בקובץ:

john --restore=crack | aircrack-ng -w - --bssid 72:B6:D2:E9:C7:16 wpa_handshake-01.cap

אפשרות נוספת היא שימוש בhashcat לפיצוח הסיסמא שכן היא מאפשרת באופן דיפולטיבי עצירה של תהליך הפיצוח והמשך שלו לאחר מכן, בשונה מaircrack-ng. ע"מ לבצע זאת נצטרך להמיר את קובץ הcpa שלנו, המכיל את נתוני הרחרוח, לפורמט שhashcat תומכת בו. נוכל לבצע זאת online כאן, בדף ייעודי שנמצא באתר של hashcat:

לאחר מכן, נזין את הפקודה הבאה:

hashcat -m 2500 wpa_crack-01.hccapx wordlist.txt --session wpa_crack

הסבר לפקודה: אנו מציינים את שם הכלי, לאחריו, תחת הדגל m- אנו מציינים את סוג הגיבוב שאנו רוצים לפצח. במקרה הזה אנו בוחרים 2500 שמציין wpa/wpa2 (תוכלו לראות את כל הפורמטים ועוד מידע שימושי וחשוב בנוגע לhashcat בעזרת כתיבת הפקודה hashcat –help). לאחר מכן אנו מזינים את הקובץ שמכיל את לחיצת היד שהוסנפה (הקובץ בפורמט hccapx, אותו המרנו באתר hashcat) ולאחר מכן את הwordlist. בסיום הפקודה אנו מזינים את הפרמטר session– ושם של קובץ, מה שיאפשר לנו לשמור את הפיצוח גם אם נעצור אותו באמצעיתו).

כעת, גם אם נעצור את hashcat במהלך העבודה, נוכל להמשיך בדיוק מהמקום שבו הפסקנו בעזרת ציון הפרמטר restore– ולאחריו שם הקובץ שהכנסנו כערך לפרמטר session– בפקודה הקודמת. כך:

hashcat --session wpa_crack --restore

ואכן, קיבלנו את הסיסמא:

שימוש בGPU להאצת פיצוח הסיסמא

אחת הדרכים היעילות ביותר להאצת מהירות הפיצוח שלנו, באופן משמעותי, היא שימוש במעבד הגרפי שלנו (Graphics Processing Unit) במקום במעבד הסטנדרטי. פעולה זו רלוונטית כמובן רק אם אנו מחזיקים במעבד גרפי מספיק חזק, משהו שאני מניח שקיים אצל לא מעט מכם. ע"מ לבצע זאת נצטרך להשתמש בhashcat ולא בaircarck-ng שכן האחרון אינו תומך בכך. נקודה נוספת שחשוב לציין היא שבמקרה שזו הפעם הראשונה בה אתם משתמשים במעבד הגרפי, מומלץ להשתמש בhashcat במערכת ההפעלה windows ולא בLinux (אם אתם משתמשים במכונה וירטואלית), שכן ייתכן והדרייברים של המעבד הגרפי לא מותקנים במכונה הוירטואלית שלכם.

אם-כך, נוריד את hashcat למכשיר הwindwos שלנו (הורידו את הקובץ הבינארי, אם אתם בכל זאת רוצים לעבוד עם לינוקס, דאגו להוריד גם את הדרייבר המתאים שמופיע לכם בטבלת הGPU Driver requirements):

בצעו חילוץ של הקבצים מקובץ הzip שירד לכם והפעילו את שורת הפקודה בתיקייה (בעזרת קליק ימני וopen Coomand pront או בעזרת ניווט עם cd) ולאחר מכן צפו בקבצי התיקייה בעזרת ls וחפשו את קובץ הexe:

כעת אנו צריכים להפעיל את קובץ הexe ועל כן נשתמש בפקודה הבאה:

.\hashcat.exe -I

הסבר לפקודה: בעזרת הדגל I- (האות i כאות גדולה), נוכל לראות את החומרות שhashcat יוכל לעבוד איתם לפיצוח הסיסמא. אם אכן אנו מחזיקים במעבד גרפי מתאים, נראה לפחות 2 אפשרויות: שימוש בCPU ושימוש בGUI

כעת נשתמש בפקודת פיצוח הwpa/wpa2 של hashcat כפי שכבר למדנו, אלא שהפעם נוסיף את הדגל d- שמסמל devices ובו נקבע באיזו חומרה יתבצע הפיצוח. במקרה הזה ראינו שהid של הGPU הוא 1 ועל נציין d- 1, כך:

.\hashcat.exe -m 2500 -d 1 wpa_crack.hccapx wordlist.txt

ואכן, נקבל את הסיסמא תוך זמן קצר מאד, קצר משמעותית ממשך הפעולה כאשר היא בוצעה רק בעזרת הCPU:

פריצת WPA3

ע"מ למנוע את הליקויים השונים שהתגלו בWPA2, הכריז ביולי 2018 ארגון הWiFi Alliance על תקן אבטחה חדשה: wpa3. תקן זה: 1. משתמש בהצפנה של 128 ביט עבור wpa-personal ובהצפנת 192 ביט עבור wpa-enterprise (הסבר על 2 השיטות תוכלו לראות בפסקה האחרונה במדריך). 2. מלבד-זאת, מבצע התקן החלפת ערכים בכל התחברות ובכך שולח התראה על ניסיונות חיבור חוזרים ונשנים שנכשלו. 3. הוא מבצע שימוש בvi משתנה בכל לחיצת יד וכחלק מכך אינו משתמש במפתח משותף (PSK, ר"ת של Pre-shared key) שמהווה הבסיס למתקפת הbrute-force בWPA2, אלא בSAE (ר"ת של Simultaneous Authentication of Equal, ידוע גם בשם Dragonfly) שמצפין טוב יותר את תהליך החלפת המפתחות בעזרת אימות מחדש מול הרשת בכל פעם שאנו מזינים סיסמא והופך לכמעט בלתי אפשרית את היכולת לפרוץ את הסיסמא באמצעות Brute-Force. כמו-כן, שיפור משמעותי נוסף שהפרוטוקול יבצע הוא הצפנה של המידע שלנו ברשתות ציבוריות ובכך יקשה את המלאכה עבור תוקפים המנסים לרחרח רשתות אלו ולאתר מידע.

בשנים האחרונות, איתרו חוקרי האבטחה ד"ר מת'י וונהוף מאוניברסיטת ניו-יורק באבו דאבי וד"ר אייל רונן מאוניברסיטת תל אביב שורה של פגמים בפרוטוקול, שמעלים צל כבד על היכולת שלו להבטיח הגנה מלאה לרשתות אלחוטויות. לטענת החוקרים, בשל העובדה שמכשירים התומכים בפרוטוקול תומכים גם תמיכה לאחור בWPA2 (לכל הפחות בשנים הקרובות), ניתן בעזרת מימוש מתקפת MITM לצורך הדוגמא לממש מתקפת Downgrade attacks בעזרת התחזות לנתב ופנייה למכשירים בטענה שהנתב איננו תומך בWPA3, מה שיגרום לחיבור שלהם בWPA2 וממילא ליכולת שלנו לממש מתקפת הbrute-force שרלוונטית לWPA2.

עם-זאת, בפועל, זוהי מתקפה כלפי WPA2 ולא כלפי WPA3. כלפי WPA3 עצמו טרם נמצאה מתקפה יעילה וישימה, אם כי ברמה התיאורטית עלו מספר אפשרויות למתקפות פוטנציאליות. לדוגמא, חוקרים זיהו כי הVI המשתנה הנשלח במסגרת לחיצת היד חוזר על עצמו בכל מספר בקשות וממילא, כאשר נוכל לזהות מנגנון קבוע, ייתכן ונוכל לנצלו עבור מתקפת Brute-Force.

מתקפה אפשרית נוספת עליה מדברים החוקרים היא Side-channel attack (מתקפת ערוץ צדדי), במסגרתה יוכל התוקף לממש שתי שיטות של מתקפת הערוץ הצדדי שיאפשרו לו לפענח את הסיסמא: האחד, cache side-channel שמתבטא בניתוח פעולות הגישה של המכשיר לזיכרון במהלך תהליך לחיצת היד (הDragonfly) בWPA3. והשני, Timing side-channel, מתקפה שרלוונטית רק בחלק מהנתבים ומתבטאת בניתוח זמן התגובה של הנתב לסיסמא שהכנסנו לו, במהלך תהליך לחיצת היד, כאשר במקרה שהסיסמא נכונה הזמן קצר יותר וממילא תוקף יוכל לבצע brute-force עם קובץ סיסמאות וע"פ ניתוח זמן התגובה של הנתב לכל סיסמא לדעת מהי הסיסמא הנכונה.

לקריאת מאמרם המלא של וונהוף ורונן, לחצו כאן (מלבד ההסבר המקיף, במאמר גם לינקים לארבעה כלים שכתב וונהוף ופורסמו בGithub שמאפשרים את ביצוע המתקפות השונות).

פריצה בעזרת שימוש בסיסמאות ברירת מחדל

פעמים רבות בודקי חדירויות מתחילים משקיעים זמן ומאמץ רב בפריצת פרוטוקול ההצפנה בו משתמשת הרשת, בעוד לו הם היו מבצעים את הדברים הבסיסיים והפשוטים הם כבר מזמן היו בתוכה. בארגונים וחברות רבות לא טורחים מנהלי הרשת לשנות את סיסמת הWiFi מסיסמת ברירת המחדל לסיסמא חזקה דיו.

בעת כל הגדרת WiFi, ניתן על-ידי כל אחת מהיצרניות הרלוונטיות סיסמת ברירת מחדל להתחברות לרשת. לדוגמא, סיסמת Data-Link הדיפולטיבית תהיה תמיד 1234567890. לפני שאנו משקיעים את זמנינו בשיטות הפריצה המורכבות, תמיד נלך קודם כל על הדברים הפשוטים: ניסיון להיכנס לרשת עם הסיסמאות הדיפולטיביות.

השתלטות על WiFi ושינוי סיסמת הרשת/סוג ההצפנה לאחר חדירה

במהלך ביצוע בדיקת חדירה בהסכמה, פעמים שלא נצטרך להסתפק בעצם החדירה לרשת, אלא נוכל לבצע השתלטות מלאה על הרשת, בעזרת שינוי סיסמת הWiFi, שינוי הגדרות ההצפנה, פתיחת נקודת גישה חדשה ועוד ועוד. יש לציין כי לרוב מנהלי רשת יאסרו עלינו לבצע את שלב זה במהלך בדיקת החדירה, אך תמיד כדאי לוודא במהלך הבדיקה שלנו שהפעולות שאציג בפסקאות הבאות לא ניתנות לביצוע ברשת הנתקפת ובמידה שכן, לכתוב על כך בדו"ח שלנו.

למען האמת, הסיטאוציה שאציג בשורות הבאות חמורה לא רק ביחס לביצוע בדיקת חדירה עבור ארגון. אלא ככלל, רלוונטית גם בבית הפרטי שלנו ובבית הקפה/העסק שבבעלותנו שכן פעמים רבות יגיע אלינו לביקור אורח שיבקש את סיסמת הWiFi שלנו ואולי ניתן לו אותה ופעמים רבות נאפשר בעסק שלנו גישה חופשית לWiFi. מה הבעיה אתם שואלים? לכל נתב שבבעלותנו יש ממשק גרפי דרכו אנו קובעים את הגדרות הנתב. ע"מ לגשת לממשק, נצטרך פשוט לכתוב את כתובת הIP של הנתב בשורת הכתובות בדפדפן (כזכור, תוכלו להגיע אליה בעזרת כתיבת הפקודה ipconfig בשורת הפקודה). בעזרת ממשק זה נוכל לשנות את סיסמת הWiFi שלנו, לפתור ולסגור פורטים, לשנות את סוג ההצפנה ברשת שלנו והיד עוד נטויה.

אם לא שיניתם באופן יזום את שם המשתמש והסיסמא של הממשק המדובר עד לרגע זה, כל תוקף שמחובר לרשת יוכל בקלות להתחבר אליו ולקבוע כיצד תיראה הרשת שלכם. הסיבה לכך היא שהממשק משתמש בשמות משתמש וסיסמא דיפולטיבים שלרוב יהיו: או, שם משתמש: admin. סיסמא: admin. או, שם משתמש: admin. סיסמא: password (במקרים של יצרנים בודדים בלבד יהיה מדובר בשמות משתמש וסיסמא אחרים, תוכלו לחפש בgoogle בקלות את הסיסמא הרלוונטית לאותו יצרן).

הממשק הגרפי של נתבי d-link 2014 שנפוצים אצל חלק מספקיות האינטרנט

בהתאם לכך, במידה שהרשת שאנו מבצעים כלפיה את בדיקת החדירה משתמשת בנתב ששם המשתמש והסיסמא הדיפולטיבים שלו לא שונו, הרי שמדובר בממצא חמור ועלינו לדווח על כך לחברה. אבל כפי שאמרתי, זוהי נקודה שרלוונטית גם לכל אחד ואחת מאיתנו, ברשת הביתית שלו, אם לא שיניתם את שם המשתמש והסיסמא הדיפולטיבים של הנתב שלכם, הרשת שלכם הייתה חשופה לפגיעויות חמורות ועליכם לטפל בכך באופן מידי. אגב, אם אנו מבצעים בדיקת חדירה לרשת כולשהי ואנו מעוניינים לאתר את סיסמת הWiFi, אם יש באפשרותנו לחבר כבל רשת לנתב, אפילו לדקה בודדת, הרי שייתכן שנוכל לחסוך את הצורך להשתמש בטכניקות הפריצה שסקרנו במדריך זה ואם פרטי ברירת המחדל של הנתב לא שונו ברשת המדוברת, נוכל לחבר כבל אתרנט, לגשת לממשק הגרפי של הנתב ולאתר בו את סיסמת הWiFi.

כיצד נמנע את פריצת הWiFi שלנו?

במהלך המדריך ראינו שורה של טכניקות ושיטות פריצה כלפי מגוון הפרוטוקולים השונים לאבטחת WiFi, אך יש קו אחד מנחה בכל הטכניקות שראינו: הן ניתנות למניעה בעזרת הגנה מספיק טובה. ומה זה אומר הגנה מספיק טובה? ראשית, אם יש בידכם אפשרות לממש WPA3, כמובן שעליכם לבחור באפשרות הזו. אם אתם עדיין משתמשים בנתב שלא תומך בפרוטוקול (כמו גם מרבית הנתבים בישראל נכון לעכשיו), הקפידו להשתמש בWPA2 ולא בשום פרוטוקול וטכניקה אחרת. אבל כפי שראינו, WPA2 לבדו לא מספיק: הקפידו גם לוודא שאתם משתמשים בסיסמא של לפחות עשרה תווים, אשר מורכבת מאותיות קטנות, גדולות, מספרים וסמלים והחליפו את סיסמת הWiFi שלכם מפעם לפעם. כמו-כן, תנו שימת לב מיוחדת לשינויים כלשהם ברשת שלכם: איטיות פתאומית, ניתוק פתאומי וכו' וכו' ותמיד וודאו שאתם לא נמצאים כרגע במוקד ניסיון תקיפה.

נקודה נוספת שחשוב לוודא היא ששיניתם את שם המשתמש והסיסמא של הממשק הגרפי של הראוטר לשם משתמש וסיסמא חזקים, כאלו שלא ניתנים לפריצה גם בעזרת brute-force (במרבית הממשקים לא תהיה הגנה מפני כך).

בלחיצה כאן תוכלו להגיע למסמך מפורט של מערך הסייבר הלאומי בנוגע לכללים המומלצים לאבטחת WiFi.

סיכומו של דבר

לסיכום, השתדלתי לעבוד במדריך זה כמעט על כל פרוטוקול הצפנה ואבטחה שמיושם ברשתות WiFi והצגתי לכל הפחות דרך אחת לפרוץ אותו, אבל יש כאן דגש חשוב שטרם התייחסתי אליו והוא דגש שרלוונטי בעיקר בכל הנוגע לפרוטוקול WPA: ישנם 2 מימושים לפרוטוקול WPA/WPA2: הראשון WPA-Personal והשני WPA-Enterprise שעובד בשיטה של שרת חיצוני המשתמש בפרוטוקול RADIUS אשר מאמת כל משתמש ומשתמש בנפרד (לכל משתמש יהיה שם משתמש וסיסמא נפרד והוא יצטרך לעבור אימות מול השרת, כאשר לא נוכל להתחיל שום תהליך שיחה עם נקודת הגישה ללא שם המשתמש והסיסמא שכן אנו מתקשרים מול שרת הRADIUS), מימוש זה יפעל לרוב בארגונים וחברות. השיטות והטכניקות שהצגתי במדריך לעבודה מול פרוטוקול הWPA רלוונטיות אך ורק לרשתות הביתיות, עבור פריצה לרשתות שמשתמשות בשרת RADIUS (וזהו המימוש שניתקל בו במרבית בדיקת החוסן שלנו), נצטרך להשתמש במתקפות אחרות כגון Evil-Twin. כמו-כן, מדריך זה סקר אך ורק את הטכניקות הנפוצות והשימושיות לפריצה לפרוטוקולים השונים, אך בזמן אמת לא נסתפק בטכניקות הסטנדרטיות ונעשה שימוש גם בסקריפטים מתקדמים שימקדו ויאיצו לנו את הסריקה, כאשר במקרים מסוימים נוכל אף לממש מתקפות שיתגברו גם על סיסמאות חזקות שימומשו בWPA2, כגון מתקפת KRACK. על כל הטכניקות הללו, כמו גם על מימושים פשוטים ומתקדמים של Evil-Twin אשתדל לכתוב בעתיד.

כתיבת תגובה

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