PracticU

איסוף מידע עם Powershell - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › איסוף מידע עם Powershell - חלק 1
מילון מושגים:
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
קבוצה - אוסף של משתמשים או אובייקטים שמנוהלים יחד, כדי להעניק הרשאות או הגדרות משותפות בבת אחת.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
SSH - פרוטוקול לחיבור מרוחק ומוצפן למחשב, בעיקר לשרתי Linux, לצורך ניהול דרך שורת הפקודה.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.

איסוף מידע עם Powershell - חלק 1

בשיעור זה אנו מתחילים לאסוף מידע על Active Directory מתוך מחשב קורבן שפרצנו אליו, כדי להבין מה מתרחש בתוך הארגון, ומבצעים Enumeration ראשוני של משתמשי הדומיין בשתי דרכים.
נושאי הסיכום המוצגים בשיעור:
1. היעד שלנו: ביצוע Enumeration של Active Directory מתוך מחשב שפרצנו אליו, כדי להבין מי המשתמשים, מי המחשבים, מי הקבוצות עם ההרשאות הגבוהות ומי מנהלי הרשת, ולהחליט כיצד להמשיך מכאן.
2. המידע שכבר בידינו: כתובת ה-IP של הקורבן, שם משתמש, סיסמה ושם הדומיין, מתחם האבטחה המרכזי של הארגון, שבדוגמה קיבל שם מוזר שאינו שם חברה טיפוסי.
3. הכלי PowerView: אוסף של סקריפטים ב-PowerShell שמסייעים לבצע Enumeration של הדומיין, והשלב הראשון הוא להפעיל PowerShell ולאפשר הרצת סקריפטים, מכיוון שכברירת מחדל מותר להריץ פקודה בודדת בלבד ולא סקריפט שלם.
4. החיבור לקורבן: מסביבת התקיפה נכנסים דרך חיבור SSH ישיר אל הקורבן, שבו מותקן שירות SSH, מה CMD הרגיל עוברים ל-PowerShell ונכנסים לתיקיית ההורדות שבה נמצא סקריפט PowerView.
5. טעינת הסקריפט לזיכרון: במקום להריץ את הסקריפט משתמשים בטעינה לזיכרון, טכניקה הנקראת dot sourcing, שבה כל הפונקציות שבסקריפט נטענות אל ה-PowerShell הנוכחי והופכות זמינות לשימוש ישיר.
6. Enumeration של משתמשי הדומיין ב-PowerView: הפקודה הראשונה מחזירה מידע עשיר על כל משתמש בדומיין, כולל שמו, המספר הסידורי שלו בעולם האבטחה ועוד פרטים רבים, ובאמצעות העברת הפלט בצינור אל פקודת בחירה ניתן להציג עמודות מסוימות בלבד, כגון השמות הקנוניים או בתוספת המזהה הסידורי.
7. הדרך השנייה, המודול המובנה של מיקרוסופט: PowerView היה מאוד חזק בימים שהפונקציות המובנות של Active Directory היו דלות, אך כיום המודול המובנה בשרת מספיק טוב, והפקודה שלו מאחזרת משתמשים לפי מסנן, שסימן כלשהו משמעו את כולם, ומציג כברירת מחדל את העמודות החשובות, וגם בה ניתן לסנן עמודות בצינור ולהוסיף עמודות נוספות לפי הצורך.
לסיכום, בשיעור זה פתחנו את שלב איסוף המידע ברשת הארגון, התחברנו לקורבן דרך SSH, טענו את PowerView לזיכרון בטעינת dot sourcing, קיבלנו רשימת משתמשים עם מידע מלא או מסונן, והכרנו גם את הפקודות המובנות של מיקרוסופט ב-Active Directory שמאפשרות את אותה איסוף מידע, כאשר המשך החקירה יימשך בשיעור הבא. SR12872HE

פרקי ההרצאה: איסוף מידע עם Powershell - חלק 1

  1. 00:00

    מטרת איסוף המידע על Active Directory

  2. 00:41

    כלי PowerView לאיסוף נתוני דומיין

  3. 01:36

    טעינת סקריפט לזיכרון עם Dot Sourcing

  4. 02:14

    שליפת רשימת המשתמשים בדומיין

  5. 02:52

    סינון עמודות הפלט עם Select

  6. 03:52

    מודול Active Directory המובנה בשרת

  7. 04:46

    בחירת שדות ספציפיים מהפלט

תמלול ההרצאה: איסוף מידע עם Powershell - חלק 1

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

  1. 00:02

    שלום לכולם בהרצאה הזו אנחנו רוצים להתחיל לאסוף מידע על Active Directory דרך מחשב של יוזר שפרצנו אליו להבין באיזה ארגון אנחנו נמצאים מי הם מנהלי הרשת לאן ממשיכים מכאן בקיצור אנחנו צריכים לעשות Enumeration של Active Directory להבין מה קורה בתוך הארגון הזה יש לנו את ה-IP של הקורבן, את ה-Username, את הסיסמה ויש לנו את השם של הדומיין, שם

  2. 00:29

    של מתחם אבטחה מרכזי שם של Active Directory שנקרא קונטרולר האמת שהם נתנו שם קצת מוזר קונטרולר לרוב נותנים שם של ארגון שם של חברה והם רוצים שנשתמש בכלי שנקרא Power View שזה אוסף של סקריפטים ב-PowerShell שעוזרים לנו לעשות Enumeration של הדומיין זה אומר לאסוף מידע מי הם המשתמשים מי הם המחשבים מי הם הקבוצות עם הרשאות גישה גבוהות יותר אדמיניסטרטורים והשלב הראשון

  3. 01:00

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

  4. 01:25

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

  5. 01:43

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

  6. 02:14

    אנחנו בשלב השלישי של אנמיורייט דומיין יוזרס לאסוף מידע לקבל רשימה של כל המשתמשים בדומיין במתחם האבטחה הזה אז הפקודה היא getnet user שזה פקודה רק בעולם של powerview והוא מחזיר לי מידע על כל אחד מהמשתמשים תסתכלו כמה מידע יש פה מתי הוא נכנס איך קוראים לו מספר

  7. 02:39

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

  8. 03:04

    בפאוורשל לבחור עמודה מסוימת ואני רוצה עמודה cn שימו לב זה מה שכתוב פה באתר לבחור רק את ה-cn cn זה ראשי תיבות של canonical names שזה למעשה השמות של יוזרים.

  9. 03:17

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

  10. 03:26

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

  11. 03:40

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

  12. 04:02

    אז מייקרוסופט עשו לנו פקודה get active directory user זה מודול של אקטיב דירקטורי שהוא כבר מובנה בשרת ואפשר להשתמש בו ישירות בלי power view בכלל מייקרוסופט פעם היו גרועים בזה היום הם מאוד מאוד השתפרו get active directory user לוחץ enter הוא שואל אותי איזה פילטר אתה רוצה איך אתה רוצה לסנן את כל היוזרים אני עושה לו כוכבית זה אומר את כולם והוא מראה

  13. 04:28

    לי פלט שדומה לפלט שראינו לפני כן יוזר מסוים רווח עוד יוזר רווח עוד יוזר דרך אגב ברירת מחדל הוא לא מראה לי את כל העמודות שיש לו אלא רק את העמודות החשובות גם כאן אני רואה שיש לי פה given name נניח sql ואז אני יכול להגיד לו להראות לי את הכל פילטר כוכבית זה שדה חובה אחרת הוא ישאל אותי ולהעביר את הפלט בפייפ ולבחור נניח רק את הגיוון ניים

לקורס המלא: מבדקי חדירה ל‑Active Directory

ההרצאה הקודמת: הרשמה לאתר TryHackMe

ההרצאה הבאה: איסוף מידע עם Powershell - חלק 2

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

  • איסוף מידע על שרתים - theHarvester
  • אבטחת מידע
  • PowerShell Versions
  • בדיקות אבטחת מידע

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

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