בשבוע שעבר, Progress Software Corporation, המוכרת תוכנות ושירותים לפיתוח ממשק משתמש, devops, ניהול קבצים ועוד, התריעה ללקוחות על כך. העברת MOVEit הקשורים MOVEit Cloud מוצרים על א פגיעות קריטית דיבוב CVE-2023-34362.
כפי שהשם מרמז, MOVEit Transfer היא מערכת שמקלה לאחסן ולשתף קבצים בכל צוות, מחלקה, חברה או אפילו שרשרת אספקה.
בה מילים משלו, "MOVEit מספקת שיתוף פעולה מאובטח והעברות קבצים אוטומטיות של נתונים רגישים ויכולות אוטומציה מתקדמות של זרימת עבודה ללא צורך ב-scripting."
למרבה הצער, הקצה הקדמי מבוסס האינטרנט של MOVEit, המקל על שיתוף וניהול קבצים באמצעות דפדפן אינטרנט בלבד (תהליך שנחשב בדרך כלל פחות נוטה לקבצים מכוונים שגויים או "אבודים" מאשר שיתוף שלהם באמצעות דואר אלקטרוני), התברר כבעל SQL פגיעות בהזרקה.
הזרקות SQL מוסברות
באגים בהזרקת SQL מבוססי אינטרנט מתעוררים בעת הגשת בקשת HTTP לשרת אינטרנט מומר בצורה לא מאובטחת לפקודת שאילתה המונפקת לאחר מכן על ידי השרת עצמו לבצע חיפוש מסד נתונים כדי להבין איזו תשובת HTTP לבנות.
לדוגמה, חיפוש במסד הנתונים שמופעל מדף אינטרנט עשוי להסתיים ככתובת אתר המבוקשת על ידי הדפדפן שלך, שנראית כך:
https://search.example.com/?type=file&name=duck
טקסט השאילתה duck
לאחר מכן ניתן היה לחלץ מפרמטר השם בכתובת ה-URL, להמיר אותו לתחביר שאילתת מסד הנתונים, ולתפור אותו לפקודה להגשה לשרת מסד הנתונים.
אם נתוני הקצה האחורי מאוחסנים במסד נתונים של SQL, שרת האינטרנט עשוי להמיר כתובת URL זו לפקודת SQL כמו זו שמוצגת להלן.
השמיים %
תווים שנוספו לטקסט duck
פירוש הדבר שמונח החיפוש יכול להופיע בכל מקום בשם הקובץ שאוחזר, ותווי המירכאות הבודדים בכל קצה מתווספים כסמנים לציון מחרוזת טקסט של SQL:
בחר שם קובץ FROM filesdb שם שם כמו '%duck%'
לאחר מכן ניתן יהיה לעצב את הנתונים שחוזרים מהשאילתה בצורה יפה, להמיר ל-HTML, ולשלוח בחזרה כתשובת HTTP לדפדפן שלך, אולי לתת לך רשימה לחיצה של קבצים תואמים להורדה.
כמובן, שרת האינטרנט צריך להיות זהיר מאוד עם שמות הקבצים הנשלחים כמונח חיפוש, למקרה שמשתמש זדוני יוצר ויבקש כתובת URL כזו:
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
אם מונח החיפוש הזה הומר באופן עיוור למחרוזת שאילתה, ייתכן שתוכל להערים על שרת האינטרנט לשלוח לשרת SQL פקודה כזו:
בחר שם קובץ FROM filesdb שם שם כמו '%duck';DROP TABLE filesdb;--%'
כי נקודה-פסיק (;
) פועל כמפריד משפט ב-SQL, פקודה זו בשורה אחת זהה למעשה לשליחת שלוש פקודות רצופות:
בחר שם קובץ FROM filesdb שם שם LIKE '%duck' -- מתאים לשמות הסיום duck DROP TABLE filesdb -- מוחק את כל מסד הנתונים --%' -- הערה, לא עושה כלום
בערמומיות, כי כל אחרי --
נמחק על ידי SQL כהערה של מתכנת, שלוש שורות אלו זהות ל:
בחר שם קובץ FROM filesdb היכן שם כמו '%duck' שחרר טבלה filesdb
תקבל בחזרה רשימה של כל שמות הקבצים במסד הנתונים המסתיימים במחרוזת duck
(תו ה-SQL המיוחד %
בתחילת מונח חיפוש פירושו "להתאים כל דבר עד לנקודה זו")...
...אבל אתה תהיה האדם האחרון שיוציא משהו מועיל מה- filesdb
מסד נתונים, מכיוון שמונח החיפוש הנוכל שלך יעקוב אחר החיפוש עם פקודת SQL כדי למחוק את כל מסד הנתונים.
שולחנות בובי קטנים
אם אי פעם שמעתם סיאדמינים או קודנים עושים בדיחות על שולחנות בובי קטנים, זה בגלל שסוג זה של הזרקת SQL הונצחה ב-an קריקטורה XKCD חזרה בשנת 2007:
ככל שהקריקטורה מסתיימת בפריים האחרון, אתה באמת צריך לחטא את קלט מסד הנתונים שלך, כלומר אתה צריך להיזהר מאוד לא לאפשר לאדם ששולח את מונח החיפוש לשלוט כיצד פקודת החיפוש מתפרשת על ידי שרתי הקצה המעורבים המעורבים.
אתה יכול לראות מדוע סוג זה של טריק מכונה התקפת הזרקה: בדוגמאות למעלה, מונחי החיפוש הזדוניים גורמים להחדרת פקודת SQL נוספת לטיפול בבקשה.
למעשה, שתי הדוגמאות הללו כוללות שתי פקודות שהוזרקו, בעקבות תו "ציטוט קרוב" שהוכנס בערמומיות כדי לסיים את מחרוזת החיפוש מוקדם. הפקודה הנוספת הראשונה היא ההרסנית DROP TABLE
הוראה. השני הוא "פקודה הערה" שגורמת להתעלמות משאר השורה, ובכך אוכלת בעורמה את הנגרר %'
תווים שנוצרו על ידי מחולל הפקודות של השרת, שאם לא כן היה גורם לשגיאת תחביר ומונע את ההזרקה DROP TABLE
פקודה מעבודה.
חדשות טובות וחדשות רעות
החדשות הטובות במקרה זה הן ש-Progress תיקנה את כל גרסאות ה-MOVEit הנתמכות שלה, יחד עם השירות מבוסס הענן שלה, ברגע שהיא הייתה מודעת לפגיעות.
לכן, אם אתה משתמש בגרסת הענן, אתה כעת מעודכן אוטומטית, ואם אתה מפעיל את MOVEit ברשת משלך, אנו מקווים שתיקנת עד עכשיו.
החדשות הרעות הן שהפגיעות הזו הייתה יום אפס, כלומר פרוגרס גילתה את זה בגלל שהחבר'ה הרעים כבר ניצלו אותה, ולא לפני שהם הבינו איך לעשות זאת.
במילים אחרות, בזמן שתיקנתם את השרתים שלכם (או ש-Progress תיקנתם את שירות הענן שלה), ייתכן ונוכלים כבר הזריקו פקודות נוכלות למסדי הנתונים האחוריים של MOVEit SQL, עם מגוון תוצאות אפשריות:
- מחיקת נתונים קיימים. כפי שמוצג לעיל, הדוגמה הקלאסית להתקפת הזרקת SQL היא הרס נתונים בקנה מידה גדול.
- סינון של נתונים קיימים. במקום להפיל טבלאות SQL, התוקפים יכולים להזריק שאילתות משלהם, ובכך ללמוד לא רק את המבנה של מסדי הנתונים הפנימיים שלך, אלא גם לחלץ ולגנוב את החלקים העסיסיים ביותר שלהם.
- שינוי נתונים קיימים. תוקפים עדינים יותר עשויים להחליט להשחית או לשבש את הנתונים שלך במקום (או גם) לגנוב אותם.
- השתלת קבצים חדשים, כולל תוכנות זדוניות. תוקפים יכולים להחדיר פקודות SQL שבתורן מפעילות פקודות מערכת חיצוניות, ובכך להשיג ביצוע קוד שרירותי מרחוק בתוך הרשת שלך.
קבוצה אחת של תוקפים, כביכול על ידי מיקרוסופט כדי להיות (או להיות קשורה) לכנופיית תוכנות הכופר הידועה לשמצה של קלופ, ככל הנראה השתמשו בפגיעות זו כדי להשתיל מה שידוע בשם קליפות רשת בשרתים המושפעים.
אם אינך מכיר את webshells, קרא את שלנו מסביר אנגלית פשוטה שפרסמנו בזמן התקפות HAFNIUM הבעייתיות במרץ 2021:
סכנת קליפת רשת
במילים פשוטות, קונכיות רשת מספקות דרך לתוקפים שיכולים להוסיף קבצים חדשים לשרת האינטרנט שלך לחזור מאוחר יותר, לפרוץ בפנאי שלהם ולאפשר גישה לכתיבה בלבד לשלט רחוק.
Webshells פועלות מכיוון שרתי אינטרנט רבים מתייחסים לקבצים מסוימים (בדרך כלל נקבעים לפי הספרייה שבה הם נמצאים, או לפי הסיומת שיש להם) כאל סקריפטים הניתנים להפעלה משמש ליצירת הדף לשליחה חזרה, במקום בתור התוכן בפועל לשימוש בתשובה.
לדוגמה, IIS (שרת מידע באינטרנט) של מיקרוסופט מוגדר בדרך כלל כך שאם דפדפן אינטרנט מבקש קובץ שנקרא, למשל, hello.html
, אז התוכן הגולמי והלא מותאם של אותו קובץ ייקרא וישלח חזרה לדפדפן.
אז, אם יש בזה תוכנה זדונית כלשהי hello.html
הקובץ, אז זה ישפיע על האדם שגולש לשרת, לא על השרת עצמו.
אבל אם הקובץ נקרא, נגיד, hello.aspx
(כאשר ASP הוא קיצור של הביטוי המתאר את עצמו דפי שרת פעילים), אז הקובץ הזה יטופל כתוכנית סקריפט להפעלת השרת.
הפעלת הקובץ כתוכנה, במקום פשוט לקרוא אותו כנתונים, תיצור את הפלט שיישלח בתשובה.
במילים אחרות, אם יש בזה תוכנה זדונית כלשהי hello.aspx
הקובץ, אז זה ישפיע ישירות על השרת עצמו, לא על האדם שגולש אליו.
בקיצור, הפלת קובץ webshell כתופעת הלוואי של התקפת הזרקת פקודה פירושה שהתוקפים יכולים לחזור מאוחר יותר, ועל ידי ביקור בכתובת האתר התואמת לשם הקובץ של אותה webshell...
...הם יכולים להפעיל את התוכנה הזדונית שלהם ישירות בתוך הרשת שלך, מבלי להשתמש בשום דבר יותר חשוד מאשר בקשת HTTP צנועת שנעשתה על ידי דפדפן אינטרנט יומיומי.
ואכן, חלקי webshells מורכבים משורה אחת בלבד של סקריפט זדוני, למשל, פקודה אחת האומרת "קבל טקסט מכותרת HTTP ספציפית בבקשה והפעל אותו כפקודה מערכת".
זה נותן גישת פקודה ושליטה למטרות כלליות לכל תוקף שיודע את כתובת ה-URL הנכונה לבקר, ואת כותרת ה-HTTP הנכונה לשימוש להעברת הפקודה הנוכלית.
מה לעשות?
- אם אתה משתמש MOVEit, ודא שכל המופעים של התוכנה ברשת שלך מתוקנים.
- אם אתה לא יכול לתקן עכשיו, כבה את הממשקים מבוססי האינטרנט (HTTP ו-HTTP) לשרתי MOVEit שלך עד שתוכל. כנראה שפגיעות זו נחשפת רק דרך ממשק האינטרנט של MOVEit, לא דרך נתיבי גישה אחרים כגון SFTP.
- חפש ביומנים שלך עבור קבצי שרת אינטרנט שנוספו לאחרונה, חשבונות משתמש חדשים שנוצרו והורדות נתונים גדולים באופן בלתי צפוי. ל-Progress יש רשימה של מקומות לחיפוש, יחד עם שמות קבצים ולחיפוש.
- אם אתה מתכנת, חיטא את התשומות שלך.
- אם אתה מתכנת SQL, השתמשו בשאילתות עם פרמטרים, במקום ליצור פקודות שאילתה המכילות תווים הנשלטים על ידי האדם ששולח את הבקשה.
בהרבה, אם לא רוב, התקפות מבוססות webshell שנחקרו עד כה, ההתקדמות מעידה שכנראה תמצא קובץ webshell נוכל בשם human2.aspx
, אולי יחד עם קבצים זדוניים שזה עתה נוצרו עם א .cmdline
סיומת.
(מוצרי Sophos יאתרו וייחסמו קבצי webshell ידועים כ Troj/WebShel-GO, אם הם נקראים human2.aspx
או שלא.)
זכור, עם זאת, שאם תוקפים אחרים ידעו על יום האפס הזה לפני יציאת התיקון, ייתכן שהם הזריקו פקודות שונות, ואולי עדינות יותר, שלא ניתן לזהות כעת על ידי סריקה אחר תוכנות זדוניות שהושארו מאחור, או חיפוש עבור שמות קבצים ידועים שעלולים להופיע ביומנים.
אל תשכח לעיין ביומני הגישה שלך באופן כללי, ואם אין לך זמן לעשות זאת בעצמך, אל תפחד לבקש עזרה!
למידע נוסף בנושא Sophos Managed Detection and Response:
ציד, איתור ותגובה של איומים 24/7 ▶
חסר לך זמן או מומחיות לטפל בתגובה לאיומי אבטחת סייבר? חוששים שאבטחת סייבר תסיח את דעתך מכל שאר הדברים שאתה צריך לעשות?
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 15%
- 2021
- a
- יכול
- אודות
- בנוגע לזה
- מֵעַל
- מוּחלָט
- גישה
- חשבונות
- השגתי
- מעשים
- ממשי
- למעשה
- להוסיף
- הוסיף
- נוסף
- מתקדם
- להשפיע על
- חושש
- לאחר
- תעשיות
- להתיר
- לאורך
- כְּבָר
- גם
- an
- ו
- כל
- דבר
- בְּכָל מָקוֹם
- לְהוֹפִיעַ
- ARE
- AS
- At
- לתקוף
- המתקפות
- מחבר
- המכונית
- אוטומטי
- באופן אוטומטי
- אוטומציה
- מודע
- בחזרה
- קצה אחורי
- רקע תמונה
- רע
- BE
- הפך
- כי
- היה
- לפני
- מאחור
- להלן
- בעיוורון
- לחסום
- בובי
- גבול
- שניהם
- תַחתִית
- הפרה
- לשבור
- דפדפן
- דפדוף
- באגים
- אבל
- by
- נקרא
- הגיע
- CAN
- יכולות
- אשר
- זהיר
- קָרִיקָטוּרָה
- מקרה
- לגרום
- גרם
- גורמים
- מרכז
- מסוים
- שרשרת
- אופי
- תווים
- קלאסי
- ענן
- קוד
- שיתוף פעולה
- צֶבַע
- איך
- מגיע
- הערה
- חברה
- להשלים
- מחובר
- רצופים
- נחשב
- לבנות
- תוכן
- לִשְׁלוֹט
- נשלט
- להמיר
- הומר
- תַאֲגִיד
- תוֹאֵם
- יכול
- קורס
- לכסות
- לִיצוֹר
- נוצר
- קרוקס
- לקוחות
- אבטחת סייבר
- נתונים
- נתוני פרה
- מסד נתונים
- מאגרי מידע
- להחליט
- אספקה
- מַחלָקָה
- זוהה
- איתור
- נחוש
- צעצועי התפתחות
- דופים
- אחר
- ישירות
- לְהַצִיג
- לשבש
- do
- עושה
- לא
- להורדה
- הורדות
- ירידה
- נשמט
- דיבוב
- כל אחד
- מוקדם
- קל
- אמייל
- סוף
- שגיאה
- אֲפִילוּ
- אי פעם
- כל יום
- דוגמה
- דוגמאות
- לבצע
- הוצאת להורג
- קיימים
- מומחיות
- לנצל
- חשוף
- הארכה
- חיצוני
- נוסף
- עובדה
- מוכר
- רחוק
- חשבתי
- שלח
- קבצים
- ראשון
- לעקוב
- הבא
- בעד
- מצא
- מסגרת
- החל מ-
- חזית
- חזיתי
- כְּנוּפִיָה
- כללי
- מטרה כללית
- בדרך כלל
- ליצור
- נוצר
- יצירת
- גנרטור
- לקבל
- נותן
- נתינה
- טוב
- גדול
- קְבוּצָה
- היה
- טיפול
- יש
- נשמע
- גובה
- לקוות
- לרחף
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- ציד
- if
- Iis
- in
- כולל
- מְתוֹעָב
- מידע
- לְהַזרִיק
- תשומות
- במקום
- מִמְשָׁק
- ממשקים
- פנימי
- אינטרנט
- אל תוך
- לערב
- מעורב
- הפיקו
- IT
- שֶׁלָה
- עצמו
- רק
- רק אחד
- ידוע
- גָדוֹל
- בקנה מידה גדול
- אחרון
- מאוחר יותר
- לשגר
- למידה
- עזבו
- פחות
- כמו
- קו
- קווים
- רשימה
- נראה
- בדיקה
- עשוי
- לעשות
- עושה
- עשייה
- תוכנות זדוניות
- לנהל
- הצליח
- ניהול
- רב
- צעדה
- שולים
- תואם
- max-width
- מאי..
- אומר
- משמעות
- אומר
- מיקרוסופט
- יכול
- יותר
- רוב
- שם
- שם
- שמות
- צורך
- צרכי
- רשת
- חדש
- חדש
- חדשות
- נוֹרמָלִי
- שום דבר
- עַכשָׁיו
- of
- כבוי
- on
- פעם
- ONE
- רק
- or
- להזמין
- אחר
- אַחֶרֶת
- שלנו
- הַחוּצָה
- תוצאות
- תפוקה
- שֶׁלוֹ
- עמוד
- פרמטר
- חלקים
- תיקון
- פול
- אוּלַי
- אדם
- מקומות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- עמדה
- אפשרי
- הודעות
- כנראה
- תהליך
- מוצרים
- תָכְנִית
- מְתַכנֵת
- התקדמות
- לספק
- מספק
- לאור
- גם
- שאילתות
- לצטט
- רכס
- ransomware
- במקום
- חי
- חומר עיוני
- קריאה
- בֶּאֱמֶת
- קָשׁוּר
- קרוב משפחה
- מרחוק
- תשובה
- לבקש
- בקשתי
- בקשות
- תגובה
- REST
- סקירה
- תקין
- הפעלה
- ריצה
- אותו
- לומר
- אומר
- סריקה
- סקריפטים
- חיפוש
- חיפוש
- שְׁנִיָה
- לבטח
- לִרְאוֹת
- מוכר
- לשלוח
- שליחה
- רגיש
- נשלח
- שרות
- שירותים
- שיתוף
- שיתוף
- קצר
- לְהַצִיג
- הראה
- בפשטות
- יחיד
- So
- עד כה
- תוכנה
- מוצק
- כמה
- מיוחד
- ספציפי
- SQL
- SQL Injection
- התחלה
- הצהרה
- חנות
- מאוחסן
- מחרוזת
- מִבְנֶה
- להגיש
- הוגש
- כזה
- מציע
- לספק
- שרשרת אספקה
- נתמך
- חשוד
- SVG
- תחביר
- מערכת
- שולחן
- לקחת
- נבחרת
- טווח
- מונחים
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- הֵם
- דברים
- זֶה
- איום
- שְׁלוֹשָׁה
- בכל
- זמן
- ל
- חלק עליון
- להעביר
- העברות
- מַעֲבָר
- שָׁקוּף
- טיפול
- מופעל
- תור
- הסתובב
- שתיים
- עד
- עדכן
- כתובת האתר
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- ממשק משתמש
- באמצעות
- בְּדֶרֶך כְּלַל
- גרסה
- באמצעות
- לְבַקֵר
- פגיעות
- היה
- דֶרֶך..
- we
- אינטרנט
- דפדפן אינטרנט
- שרת אינטרנט
- המבוסס על האינטרנט
- שבוע
- טוֹב
- היו
- מה
- מתי
- אם
- אשר
- מי
- כל
- למה
- יצטרך
- עם
- לְלֹא
- מילים
- תיק עבודות
- להתאמן
- זרימת עבודה
- אוטומציה זרימת עבודה
- עובד
- מודאג
- היה
- אתה
- עצמך
- זפירנט