6.1 חילוץ NTLM Hashes הרצאה
חילוץ NTLM Hashes¶
החילוץ של NTLM Hashes מתוך מערכת הוא אחד הצעדים הראשוניים עבור תוקפים המבקשים לבצע Lateral Movement בתוך רשת. באמצעות גניבת NTLM Hashes, ניתן לבצע Pass-the-Hash ולהשיג גישה לחשבונות בעלי הרשאות גבוהות מבלי לדעת את הסיסמה המפורשת.
כדי לבצע חילוץ NTLM Hashes, נשתמש בעיקר בכלים כמו Procdump, Mimikatz ו- secretsdump. החילוץ יכול להתבצע ישירות מ- LSASS (Local Security Authority Subsystem Service), המנהל את הרשאות המערכת.
הכנה לניצול החולשה¶
יש לוודא שיש לתוקף הרשאות גבוהות במערכת, כיוון שגישה ל- LSASS דורשת הרשאות SYSTEM או Administrator.
דרישות¶
-
מערכת Windows 10 / Server 2016 ומעלה.
-
הרשאות מנהל (Admin) או SYSTEM.
-
כלי Procdump ו- Mimikatz.
שלב 1: ניצול באמצעות Procdump¶
השלב הראשון הוא לחלץ את memory dump של תהליך LSASS (המנהל את האבטחה של המערכת). באמצעות הכלי Procdump, ניתן להוציא את המידע הזה בצורה די פשוטה.
התקנת Procdump¶
כדי להשתמש ב- Procdump, יש להוריד את הכלי מהאתר של Microsoft או להשתמש בכלי בגרסת ה- Sysinternals.
חילוץ ה- LSASS Memory Dump¶
נשתמש בפקודה הבאה כדי לחלץ את המידע מ- LSASS:
הפקודה הנ"ל תיצור קובץ lsass.dmp, המכיל את המידע הקריטי שכולל את ה- NTLM Hashes.
שלב 2: פענוח עם Mimikatz¶
לאחר שיצרנו את ה- dump, ניתן להשתמש ב- Mimikatz כדי לקרוא את המידע ולחלץ את ה- NTLM Hashes.
הפעלת Mimikatz¶
נוריד את Mimikatz מהאתר הרשמי ונריץ אותו עם הרשאות Administrator או SYSTEM.
הפקודה שתפענח את ה- memory dump שנוצר היא:
לאחר הפעלת הפקודה, תקבל את ה- NTLM Hashes עבור כל המשתמשים שהיו מחוברים בזמן יצירת ה- dump.
הפקודה תפיק את ה- NTLM Hashes בצורה הבאה:
שלב 3: פענוח עם secretsdump¶
עוד כלי פופולרי לפענוח LSASS הוא secretsdump של impacket, המאפשר לגנוב NTLM Hashes מ- LSASS בצורה פשוטה ומהירה.
התקנת impacket¶
כדי להשתמש ב- secretsdump, עלינו להוריד ולהתקין את חבילת ה- Impacket:
פענוח עם secretsdump¶
לאחר ההתקנה, ניתן להפעיל את הכלי על קובץ ה- LSASS dump שנוצר:
הפקודה תשלוף את ה- NTLM Hashes מהמזכיר ותציג אותם בצורה דומה ל- Mimikatz.
שלב 4: התקפות Pass-the-Hash¶
לאחר שגנבנו את ה- NTLM Hashes, ניתן להשתמש בהם לניצול Pass-the-Hash. זהו תהליך שבו נשתמש ב- NTLM Hash כדי להתחבר לחשבונות אחרים במערכת או ברשת, מבלי לדעת את הסיסמה המפורשת.
שימוש ב- SMBExec / Evil-WinRM:¶
לשם כך, נוכל להשתמש בכלים כמו smbexec או evil-winrm:
הפקודה תבצע חיבור עם NTLM Hash כמזהה גישה במקום סיסמה.