לדלג לתוכן

6.4 טכניקת Pass The Hash הרצאה

ביצוע Pass the Hash לתנועה רוחבית: smbexec, wmiexec, evil-winrm וכלים נוספים

טכניקת Pass the Hash מאפשרת לתוקף לנצל NTLM Hashes שהושגו ממחשב אחד ולבצע תנועה רוחבית בין מחשבים אחרים ברשת, כל זאת מבלי לדעת את הסיסמה של המשתמש. במקום זאת, התוקף משתמש ב- NTLM Hash שנגנב או הודלף, על מנת לגשת לשירותים ברשת ולהשיג שליטה על מחשבים נוספים.

ההאשים NTLM Hashes הם חותמות דיגיטליות של סיסמאות המשתמשים, שנשמרות במערכת Windows כדי לבצע זיהוי ואימות המשתמשים. כאשר תוקף משיג את ה- NTLM Hash של משתמש, הוא יכול לנצל אותו כדי "להעביר" את ההאש ללא צורך בהבנה של הסיסמה עצמה.

התקנת כלים

לפני שמבצעים את ההתקפה, עלינו לוודא שברשותנו את הכלים המתאימים לביצוע התנועה הרוחבית. כלים פופולריים לכך כוללים את smbexec, wmiexec, evil-winrm ואחרים. נתחיל בהתקנת הכלים:

Impacket

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

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

כלי Pass the Hash לתנועה רוחבית

smbexec

הכלי smbexec הוא כלי מבית Impacket מאפשר לתוקף להריץ קוד באמצעות SMB על מחשבים אחרים ברשת. הכלי מאפשר לבצע התקפות Pass the Hash ולהשתמש בהאש שנגנב כדי לגשת למערכות אחרות ולהפעיל עליהן פקודות.

דוגמה לשימוש ב-smbexec

נניח שהשגנו את ה- NTLM Hash של משתמש המנהל, ונרצה להשתמש בהאש כדי להתחבר למחשב אחר ברשת ולבצע פעולות. נשתמש בפקודה הבאה:

smbexec.py DOMAIN/USER@TARGET-IP -hashes LMHASH:NTHASH

בפקודה זו:

  • DOMAIN/USER: שמו של המשתמש המנצל את ה-NTLM Hash.

  • TARGET-IP: כתובת ה-IP של המחשב היעד.

  • LMHASH:NTHASH: ה-NTLM Hash של המשתמש.

wmiexec

כלי wmiexec הוא כלי נוסף ב- Impacket המאפשר להתחבר למחשב מרוחק דרך WMI (Windows Management Instrumentation), ולבצע פקודות מרחוק. WMI מאפשר לתוקף לשלוט במחשבים מרוחקים על ידי שליחת פקודות דרך פרוטוקול msrpc שמאזין דיפולטית בווינדוס.

דוגמה לשימוש ב-wmiexec

נניח שהתוקף השיג את ה- NTLM Hash של משתמש במערכת Windows. התוקף יכול להשתמש ב- wmiexec כדי להריץ פקודות במחשב היעד:

wmiexec.py DOMAIN/USER@TARGET-IP -hashes LMHASH:NTHASH

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

evil-winrm

כלי evil-winrm הוא כלי פופולרי שנועד לנצל את פרוטוקול WinRM (Windows Remote Management) לביצוע תנועה רוחבית והפעלת פקודות מרחוק. כלים כמו evil-winrm מאפשרים לתוקף להתחבר למחשבים מרוחקים באמצעות WinRM ולבצע פעולות כמו הרצת פקודות או יצירת משתמשים חדשים.

דוגמה לשימוש ב-evil-winrm

נניח שהתוקף השיג את ה- NTLM Hash של משתמש ויש לו גישה ל- WinRM בשרת היעד. הוא יכול להשתמש ב- evil-winrm כדי להתחבר ולבצע פקודות על המחשב המרוחק:

evil-winrm -i TARGET-IP -u USER -H NTHASH

בפקודה זו:

  • TARGET-IP: כתובת ה-IP של המחשב היעד.

  • USER: שם המשתמש.

  • NTHASH: ה-NTLM Hash של המשתמש.

בזמן הריצה, התוקף יקבל גישה למחשב היעד ויוכל להריץ עליו פקודות כמנהל.


טכניקות נוספות לביצוע Pass the Hash

בנוסף לכלים שצוין עד כה, קיימות מספר טכניקות נוספות בהן ניתן להשתמש לביצוע Pass the Hash ולהשיג תנועה רוחבית ברשת.

PsExec

כלי PsExec הוא כלי נוסף מבית Sysinternals שמאפשר לבצע פקודות מרחוק על מחשבים אחרים ברשת. התוקף יכול לנצל את PsExec עם ה- NTLM Hash על מנת לבצע פעולות על מערכת יעד.

דוגמה לשימוש ב-PsExec
psexec.py TARGET-IP -u USER -p LMHASH:NTHASH

RDP (Remote Desktop Protocol)

עוד דרך בה ניתן לבצע Pass the Hash היא דרך RDP. אם השרת היעד מאפשר חיבורי RDP ויש גישה ל- NTLM Hash של המשתמש, התוקף יכול לבצע התחברות מרוחקת ולהשתלט על המערכת.