PracticU

התקפת NTLMRelayX
ביחד עם Responder

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › התקפת NTLMRelayX ביחד עם Responder
מילון מושגים:
NTLM - פרוטוקול אימות ותיק של מיקרוסופט המבוסס על ערכי האש של סיסמאות, שקדם ל-Kerberos.
חתימה דיגיטלית - מנגנון מבוסס הצפנה שמוכיח את מקור המידע ושלא שונה בדרך, בעזרת המפתח הפרטי של החותם.
SMB - פרוטוקול של Windows לשיתוף קבצים ומדפסות ברשת ולגישה למשאבים מרוחקים.
WinRM - שירות של Windows לניהול מרחוק של מחשבים, להרצת פקודות וסקריפטים דרך הרשת.
קוד פתוח - תוכנה שקוד המקור שלה זמין לציבור לצפייה, לשימוש ולשינוי, לרוב לפי רישיון מתאים.
GitHub - שירות ענן לאחסון מאגרי קוד מבוססי Git, המאפשר שיתוף פעולה, מעקב גרסאות וניהול פרויקטים.
Git - מערכת מבוזרת לניהול גרסאות של קוד, שעוקבת אחר שינויים ומאפשרת עבודה משותפת בענפים.
אנטי וירוס - תוכנה שמזהה, חוסמת ומסירה תוכנות זדוניות מהמחשב, ומנטרת פעילות חשודה.

התקפת NTLMRelayX ביחד עם Responder
בשיעור זה נבצע התקפת NTLM Relay על תיקיות משותפות, בה התוקף עומד באמצע, משיט את תעבורת העימות של NTLM מהלקוח אל שרת היעד, ובסיום העימות מוצא את עצמו בתוך שרת היעד דרך פרוטוקול השיתופים. נכין תיקייה משותפת, נאתר מחשבים שאינם מחייבים חתימה דיגיטלית, נגדיר את Responder להבאת התעבורה בלבד, ונריץ את הכלי NTLMRelayX מחבילת Impacket.
נושאי הסיכום המוצגים בשיעור:
1. הכנת מטרה: במחשב Windows 10 נוצרת תיקייה משותפת בתוך שיתופי הרשת, והיא משמשת יעד. המטרה יכולה להיות שרת אמיתי או מחשב Windows רגיל, והתוקף מגיע אל הרשת בלי ידיעה מוקדמת עליה.
2. מהות ההתקפה: התוקף מפעיל את Responder שעונה לצעקות של LLMNR ברשת ומביא את התעבורה אליו, ומאחורי הקלעים מעביר את כל הודעות העימות של NTLM אל השרת האמיתי שאותו מבקשים לתקוף. הקליינט סבור שהוא מזדהה מול התוקף, ובפועל הוא מזדהה מול שרת היעד ומבצע את הזיהוי במקום התוקף.
3. למה SMB משתמש ב NTLM: החיבור אל השיתוף נעשה בכתובת IP ולא בשם, ולכן הפרוטוקול של השיתופים משתמש ב NTLM לאימות ולא בקרברוס, ודווקא זה מאפשר את התקפת הריליי.
4. חוסר האחריות של NTLM: פרוטוקול NTLM עצמו אינו יודע למנוע את ההתקפה הזאת, והאחריות נופלת על הפרוטוקול שקרא לו, SMB, שצריך לחתום דיגיטלית על ההודעות שלו וכך להוסיף שכבת הגנה משלו. את תקן NTLM לא אפשר לשנות, כי מאות תוכנות משתמשות בו, ולכן כל מי שמשתמש ב NTLM לעימות, בין אם ב SQL, ב HTTP או בשיתופים, חשוף להתקפה.
5. איתור יעדים עם nmap: מריצים את nmap עם הסקריפפ המיועד לבדיקת מצב האבטחה של SMB. הפלט מראה ש SMB 1 מנותק והעבודה היא על SMB 2 ו 3, ומגלה מחשבים שבהם החתימה הדיגיטלית מאופשרת אך אינה נדרשת. דווקא המצב הזה, חתימה אפשרית אך לא חובה, הוא מה שמאפשר את ההתקפה.
6. איתור יעדים עם CrackMapExec: במקום לאסוף את התוצאות מ nmap ידנית, משתמשים בכלי CrackMapExec המובנה בקאלי, שיודע לעבוד עם שיתופים, עם WinRM שמריץ פקודות מרחוק ועם SQL. מריצים אותו מול רשת היעדים ומבקשים ממנו לכתוב את כל המחשבים הפגיעים אל קובץ targets.txt. העקרונות זהים בכל כלי, ומומלץ להכיר כמה מהם.
7. התאמת Responder: בקובץ ההגדרות responder.conf מבטלים, בעזרת עורך ה vi במצב הכנסה, גם את האזנת ה SMB וגם את האזנת ה HTTP. בהתקפה הזאת ל Responder יש תפקיד אחד מוגבל בלבד, להביא את התקשורת אל מחשב הקאלי על ידי ענות לבקשות חיפוש של מחשבים, ולא לטפל בתקשורת עצמה.
8. בניית רשימת היעדים: בקובץ היעדים שהתקבל מוחקים את השורה של אחת משתי הכתובות, כי Microsoft הגנו מפני ריליי חזרה אל אותו מקור שממנו הגיעה התעבורה, ואת השנייה משאירים כיעד. את ההערה על כך מקבלים בהמשך ההרצה.
9. התקנת NTLMRelayX: הכלי שייך לחבילת Impacket המוכרת, קוד פתוח ב GitHub. משכפלים את המאגר בעזרת git clone, מתקין את מנהל החבילות pip של פייתון דרך מנהל החבילות של אובונטו, כי קאלי מבוסס על אובונטו, ואז מריצים את ההתקנה של התוכן שבתיקייה הנוכחית, שמבוסס על קובץ ההגדרות של החבילה.
10. הרצת הכלי: מריצים את ntlmrelayx על קובץ היעדים עם תמיכה ב SMB2, ובוחרים מה לעשות אחרי חדירה מוצלחת, למשל הרצת סקריפפ שנוצר בעזרת msfvenom, או מצב אינטראקטיבי שפותח את השל של המחשב הנפגע עצמו ולא של התוקף. בהדגמה כאן מספיקה הרצת פקודה פשוטה כדי להראות שהעימות עבר.
11. הטריגר והתוצאה: המשתמש התמים מקליד בשורת הכתובת של הדפדפן מילה אחת בלבד, ה DNS לא עונה, התחנה צועקת ברשת, Responder עונה והעימות עובר דרך הריליי. הכלי מדווח על קבלת חיבור מאחת הכתובות, כשל בריליי חזרה אל אותה כתובת עצמה, מפני ש Microsoft מנעו ריליי אל מקור התעבורה, והצלחה מלאה בפריצה אל הכתובת השנייה.
12. השליטה בשרת הנפגע: השל נפתח בפורט שנקבע, ומתחברים אליו בעזרת נטקאט. משם אפשר לראות את השיתופים של המחשב, להיכנס אל השיתוף שנוצר, לראות את הקבצים, לקרוא אותם, להוריד קובץ בודד או את כולם בפקודה אחת, ולהעלות קובץ משלנו אל השרת. שווה לשים לב שהאנטי וירוס היה דלוק כל הזמן ולא תפס דבר, ושהמשתמש עצמו לא עשה שום פעולה מסוכנת מלבד הקלדת מילה אחת בדפדפן.
בשיעור זה זוהו מחשבי יעד עם SMB שאינו מחייב חתימה דיגיטלית, Responder הוגבל להבאת התעבורה בלבד, NTLMRelayX מחבילת Impacket הותקן והורץ על רשימת היעדים, ועימות NTLM אחד מספיק כדי לקבל של פעיל על שרת היעד עם גישה מלאה לשיתופיו. בשיעור הבא נעסוק בנושא התקפת NTLMRelayX בשילוב עם MSFvenom.
SR12571HE

פרקי ההרצאה: התקפת NTLMRelayX ביחד עם Responder

  1. 00:00

    הכנת תיקייה משותפת

  2. 00:35

    חשיבות החתימה הדיגיטלית

  3. 01:14

    עקרון ההתקפה של NTLM Relay

  4. 01:49

    עימות בשם הקורבן

  5. 02:29

    האחריות של פרוטוקול SMB

  6. 03:08

    בדיקת חתימת SMB עם Nmap

תמלול ההרצאה: התקפת NTLMRelayX ביחד עם Responder

הטקסט המלא של הדקות הראשונות בהרצאה «התקפת NTLMRelayX ביחד עם Responder» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, אנחנו רוצים להתחיל לעשות את ההתקפה שנקראת ריליי הטאק על ntlm, על תיקיות משותפות. בואו בשביל זה נייצר איזושהי תיקייה משותפת שיהיה לנו משהו לתקוף אותו.

  2. 00:12

    אני עושה פה תיקייה משותפת בווינדוס 10, זה יכול להיות כמובן שרת, זה יכול להיות ווינדוס רגיל. פרוג'קט X, ב-share, אני עושה שיתוף.

  3. 00:22

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

  4. 00:43

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

  5. 01:06

    אעביר לשרת האמיתי לזה שאני רוצה לתקוף אותו אני בעצם יהיה ריליי זה שמעביר הודעות שמאלה וימינה הודעות העימות של ntlm ואחרי שהעימות הסתיים אני כבר אמצא את עצמי בתוך שרת היעד בפרוטוקול smb של שיתופים שימו לב ש smb פרוטוקול שיתופי משתמש ב-NTLM לצורך אימות.

  6. 01:30

    דרך אגב, למה הוא משתמש ב-NTLM ולא ב-Kerberos? כי אני מתחבר עם כתובת IP. אז בגלל ש-SMB הולך להשתמש עם אימות של NTLM, אני מבצע התקפת NTLM ריליי, מעביר את כל הודעות האימות לקליינט האמיתי, והקליינט האמיתי חושב שהוא מזדהה מולי, ולמעשה הוא מזדהה מול השרת שאני רוצה לתקוף אותו.

  7. 01:52

    הוא עושה במקומי את הזיהוי. זה היופי בהתקפת NTLM ריליי. דרך אגב, NTLM לא יודע למנוע את ההתקפה הזאת. בגלל זה כל האחריות נופלת על הכתפיים של SMB.

  8. 02:03

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

  9. 02:25

    אז באחריותו של הפרוטוקול שקרא ל-NTLM לצורך העימות, למרות כל העימות, עדיין לחתום על ההודעות שהוא מוציא החוצה. אז ההתקפה הזאת של NTLM ריליי עובדת על כל NTLM, ולא משנה מי משתמש ב-NTLM הזה, אם זה SQL, אם זה HTTP, אם זה שיתופים,

  10. 02:46

    כל מי שמשתמש בפרוטוקול NTLM לצורך עימות חשוף להתקפה הזאת. טוב, בואו נעבור לתכלס, נראה איך מתבצעת התקפת ntlm relay בפועל אני מריץ nmap ובתוך nmap יש סקריפט שיגלה לי מה ה security mode מה המצב של smb שימו לב smb 1 מנותק אנחנו כבר ב smb 2 ו3 עובדים אנחנו מריצים את הסקריפט הזה והנה הוא רץ 76% והנה התוצאות לקח לו

  11. 03:14

    12 שניות ואנחנו רואים פה כבר שיש לנו מישהו שיש לו smb message signing enabled אפשר לחתום דיגיטלית but not required, אבל לא חובה. אם זה לא חובה, דרך זה אני פורץ.

  12. 03:29

    בדיוק זה מה שחיפשתי. אז ההתקפה הזאת עובדת בגלל שזה not

לקורס המלא: מבדקי חדירה ל‑Active Directory

ההרצאה הקודמת: עצירת LLMNR & mDNS - עם GPO

ההרצאה הבאה: התקפת NTLMRelayX - בשילוב עם MSFvenom

הרצאות קשורות מקורסים אחרים

  • הגדרת Online Responder
  • התקפת CSRF
  • התקפת SQL injection
  • התקפת Buffer Overflow - סיכום כל הפקודות

קורסים נוספים במסלול

  • קורס SOC - מיישם הגנת סייבר
  • קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting