PracticU

יצירת דשבורד בתוך ElasticSearch
חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס SOC - מיישם הגנת סייבר › יצירת דשבורד בתוך ElasticSearch חלק 1
מילון מושגים:
דשבורד - מסך שמרכז נתונים ומדדים חשובים בתצוגה חזותית, לצורך מעקב וקבלת החלטות במבט אחד.
Elasticsearch - מנוע חיפוש וניתוח מבוזר שמאחסן ומאנדקס כמויות גדולות של נתונים לחיפוש מהיר.
VPN - רשת פרטית וירטואלית שיוצרת חיבור מוצפן דרך האינטרנט, כאילו המכשיר מחובר ישירות לרשת מרוחקת.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
אדמיניסטרטור - משתמש בעל הרשאות הניהול הגבוהות ביותר במערכת, שיכול לשנות הגדרות, להתקין תוכנות ולנהל משתמשים אחרים.
SOC - מרכז בקרת אבטחה: צוות ומערכות שמנטרים, מזהים ומגיבים לאירועי אבטחת מידע בארגון.

יצירת דשבורד בתוך ElasticSearch חלק 1
התרגיל המעשי הזה בונה דשבורד ראשון ב-Elasticsearch שמציג את כל הלוגינים הכושלים (failed logon) במערכת. את סביבת התרגול נותן Hack the Box.
השלבים העיקריים
1. הכנה: מתחברים ל-VPN של Hack the Box ויוצרים את המכונה הווירטואלית של התרגול. נכנסים ב-HTTP לכתובת ה-IP שלה בפורט 5601, וממתינים כמה דקות עד שהיא עולה.
2. דשבורד חדש: ב-Analytics מוחקים את הדשבורד המוכן שמציג את התוצאה הסופית, ויוצרים דשבורד חדש עם ויזואליזציה ראשונה.
3. טווח זמן: לפי ההוראות מעבירים את הטווח ל-15 שנים אחרונות, ולא ברבע השעה הרגילה.
4. סינון האירוע: ב-Add filter בוחרים event.code שווה ל-4625, הקוד של Microsoft לאירוע failed logon. אחרי Save רואים רק אירועים כאלה, אבל עדיין אין עמודות מוצגות.
5. הצגת שמות המשתמש: מחפשים בין 490 העמודות של Windows את username.keyword וגוררים אותו לתצוגה. הסיומת keyword נותנת את הערך המקורי כחתיכה אחת, כי כברירת מחדל השדה מפוצל למילים (כמו משה וכהן) כדי לאפשר חיפוש בחלקים.
6. טבלה במקום עמודות: במקום bar vertical בוחרים table. רואים למשל ש-DC1 היו 12 לוגינים לא מוצלחים. המשתמש Administrator היו 4, ושם עם דולר בסוף הוא חשבון מחשב.
7. מספר השורות: כברירת מחדל מוצגות 5 שורות ו-others. בהגדרות העמודה משנים ל-1000 כדי להציג הכול.
8. חיתוך לפי תחנה: מוסיפים את host.hostname.keyword. שורת Administrator מתפצלת: 3 כשלונות מתחנה pow וכשלון אחד מ-dc2. ה-Metric נשאר Count of Records.
9. שמירה: Save and return. את הדשבורד שומרים בשם SoC Alerts ומפעילים את האפשרות לעדכן את הזמן בכל טעינה, כדי שטווח כמו שבוע אחרון יחושב מהרגע הנוכחי ולא מיום יצירת הדשבורד.
שימו לב
התרגיל ממשיך בהרצאה הבאה, שבה משדרגים את הדשבורד בעמודות וסינונים נוספים.
אחרי ההרצאה אפשר לבנות ב-Elasticsearch ויזואליזציית טבלה של לוגינים כושלים לפי משתמש ותחנה.
השיעור הבא בקורס: יצירת דשבורד בתוך ElasticSearch חלק 2

פרקי ההרצאה: יצירת דשבורד בתוך ElasticSearch חלק 1

  1. 00:00

    מטרת הדשבורד - איתור לוגין כושל

  2. 00:52

    מחיקת הדשבורד הקיים

  3. 01:49

    סינון אירוע 4625

  4. 03:05

    הוספת שדה username.keyword

  5. 03:59

    מעבר לתצוגת טבלה

  6. 05:30

    הצגת אלף שורות בטבלה

  7. 06:23

    הוספת עמודת שם המחשב

תמלול ההרצאה: יצירת דשבורד בתוך ElasticSearch חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת דשבורד בתוך ElasticSearch חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, בהרצאה זו אנחנו ניצור דשבורד משלנו בתוך Elasticsearch זאת הולכת להיות הרצאה מעניינת, מעשית מאוד אנחנו בפרק השישי, ומה שצריך לעשות זה ליצור דשבורד שמראה את כל פייד לוגון, את כל הלוגינים הלא מוצלחים לתוך המערכת שלנו קודם כל התחברתי ל-VPN של Hack the Box ירדתי למטה עד הסוף ויצרתי פה מכונה וירטואלית

  2. 00:30

    חדשה למעשה זאת המכונה שלהם עם כל מה שצריך לתרגול הזה. אז יש לנו את ה-IP של המכונה, יש לנו 104 דקות עד שהיא תתחבא לנו.

  3. 00:40

    בואו נעלה למעלה חזרה ונתחיל את התרגול שלנו. קודם כל אנחנו מתחברים ב-HTTP ל-IP הזה של המכונה, 5601, זה בדיוק מה שעשיתי כאן, ואני רואה את הדשבורד של Elasticsearch שעובד.

  4. 00:54

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

  5. 01:09

    אז בואו נעשה את זה. נלך לתפריט הראשי של Elasticsearch. בתוך Analytics יש לנו פה דשבורדים מוכנים, ויש לנו דשבורד אחד מוכן, נעשה עליו V ו-Delete.

  6. 01:20

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

  7. 01:38

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

  8. 02:14

    זה מה שמייקרוסופט נתנו לאירוע של פייד לוגון לוחצים פה add filter אנחנו רוצים event.code is כאילו שווה ל-4625. נעשה סייב והוא סינן לנו מכל המידע שקיים אצלו רק את האירועים האלו.

  9. 02:34

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

  10. 02:59

    אנחנו נחפש username.keyword. למה בסוף נקודה קי-וורד? כי הוא מחבר ביחד את היוזר ואת הניים. זאת אומרת שאם אני רוצה יוזרניים ביחד, את השדה הזה כחתיכה אחת, אז אני צריך בסוף להוסיף נקודה קי-וורד.

  11. 03:17

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

  12. 03:45

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

  13. 04:01

    בואו נראה מה הם מבקשים אחרי זה. אחרי שגררנו את השדה, הם רוצים שנחליף את התצוגה למצב של table, למצב של טבלה. בואו נעשה את זה.

  14. 04:13

    פה במקום bar verticals, נעשה את זה table. table זאת טבלה למעשה, והוא מראה לי את הטבלה עם כל הנתונים, וגם בבארים הוא גם מראה לי את זה כבארים. אם אני רוצה תצוגה נניח dc1 כמה fade logons היו בו.

  15. 04:29

    זאת אומרת שיש לי אפשרות לכל מיני תצוגות שונות של אותו המידע. אתם רואים לדוגמה dc1 היו לו 12 לוגינים לא מוצלחים.

  16. 04:38

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

  17. 04:48

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

  18. 04:57

    בקיצור, הם רוצים שאנחנו נציג את זה בצורת טבלה, ככה אנחנו רואים ש-DC1 היו לו 12 לוגינים לא מוצלחים, אבל שימו לב שיש לנו רק 6 שורות כאן.

  19. 05:09

    למעשה יש לנו 5 שורות של נתונים ו-others 19. הוא מציג לי רק 5 שורות ראשונות ואומר יש עוד 19 שאני לא מציג לך.

  20. 05:18

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

  21. 05:35

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

  22. 05:48

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

  23. 06:04

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

  24. 06:18

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

  25. 06:32

    כרגע אנחנו יודעים שהוא עשה ארבע לוגינים כושלים, אבל אנחנו רוצים לחתוך את זה לפי המחשבים, שנדע מאיזה מחשב, מאיזה תחנה זה קרה. אני כותב hostname ובוחר עמודה חדשה בשם host.hostname.keyword.

  26. 06:48

    אני יכול לגרור אותה לפה ותראו ברגע שאני מוסיף אותה לכאן היא גם מתווספת פה במאפיינים של

לקורס המלא: קורס SOC אונליין – מיישם הגנת סייבר

ההרצאה הקודמת: דוגמאות לשימוש ב-SIEM - חלק 2

ההרצאה הבאה: יצירת דשבורד בתוך ElasticSearch - חלק 2

הרצאות קשורות מקורסים אחרים

  • יצירת POD בתוך - Kubernetes
  • יצירת SCRIPT בתוך GPO
  • יצירת Global State בתוך MobX
  • יצירת מכונה וירטואלית - בתוך ESXi 8

קורסים נוספים במסלול

  • קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP
  • קורס סייבר והאקינג ל-Android - פריצה לטלפונים ואפליקציות אנדרואיד - בודק חוסן - Mobile App Pentesting