לדלג לתוכן

6.3 תקיפת NTLM Relay הרצאה

תקיפת NTLM Relay:

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

ntlm_relay_basic 1.png


התקפת NTLM Relay עם ntlmrelayx

ההתקפה יכולה להתבצע באמצעות כלי כגון ntlmrelayx, חלק מקבוצת הכלים Impacket,
הכלי ntlmrelayx הוא כלי חזק מבית Impacket שמיועד לניצול חולשות Relay במערכות Windows. הכלי מאפשר לתוקף "לשדר" את פקטות ה- NTLM המתקבלים על ידי התחברות לשירותים כמו SMB, HTTP או LDAP, ולהעביר אותם לשרת יעד שיסכים לאמת את הבקשה.

התקנת Impacket

השלב הראשון בהכנת התקיפה הוא התקנת Impacket, אם עדיין לא התקנתם את הכלים. תוכלו להתקין את הכלים באמצעות pip:

git clone https://github.com/SecureAuthCorp/impacket
cd impacket
pip install .

הפעלת ntlmrelayx

לאחר התקנת הכלים, ניתן להפעיל את ntlmrelayx עם הפקודה הבאה:

python3 ntlmrelayx.py -t smb://<target-ip> -l 4444

בפקודה זו:

  • בדגל -t מגדיר את יעד ה-SMB שבו התוקף ישתמש כדי להעביר את ההאשות.

  • בדגל -l: מאזין לפורט 4444.

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

Multi-Relay: תקיפה לריבוי יעדים

הפיצ'ר החזק ביותר של ntlmrelayx הוא היכולת לבצע Multi-Relay. התקפה זו מאפשרת לתוקף לתקוף מספר מחשבים ברשת בו זמנית ולהעביר את ה- NTLM Hashes לכמה שרתים בו זמנית, מה שמגדיל את טווח ההשפעה.

השלב הראשון בהתקפת Multi-Relay הוא הגדרת השרתים שאליהם רוצים להעביר את האותות. לדוגמה:

python3 ntlmrelayx.py -t smb://<target-ip1> -t smb://<target-ip2> -l 4444

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


טכניקות נוספות בשימוש עם ntlmrelayx

בנוסף ל- SMB, ntlmrelayx תומך גם בפרוטוקולים אחרים כמו HTTP, LDAP, ו- RDP. כל פרוטוקול כזה יכול להיות מנוצל על ידי התוקף להרחבת טווח ההתקפות.

Relay ל-HTTP

לא רק SMB נמצא ביעדים של ntlmrelayx. התקפות NTLM Relay יכולות להתבצע גם בפרוטוקול HTTP:

python3 ntlmrelayx.py -t http://<target-ip>/login -l 4444

במקרה זה, התוקף מנסה להעביר את NTLM Hashes לאתר HTTP, ובכך לשאוב גישה לאפליקציות Web עם אימות NTLM.

Relay ל-LDAP

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


מנגנון SMB Signing

במערכות Windows קיימת אפשרות להפעיל מנגנון של SMB Signing. מנגנון זה מיועד להבטיח שהחבילות שנשלחות במהלך ההתחברות ל-SMB לא שונו או הוזמנו על ידי תוקפים, ובכך מספק אמצעי הגנה.
הצלחתם לעשות relay ברשת? בדווחו שהמנגנון לא דולק!