ב-9 בדצמבר 2025, מרכז התגובה לאבטחה של מיקרוסופט (MSRC) הפיל פצצה במהלך "יום התיקונים" החודשי שלו: קריטי פגיעות 0-Day ב-Windows PowerShell, מעקב כ CVE-2025-54100.
עם ציון CVSS של 7.8 (גבוה), פגיעות זו משפיעה על חלק נרחב ממערכת ההפעלה Windows — החל משרתים ישנים ועד לגרסאות Windows 11 העדכניות ביותר. מכיוון ש-PowerShell משולב עמוק במבנה מערכת ההפעלה, פגיעות זו מספקת לתוקפים הזדמנות מסוכנת ל"Living-off-the-Land" (LotL), המאפשרת להם להפעיל קוד זדוני באמצעות כלי מערכת מקוריים ואמינים.
בין אם אתה מנהל מערכות המנהל חוות שרתים או חוקר אבטחה, אין אפשרות להתעלם מהתיקון הזה. מדריך זה מספק פירוט טכני של הפגם, מטריצת התיקונים הרשמית והשינויים הנדרשים בקוד כדי להבטיח את הפעולה הבטוחה של הסקריפטים שלך.
Windows PowerShell 0-Day CVE-2025-54100
ניתוח טכני מעמיק: המכניקה של CVE-2025-54100
כדי להבין את חומרת הבעיה, עלינו לבחון את החולשה הבסיסית: CWE-77 (נטרול לא תקין של אלמנטים מיוחדים המשמשים בפקודה).
הלוגיקה של הפגיעות
הבעיה המרכזית טמונה באופן שבו Windows PowerShell מנקה את קלט המשתמש לפני שהוא מעביר אותו למתורגמן שורת הפקודה. כאשר יישום או סקריפט בונה פקודת PowerShell באמצעות קלט לא מהימן ללא סינון נאות, הוא פותח את הדלת ל הזרקת פקודה.
תרחיש תקיפה (הוכחת היתכנות רעיונית)
הצהרת אחריות: הקוד הבא מיועד למטרות חינוכיות בלבד.
דמיינו סקריפט ניהולי לגיטימי שנועד לקרוא קבצי יומן בהתבסס על קלט המשתמש:
PowerShell
`# תבנית פגיעה $UserInput = Read-Host "הזן שם קובץ יומן"
עם זאת, אם תוקף מנצל את CVE-2025-54100 במערכת שלא עברה תיקון, הוא יכול להזין:
app.log; Start-Process calc.exe
הפרסר, שלא הצליח לנטרל את הפסיק (;), מפרש זאת כשתי פקודות נפרדות:
קרא את היומן:Get-Content C:\\Logs\\app.log
ביצוע מטען:התחל תהליך calc.exe (בתקיפה אמיתית, זה יהיה תוכנת הורדת כופר או משואת C2).
וקטור התקיפה: "מקומי" אך קטלני
מיקרוסופט מסווגת זאת כווקטור תקיפה "מקומי". משמעות הדבר היא שתוקף זקוק בדרך כלל ל:
גישה ברמה נמוכה למערכת, או
לשכנע משתמש להפעיל קובץ זדוני (הנדסה חברתית/פישינג).
לאחר שהצליחו, הם יכולים לנצל הזרקה זו כדי להגדיל את ההרשאות שלהם או לנוע לרוחב הרשת.
Windows PowerShell 0-Day CVE-2025-54100 PoC
מטריצת התיקונים: זיהוי העדכונים הקריטיים
מיקרוסופט פרסמה עדכוני אבטחה דחופים. מנהלי IT צריכים לתת עדיפות מיידית ל-KBs הבאים באמצעות WSUS, SCCM או הורדה ידנית.
גרסת מערכת ההפעלה
חומרה
מזהה תיקון KB קריטי
הערות פריסה
Windows Server 2025
גבוה
KB5072033
נדרשת הפעלה מחדש
Windows 11 (24H2 / 25H2)
גבוה
KB5074204
עדכון מצטבר
Windows Server 2022
גבוה
KB5074204
התקנה בעדיפות
Windows Server 2019
גבוה
KB5074353
–
Windows 10 (22H2)
גבוה
KB5071546
עדכון אבטחה בלבד זמין
Windows Server 2012 R2
בינוני
KB5071544
ESU (תמיכה מורחבת) בלבד
אזהרה קריטית: מכיוון שתוכנה זו משנה את קבצי הבינארי של PowerShell, יש לבצע אתחול מחדש של המערכת. הקפד לתזמן את חלונות התחזוקה בהתאם כדי למנוע הפרעות בשירות.
"תפסתי אותך": תיקון סקריפטים פגומים לאחר תיקון
אבטחה בדרך כלל באה על חשבון הנוחות. העדכונים עבור CVE-2025-54100 (במיוחד בתוך KB5074204 ו KB5074353) להנהיג בקרות אבטחה מחמירות יותר על בקשות אינטרנט.
הבעיה: Invoke-WebRequest כשלים
לאחר התיקון, ייתכן שתבחין כי סקריפטי האוטומציה שלך נכשלים עם השגיאה הבאה:
"לא ניתן לנתח את תוכן התגובה מכיוון שמנוע Internet Explorer אינו זמין, או שתצורת ההפעלה הראשונית של Internet Explorer אינה שלמה."
זה קורה מכיוון שמיקרוסופט סוף סוף מנתקת את הקשר בין PowerShell למנוע הניתוח הישן של Internet Explorer כדי לצמצם את שטח התקיפה.
התיקון: שינוי מבנה הקוד
עליך לעדכן את הסקריפטים שלך כדי להפסיק להסתמך על IE לניתוח DOM. הפתרון הוא לאלץ את השימוש ב- ניתוח בסיסי מצב.
הקוד השבור (מורשת)
PowerShell
# זה מסתמך על מנוע IE, אשר כעת מוגבל או הוסר $response = Invoke-WebRequest -Uri "" Write-Output $response.Content
הקוד המאובטח (שיטות עבודה מומלצות)
PowerShell
# מוסיף את המתג -UseBasicParsing לצורך מהירות, אבטחה ותאימות $response = Invoke-WebRequest -Uri "" -UseBasicParsing Write-Output $response.Content
טיפ למנהלים:
השתמש בחיפוש regex ב-IDE שלך (VS Code / ISE) כדי לסרוק את מאגר הסקריפטים שלך:
מצא:Invoke-WebRequest\\s+(?!.*-UseBasicParsing)
פעולה: הוסף שימוש בניתוח בסיסי למקרים אלה.
הגנה מעמיקה: מעבר לתיקון
תיקון הוא תגובה. כדי להגן מפני התקפות 0-day עתידיות, עליך לאמץ אסטרטגיית "הגנה מעמיקה" עבור PowerShell.
א. אכיפת מצב שפה מוגבלת
עבור משתמשים שאינם מנהליים, PowerShell צריך לפעול ב- מצב שפה מוגבלת. דבר זה מגביל באופן משמעותי את היכולת לקרוא ל-Windows APIs או לקמפל קוד .NET שרירותי.
PowerShell
`# אמת את המצב הנוכחי שלך $ExecutionContext.SessionState.LanguageMode
תפוקה יעד למשתמשים רגילים: ConstrainedLanguage`
ב. הפעל רישום חסימת סקריפטים
התוקפים אוהבים את PowerShell מכיוון שהוא פועל בזיכרון (ללא קבצים). כדי לתפוס אותם, עליך לרשום את הקוד הממשי שמבוצע.
נתיב GPO:תצורת מחשב > תבניות ניהול > רכיבי Windows > Windows PowerShell > הפעל רישום חסימת סקריפטים של PowerShell.
ג. כללי זיהוי SIEM
עדכן את כללי הניטור של SOC שלך כדי לסמן ניסיונות ניצול פוטנציאליים:
היררכיית תהליכים: התראה אם powershell.exe נוצר על ידי יישומי Office (Word, Excel).
טיעונים חשודים: חפש פקודות מעורפלות מאוד או שימוש ב- פקודה מקודדת.
מזהה אירוע 4104: סרוק את יומני בלוק הסקריפט למילות מפתח כמו Invoke-Expression או IEX בשילוב עם שיחות רשת.
החשיפה של CVE-2025-54100 משמשת כתזכורת חדה: זהות ותצורה הן הגבול החדש. הפתרון המיידי הוא יישום עדכוני KB של חודש דצמבר (KB5072033/KB5074204), אך הפתרון לטווח הארוך טמון בחיזוק הסביבה שלך מפני שימוש לרעה בכלים מקוריים.
תוכנית הפעולה שלך:
ביקורת: סרוק את הרשת שלך כדי לאתר נקודות קצה של Windows שלא עודכנו.
תיקון: הטמיעו את עדכוני האבטחה של דצמבר באופן מיידי.
שינוי מבנה: עדכן את סקריפטי האוטומציה שלך כדי להשתמש ב- שימוש בניתוח בסיסי.