אינטליגנציה של נתונים גנרטיביים

חולשת Windows 'MagicDot' מאפשרת פעילות Rootkit ללא פריבילגיה

תאריך:

כובע שחור אסיה – סינגפור – בעיה ידועה הקשורה לתהליך ההמרה של נתיב DOS ל-NT ב-Windows פותחת סיכון משמעותי עבור עסקים בכך שהיא מאפשרת לתוקפים לקבל יכולות שלאחר ניצול דמויות rootkit כדי להסתיר ולהתחזות לקבצים, ספריות ותהליכים.

כך לדברי אור יאיר, חוקר אבטחה ב-SafeBreach, שהתווה את הנושא במהלך מושב כאן השבוע. הוא גם פירט ארבע נקודות תורפה שונות הקשורות לנושא, שאותן הוא המכונה "MagicDot” – כולל באג מסוכן לביצוע קוד מרחוק שניתן להפעיל פשוט על ידי חילוץ ארכיון.

נקודות ורווחים בהמרת נתיב DOS ל-NT

קבוצת הבעיות של MagicDot קיימת הודות לאופן שבו Windows משנה נתיבי DOS לנתיבי NT.

כאשר משתמשים פותחים קבצים או תיקיות במחשבים האישיים שלהם, Windows משיג זאת על ידי הפניה לנתיב שבו הקובץ קיים; בדרך כלל, זהו נתיב DOS העוקב אחר הפורמט "C:UsersUserDocumentsexample.txt". עם זאת, פונקציית בסיס שונה בשם NtCreateFile משמשת למעשה לביצוע פעולת פתיחת הקובץ, ו-NtCreateFile מבקש נתיב NT ולא נתיב DOS. לפיכך, Windows ממירה את נתיב ה-DOS המוכר הגלוי למשתמשים לנתיב NT, לפני קריאת NtCreateFile כדי לאפשר את הפעולה.

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

  • C:exampleexample.   

  • C:exampleexample... 

  • C:exampleexample    

כולם מומרים ל-"??C:exampleexample" בתור נתיב NT.

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

הדמיית Rootkit ללא פריבילגיה

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

למשל, אפשר לנעול תוכן זדוני ולמנוע ממשתמשים, אפילו מנהלים, לבחון אותו. "על ידי הצבת נקודה עוקבת פשוטה בסוף שם קובץ זדוני או על ידי מתן שם לקובץ או ספרייה עם נקודות ו/או רווחים בלבד, אוכל להפוך את כל תוכניות מרחב המשתמש שמשתמשות ב-API הרגיל ללא נגישות עבורם... לא יוכל לקרוא, לכתוב, למחוק או לעשות איתם שום דבר אחר", הסביר יאיר בפגישה.

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

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

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

"אם היה קובץ לא מזיק בשם 'שפיר', הצלחתי [להשתמש בהמרת נתיב DOS-to-NT] כדי ליצור קובץ זדוני באותה ספרייה [שנקראת גם] שפירה", הוא הסביר והוסיף כי אותה גישה יכול לשמש כדי להתחזות לתיקיות ואפילו לתהליכי Windows רחבים יותר. "כתוצאה מכך, כאשר משתמש קורא את הקובץ הזדוני, התוכן של הקובץ המקורי שאינו מזיק יוחזר במקום זאת", מה שמשאיר את הקורבן לא חכם יותר מכך שהם בעצם פותחים תוכן זדוני.

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

"גיליתי שאני יכול להסתיר קבצים ותהליכים, להסתיר קבצים בארכיונים, להשפיע על ניתוח קבצים מראש, לגרום למשתמשי מנהל המשימות ו-Process Explorer לחשוב שקובץ תוכנה זדונית הוא קובץ הפעלה מאומת שפורסם על ידי Microsoft, להשבית את Process Explorer עם מניעת שירות (DoS) פגיעות ועוד", אמר - הכל ללא הרשאות אדמין או יכולת להריץ קוד בקרנל, וללא התערבות בשרשרת קריאות ה-API ששולפות מידע.

"חשוב שקהילת אבטחת הסייבר תזהה את הסיכון הזה ותשקול לפתח טכניקות וכללים לאיתור rootkit חסרי זכות", הזהיר.

סדרה של פגיעויות "MagicDot".

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

פגיעות אחת של ביצוע קוד מרחוק (RCE) (CVE-2023-36396, CVSS 7.8) בלוגיקת החילוץ החדשה של Windows עבור כל סוגי הארכיון החדשים הנתמכים מאפשרת לתוקפים ליצור ארכיון זדוני שיכתוב בכל מקום שהם יבחרו במחשב מרוחק לאחר החילוץ, מה שיוביל לביצוע קוד.

"בעיקרון, נניח שאתה מעלה ארכיון שלך מאגר GitHub לפרסם אותו ככלי מגניב הזמין להורדה", אומר יאיר ל-Dark Reading. "וכשהמשתמש מוריד את זה, זה לא קובץ הפעלה, אתה פשוט מחלץ את הארכיון, שנחשב לפעולה בטוחה לחלוטין ללא סיכוני אבטחה. אבל עכשיו, החילוץ עצמו מסוגל להריץ קוד במחשב שלך, וזה שגוי מאוד ומסוכן מאוד."

באג שני הוא פגיעות של העלאת הרשאות (EoP) (CVE-2023-32054, CVSS 7.3) המאפשר לתוקפים לכתוב לקבצים ללא הרשאות על ידי מניפולציה של תהליך השחזור של גרסה קודמת מתוך עותק צל.

הבאג השלישי הוא Process Explorer Unprivileged DOS עבור באג נגד ניתוח, שעבורו שמור CVE-2023-42757, עם פרטים בהמשך. והבאג הרביעי, גם הוא בעיית EoP, מאפשר לתוקפים חסרי פריבילגיה למחוק קבצים. מיקרוסופט אישרה כי הפגם הוביל ל"התנהגות בלתי צפויה", אך עדיין לא הוציאה CVE או תיקון עבורו.

"אני יוצר תיקיה בתוך תיקיית ההדגמה שנקראת ... ובפנים אני כותב קובץ בשם c.txt", הסביר יאיר. "אז כשמנהלן מנסה למחוק את... תיקיית ההדגמה כולה נמחקת במקום זאת."

השלכות "MagicDot" רחבות יותר

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

"זה אומר שעשויות להיות הרבה יותר פגיעויות פוטנציאליות וטכניקות שלאחר ניצול למצוא באמצעות הבעיה הזו", אומר החוקר ל-Dark Reading. "הנושא הזה עדיין קיים ויכול להוביל להרבה יותר בעיות ופגיעויות, שיכולות להיות הרבה יותר מסוכנות מאלה שאנחנו יודעים עליהן."

הוא מוסיף כי לבעיה יש השלכות מעבר למיקרוסופט.

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

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

"רוב קריאות ה-API ברמה גבוהה ב-Windows תומכות בנתיבי NT", אמר יאיר במצגת שלו. "שימוש בנתיבי NT מונע מתהליך ההמרה ומבטיח שהנתיב המסופק הוא אותו נתיב שבו פועלים בפועל."

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

"יש איתור די קל שאתה יכול לפתח עבור אלה, לחפש קבצים או ספריות, שיש בהם נקודות או רווחים נגררים, כי אם אתה מוצא אותם במחשב שלך, זה אומר שמישהו עשה את זה בכוונה כי זה לא כל כך קל לעשות", אומר יאיר ל- Dark Reading. "משתמשים רגילים לא יכולים פשוט ליצור קובץ עם קצוות עם נקודה או רווח, מיקרוסופט תמנע זאת. תוקפים יצטרכו להשתמש ב-a API נמוך יותר זה קרוב יותר לגרעין, ויצטרך קצת מומחיות כדי להשיג זאת."

ספוט_ימג

המודיעין האחרון

ספוט_ימג

דבר איתנו

שלום שם! איך אני יכול לעזור לך?