מה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?
-
בניתי בעבר סקריפט שמדפיס לקובץ את רשימת האשים של כל מספרי הפלאפון הישראליים
עכשיו אני רוצה לנסות דבר דומה אבל שיחשב את ההאש שבו ווינדוס משתמש כדי לגבב את הסיסמה של המשתמש
ראיתי בכל מיני אתרים הסברים אבל לא הצלחתי להבין בדיוק איך זה עובד
אשמח לקבל הסבר \ קישור למדריך \ ספריה בפייתון
תודה
אגב, אם מישהו מתעניין בקוד - הנה הוא (זה ל sha256 ולמספרים כשרים)import hashlib num = 504100000 hash_file = open("d://hashs.txt", 'w') hash_file.write("list of hashs \n") hash_file = open("d://hashs.txt", 'a') while True: num1 = "0"+str(num) f_hash = hashlib.sha256(num1.encode()).hexdigest() hash_file.write(str(num1) + " : " + f_hash + "\n") num += 1 if num == 504200000: num = 507100000 elif num == 507200000: num = 527600000 elif num == 527700000: num = 533100000 elif num == 533200000: num = 534100000 elif num == 534200000: num = 548400000 elif num == 548600000: num = 553200000 elif num == 553300000: num = 556700000 elif num == 556800000: num = 583200000 elif num == 583300000: break -
פה https://docs.microsoft.com/en-us/windows-server/security/kerberos/passwords-technical-overview?redirectedfrom=MSDN
זה המקור הכי רשמי.
אם אני מבין טוב, במחשב שאיננו בתחום (מחשב רגיל פרטי) מתבצע גיבוב מסוג ML, שמתואר שמה האלגוריתם שלו, אני מתרגם:
א. ביטוי הסיסמה מקוצץ ל14, או מרופד ל14 באמצעות תווים ריקים.
ב. כל האותיות מומרות לרישיות
ג. מפצלים את המחרוזת לשני מחרוזות בנות 7 תווים כל אחת ומשלימים כל אחת בתו ריק כדי שהאורך יהיה 64 ביטים.
ד. מצפינים באלגוריתם DES מחרוזת קבועה מראש ("KGS!@#$%") עם כל מפתח בנפרד, מה שנותן שתי תוצאות בינאריות של 8 בתים כל אחת (שוב 64 ביטים).
ה. משרשרים את שני התוצאות, ונהיה לנו 16 בתים של האש.הנה המחשה ויזואלית יותר עם הסבר איך לתקוף (אבל מ2010...):
https://techgenix.com/how-cracked-windows-password-part1/
ויקיפדיה:
https://en.wikipedia.org/wiki/LAN_Managerאני בשוק רציני שככה זה עובד, ועוד עד היום בWIN10.
אני בטוח מפספס פה משהו. -
@אף-אחד-3 כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
עכשיו אני רוצה לנסות דבר דומה אבל שיחשב את ההאש שבו ווינדוס משתמש כדי לגבב את הסיסמה של המשתמש
-
@dovid כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
אני בטוח מפספס פה משהו.
אולי ההגיון פה, שאם יש למישהו כבר גישה לאכסון של ההאש, זה כבר game over
-
@yossiz אתה בטוח שאפשר לעשות רברס לDES?
-
@מתכנת-לפעמים אני לא מבין את השאלה, האם אתה מתייחס לדבר שאני כתבתי?
-
@yossiz כן, למה זה גיים אובר? כלומר, מה הבעיה בהאש שלהם?
אבל בנתיים קראתי יותר על זה ואני מתחיל להבין. תודה. -
yossizהשיב למתכנת לפעמים ב 8 בספט׳ 2022, 22:07 נערך לאחרונה על ידי yossiz 9 באוג׳ 2022, 22:11
@מתכנת-לפעמים לא יודע מה הצלחת להבין בינתיים, אבל בגדול, הרעיון הוא שאין אלגוריתם בעולם שיכול להיות מוגן נגד מתקפת brute force. אז אי אפשר לומר שאין רברס ל-DES (נראה לי ש-DES נחשב היום ממש חלש, יש את 3DES שיותר טוב)
ובמימוש המסויים של מייקרוסופט עשו כמה טעויות שמקלים מאוד על ה-brute force כמו ההמרה לאותיות רישיות והפיצול לשני חלקיםבכל מקרה התכוונתי שזה גיים אובר מטעם אחר, כי יש לו גישה (כמעט) לכל גם בלי הסיסמה
מישהו העיר לי שצריך את הסיסמה כדי לפענח קבצים מוצפנים באמצעות EFS (הצפנה מובנית של ווינדוס על קבצים יחידים), אז אכן לכאורה זה יכול להיות השלכה אמיתית לעובדה שההצפנה של הסיסמה חלשה -
@yossiz תודה!
-
@yossiz כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
(נראה לי ש-DES נחשב היום ממש חלש, יש את 3DES שיותר טוב)
הערת אגב, היום ה-AES נחשב המקום הראשון של ההצפנות הסימטריות.
-
אני מסכים עם דברי @yossiz כי ברגע שיש לפורץ גישה ל-Hash אז משמע שהוא כבר עם הרשאת מנהל. כי למשתמש רגיל אין גישה (לכאורה) למקום הזה.
אבל בכל אופן זה באמת נראה שיטה גרועה למדי, אבל מיקרוסופט כותבים שהם משתמשים ב-LM לצורכי שמירה על תאימות לאחור עם חומרה ותכנה ישנים שלא יכולים בדרכים יותר חדשות.
The LM OWF algorithm is included in Windows for backward compatibility with software and hardware that cannot use newer algorithms.
-
@קומפיונט כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
כי למשתמש רגיל אין גישה (לכאורה) למקום הזה
אכן צריך הרשאת מנהל כדי לגשת לתיקיה שבה מאוחסן הקובץ
עם דיסק טכנאים וכדו' אפשר לגשת בקלילות לקובץ אא"כ הכונן מוצפן -
@קינג-קומפיוטר כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
עם דיסק טכנאים וכדו' אפשר לגשת בקלילות לקובץ אא"כ הכונן מוצפן
גישה פיזית חיצונית לאחסון זה גישה כבר מוחלטת להכל, וזה בדיוק מה ש@yossiz וגם @קומפיונט התכוונו.
שום מערכת הפעלה לא מוגנת בברירת מחדל במקרה של גישה פיזית, וזה הגיוני: אם אתה מחזיק את המחשב ביד אתה כנראה בעלים שלו. המיעוט שצריך הגנה בכאלה מקרים יכול להשתמש עם תוכנה ייעודית. ההגנה של המערכת הפעלה נועדה למקרה שאין לך גישה פיזית, כלומר או גישה מרוחקת או שהמחשב נעול בכספת ואתה עם גישת משתמש לא מנהל, שם אמור להיות מצב בלתי פריץ.
כעת אני קולט שבמקרה כזה של גישת משתמש לא מנהל אולי Windows מונעת גם גישה לקבצים מוצפנים, אז אין שמה חשש של כח גס. -
@קינג-קומפיוטר כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
אכן צריך הרשאת מנהל כדי לגשת לתיקיה שבה מאוחסן הקובץ
אתה מתכוון לקובץ ה-SAM כנראה, זה הקובץ שמאחסן בתוכו חלק הרג׳יסטרי שמכיל את ההאש
מי שיש לו הרשאות מנהל יכול לבחור אם לגשת ישירות לקובץ ה-SAM ולפענח אותו בכוחות עצמו, או להסלים להרשאות SYSTEM ולגשת דרך הממשקים הרגילים של הרג׳יסטרי@dovid כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
כעת אני קולט שבמקרה כזה של גישת משתמש לא מנהל אולי Windows מונעת גם גישה לקבצים מוצפנים, אז אין שמה חשש של כח גס.
אני לא חושב שזה נכון, (אם לא הייתי עצלן הייתי בודק...) וגם זה לא מתרץ את הטענה, כי ההגנה של ההצפנה מיועד בדיוק עבור מצב שיש לו גישה אופליין (דיסק טכנאים) אחרת היה מספיק הרשאות NTFS
-
@yossiz כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
כי ההגנה של ההצפנה מיועד בדיוק עבור מצב שיש לו גישה אופליין
צודק.
-
@אף-אחד-3 כתב במה האלגוריתם ליצירת ההאש לסיסמה בווינדוס ?:
@קומפיונט התחיל מכאן והמשיך בשביל האתגר
אבל אני עדין לא מבין מה התועלת ברשימה של האשים?
אם נגיד רוצים לבדוק ערך מסוים במהלך brute force אז לוקחים את הערך, מחשבים את ההאש שלו ואז עושים השואה.
מדוע צריך רשימה מוכנה של כל ההאשים?!
3/28