PracticU

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

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

איסוף מידע עם Powershell - חלק 2
בשיעור זה אנו ממשיכים בשלב איסוף המידע מהדומיין בעזרת פאוורשל, מאתרים את קבוצות המנהלים בארגון בשתי שיטות, מוצאים תיקייה משותפת שנוצרה על ידי משתמש, מזהים את מערכות ההפעלה ברשת ומשלימים את משימת האתר עד למציאת הדגל המוחבא בשם אחד המשתמשים.
נושאי הסיכום המוצגים בשיעור:
1. שלב האיסוף: אנחנו בשלב ארבע, שנקרא איסוף מידע, ומבקשים לקבל רשימה של קבוצות הדומיין. הרעיון הוא שלוקחים את המשתמשים, מחלקים אותם לקבוצות ולקבוצות נותנים הרשאות.
2. רשימת הקבוצות בעזרת PowerView: מריצים את הפקודה שמביאה את כל הקבוצות מתוך PowerView, ואפשר לסנן ולבקש קבוצות שיש בהן את המילה מנהל. רוצים להתמקד בקבוצות האלה ולראות מי המשתמשים שנמצאים בהן, כי כנראה שמשתמש שנמצא בקבוצת מנהלים, אם אפרוץ אליו, אקבל הרשאות גבוהות.
3. קבוצות המנהלים שמתגלות: מתגלה קבוצת המנהלים, קבוצת מנהלי הווירטואליזציה, ועוד כל מיני קבוצות של מנהלים לפי תחומים, לדוגמה מנהלי DNS ומנהלים של כל הדומיין ושל כל מתחם האבטחה. אלה יהיו היעדים שלנו, האנשים שנמצאים בקבוצות האלו.
4. אותו דבר בפקודות מובנות: אפשר לעשות את אותו דבר גם בלי PowerView, בעזרת פקודות שמובנות בשרת ובתוך המודול של Active Directory של מייקרוסופט. מריצים את הפקודה לשליפת קבוצות, היא שואלת סינון כי זה שדה חובה, ועם כוכבית היא מציגה את כל הקבוצות.
5. תחביר הסינון: אפשר לכתוב סינון חכם יותר: שם השדה, אופרטור דמיון, ואז המילה מנהל עם כוכביות משני הצדדים כדי שלא יהיה אכפת מה שלפני ומה שאחרי. זה דומה ל-SQL, זה התחביר שבו כותבים את הסינונים, ואפשר גם אופרטור של שוויון במקום דמיון. את כל הסינון סוגרים בגרשיים כפולים, ואם צריך בתוך הגרשיים הכפולים עוד גרשיים, שמים זוג גרש בודד.
6. סינון העמודות בעזרת Select: אחרי הסינון מתקבלות המון עמודות, ומעבירים את הפלט בצינור לפקודת הבחירה שבוחרת רק עמודה מסוימת, למשל רק את השם. כך מתקבלת רשימה של קבוצות שבשם שלהן יש את המילה מנהל, ומתוך כל קבוצה מוציאים רק את השם. אפשר היה להוסיף עמודות נוספות לפלט, כמו מזהה האבטחה או סוג האובייקט שכתוב בו קבוצה.
7. המשימה של התיקייה המשותפת: האתר מבקש למצוא תיקייה משותפת שלא נוצרה כברירת מחדל, משהו שמשתמש יצר אותו, ולדעת מה שמה. אפשר להריץ את פקודת איתור השיתופים של PowerView, או לחלופין להשתמש בפקודה של מייקרוסופט להצגת שיתופי רשת. אני אישית מעדיף פקודות של מייקרוסופט כי הן מובנות בכל שרת.
8. זיהוי השיתוף שנוצר על ידי משתמש: בפלט מופיעה עמודת תיאור שנשמרה על כל שיתוף. יש תיקייה אחת בלי תיאור, וניכר שזו סתם תיקייה שהמשתמש יצר, ואילו כל שאר השיתופים שייכים למערכת ונוצרים אוטומטית בשרת. מזלים את שם השיתוף, שולחים את התשובה, והיא נכונה. אם לא היינו מצליחים, יש רמז באתר שמציין איזו פקודה להריץ.
9. שאלת מערכות ההפעלה: השאלה הבאה היא אילו מערכות הפעלה יש ברשת הזאת חוץ משרת 2019. הרמז מעניק את הפקודה, מריצים אותה ומגלים שחוץ משרת 2019 יש ווינדוס 10 בגרסת הארגון, שנראית כגרסה זמנית כי כנראה שלא קנו רישיון. אפשר לשדרג את הפקודה ולבקש שתציג גם את השם של המחשב שבו מותקנת כל מערכת: שתי תחנות ווינדוס 10 ומחשב בקר הדומיין עם שרת 2019.
10. אותה תוצאה בפקודות מובנות: כדי לקבל את אותה תוצאה בלי PowerView, בפקודה הרגילה של מייקרוסופט לשליפת מחשבים עם סינון כוכבית, מתגלה בעיה: הסינון הזה לא חושף את שם מערכת ההפעלה, כי הפקודה נותנת רק את השדות החשובים ולא את כל המידע. פותרים זאת בעזרת בקשה לכל המאפיינים, ואז מתגלה שדה שנקרא מערכת הפעלה. כל השדות האלה נשלפים מתוך מאגר מרכזי, מסד הנתונים שמחזיק נתונים על כל מחשב ועל כל משתמש מתוך Active Directory.
11. הפלט המסונן: מריצים את פקודת שליפת המחשבים עם סינון כוכבית שלא מסנן שום אובייקט, בכל אובייקט שולפים את כל השדות ולא רק את החשובים, ומעבירים את כל הפלט בצינור לפקודת הבחירה שבוחרת רק את עמודות השם ומערכת ההפעלה. מעתיקים את התוצאה, שולחים אותה ועונים נכון על השאלה.
12. השאלה האחרונה והדגל: השאלה האחרונה היא איפה מוחבא דגל בתוך אחד המשתמשים. פורמט הדגל הוא אותיות בתוך סוגריים מסולסלות ומספרים או אותיות. מסתכלים על רשימת המשתמשים, רואים שם מוזר עם סוגריים מסולסלות שדומה מאוד לדגל שהם רצו, לוקחים את שם המשתמש הזה, מנסים את מזלנו ומצליחים. סיימנו את כל משימה שנייה.
13. הצעד הבא: יש לנו שני ניצחונות, ובסרטון הבא נעשה את המשימה השלישית של הכלי הגרפי, שהוא כלי מדהים שחייבים להכיר אותו. באתר נשארו רק שמונה דקות לפני שהמכונה תיחסם, ולכן מוסיפים עוד שעה.
בשיעור הבא נעסוק בנושא התקנת BloodHound.
בסוף השיעור אספנו בשתי שיטות את קבוצות המנהלים ואת מערכות ההפעלה ברשת, מצאנו את התיקייה המשותפת שנוצרה על ידי משתמש והשלמנו את משימת האתר עד למציאת הדגל המוחבא.
SR12879HE

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

  1. 00:00

    איסוף רשימת הקבוצות

  2. 00:40

    סינון קבוצות הניהול

  3. 01:16

    עבודה עם מודול Active Directory

  4. 02:38

    בחירת עמודות לפלט

  5. 03:36

    זיהוי תיקיות משותפות

  6. 04:14

    גילוי מערכות ההפעלה

  7. 04:48

    שאילתת Get AD Computer

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

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

  1. 00:02

    אוקיי אנחנו עכשיו בשלב 4. Enumerate, לאסוף מידע, לקבל רשימה של Domain Groups של כל הקבוצות. לוקחים את היוזרים האלו, מחלקים אותם לקבוצות ולקבוצות נותנים הרשאות.

  2. 00:16

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

  3. 00:34

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

  4. 00:54

    זה למעשה הולך להיות הטארגט שלי, האנשים שנמצאים בקבוצות האלו. גם כאן אני רוצה להראות לכם איך אפשר לעשות את זה בלי Power View אלא על ידי פקודות שמובנות בשרת ובתוך מודול של Active Directory של מייקרוסופט יש Get AD Group אני עושה Get AD Group שוב הוא שואל אותי פילטר כי זה שדה חובה אני עושה

  5. 01:14

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

  6. 01:29

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

  7. 02:11

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

  8. 02:35

    יש מילת admin ומתוך כל קבוצה אני מוציא רק את השם של הקבוצה נניח אם הייתי רוצה seed הייתי יכול להוסיף עמודה הזאת של seed לפלט הייתי יכול גם להוסיף עמודה של distinguish name או כל עמודה שאני רוצה לפלט נניח אני רוצה שזה יהיה כתוב גם מילת group אז אני יכול להגיד לא או שאני רוצה פה Object Class, Seed, אז הוא כותב לי שזה Group,

  9. 03:03

    השם של הקבוצה ואת ה-Security ID שלה. את כל הפקודות אפשר למצוא כאן, והם אומרים, בוא נראה אותך, מוצא לי Shared Folder, שהיא לא נוצרה בי דיפולט, משהו שיוזר יוצר אותו.

  10. 03:17

    מה השם של ה-Shared Folder הזה? של תיקייה משותפת. אז אני יכול לעשות פה InvokeShareFinder שזה שוב פקודה של PowerView, או לחלופין אני יכול להשתמש בפקודה של מייקרוסופט, get smb share.

  11. 03:31

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

  12. 03:48

    כל שאר השיתופים אני רואה שהם שייכים למערכת ונוצרים אוטומטית בשרת. בואו ננסה את המזל שלנו, נכניס לפה את השם של השיתוף ונלחץ submit והוא אומר לי your answer is correct הצלחנו דרך אגב אם לא היינו מצליחים יש לנו פה רמז מה הרמז invoke sharefinder איזה פקודה להריץ עכשיו הוא שואל אותי מה השם של מערכות הפעלה חוץ משרת 2019 שיש ברשת הזאת אם אני אעשה

  13. 04:14

    לו רמז הוא גם ייתן לי את הפקודה בוא נריץ את הפקודה שלו ואנחנו רואים פה שחוץ משרת 2019 יש windows 10 enterprise זה אומר שזו גרסה זמנית כי הם לא רצו לקנות רישיון כנראה.

  14. 04:28

    אני יכול גם לשדרג את הפקודה ולהגיד לו תוסיף לי גם name ותכתוב לי באיזה מחשב בדיוק מה מותקן. יש דסקטופ 1 ווינדוס 10, דסקטופ 2 ווינדוס 10 ומחשב שנקרא domain controller עם שרת 2019. עכשיו אם אני רוצה את אותה התוצאה אבל בלי power view אלא רק עם power של הרגיל של מייקרוסופט אני כותב

  15. 04:50

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

  16. 05:06

    למה? כי הוא לא נותן לי את כל המידע,

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

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

ההרצאה הבאה: התקנת BloodHound

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

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

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

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