OWASP ZAP - פרוקסי התקפת זד

(של סימון דומיני)
17/08/21

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

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

אם במקום לחפש פורטל סרטים אחר, נתעכב על האירוע המוזר ההוא, בעזרת גוגל נוכל לגלות שגורם לרעה זו הוא דמות הכלולה במחרוזת "האיש שידע יותר מדי": האפוסטרוף.

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

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

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

לכן? למרבה המזל, ישנם כלים חינמיים כגון OWASP ZAP (Zed Attack Proxy), כלי שנוצר בהתאם לעקרונות של קרן OWASP (פרויקט אבטחת יישומי אינטרנט פתוחים) על מנת להציע לכולם את האפשרות לנתח את היישומים והאתרים שלהם, מה שהופך אותם ליותר בטוח.

ZAP הוא כלי בהישג יד של כולם, מהמשתמש הכי חסר ניסיון ועד איש המקצוע בענף; הוא בעל קוד פתוח ומכיל את רוב הפגיעויות שעדיין קיימות ומתעדכן כל הזמן על ידי קהילה ייעודית.

התקנה

כאמור, ZAP הוא קוד פתוח, שעבורו ניתן להוריד בחינם בקישור הזה (https://www.zaproxy.org/download/); התנאי היחיד שהוא דורש הוא הנוכחות של Java 8+ שאפשר לגרום לכל המודולים שלו לעבוד. אחת המוזרות שלה היא דווקא היותו זמין לסוגים רבים של פלטפורמות ומערכות הפעלה, וגרסה שאפשר להשתמש בה גם ב- Raspberry זמינה.

לאחר ההורדה, הליך ההתקנה הוא ממש פשוט ואינטואיטיבי.

Funzionamento

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

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

ה- ZAP Spider מנתח כל פיסת קוד ומקטלג את מה שהוא מוצא בהתאם לחומרת וסוג הפגיעות; כל אזהרה ניתנת להרחבה ומצוידת בהסבר קצר ובקישור לאתר מידע מפורט יותר (בנוסף לאסטרטגיות להימנע מהפגיעות המזוהה).

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

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

הסריקה פעילה

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

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

הפעלות ודוחות

בכל שימוש, ZAP שואל את המשתמש אם הוא מתכוון ליצור הפעלה פעילה של הניתוח שעומדת להתבצע או זמנית. הגורם המפלה בבקשה נעוץ בשימוש שאתה רוצה לעשות בנתונים שייאספו: בפגישה פעילה כל הסריקות מאוחסנות באופן מקומי כדי לנתח אותן לעומק יותר במועד מאוחר יותר.

השוק

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

להסיק

ZAP הוא חלק מהמשפחה הגדולה של "כלי PenTesting" (בדיקת חדירה) ובעצם מדמה תוקף שבאמת רוצה למצוא פגיעות ולנצל אותה: אני לא חושב שאין טעם לזכור את ההשלכות הפליליות אם הכלי הזה משמש ללא אישור מפורש מבעלי האתר המדובר.

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

מידע נוסף:

https://www.zaproxy.org/

https://www.zaproxy.org/docs/

https://www.zaproxy.org/community/

https://owasp.org/

https://www.difesaonline.it/evidenza/cyber/cyber-defence-programmare-sicurezza-%C3%A8-la-base-di-tutto

https://www.difesaonline.it/evidenza/cyber/injection-broken-authentication-ed-xss-i-principali-rischi-cyber

https://www.difesaonline.it/evidenza/cyber/sicurezza-e-devops-cosa-vuol-dire-shift-left