מילון מושגים:
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.
פורט - מספר שמזהה שירות או תהליך מסוים בתוך מחשב, ומאפשר לכוון תעבורת רשת ליעד הנכון. למשל פורט 80 ל-HTTP.
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
תהליך - מופע של תוכנה שרצה בזיכרון, עם הקוד, הנתונים והמשאבים שהוקצו לה על ידי מערכת ההפעלה.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
הסבר על Powershell - Bind Shell
השיעור עוסק בשיטת bind shell עם PowerShell, שבה מחשב Windows פותח פורט ומחכה לחיבור נכנס, ומחשב אחר מתחבר אליו ומקבל גישה לשורת הפקודה. בשונה מ-reverse shell, כאן החיבור נכנס אל המחשב המותקף, ולכן הוא דורש שפורט יהיה פתוח ונגיש לתוקף.
למה זה חשוב
מחשב שמאזין לחיבורים נכנסים הוא מחשב שמקבל החלטה פתוחה על מי יכול לדבר איתו. בארגון עם הגדרות רשת נכונות, תחנות עבודה לא אמורות לקבל חיבורים מכל מקום, ולכן פתיחת פורט כזה היא סימן ברור לבעיה.
איך מזהים ומונעים
- חסימת חיבורים נכנסים לתחנות עבודה: כלל חומת אש מקומי שחוסם חיבורים נכנסים לתחנות מונע את החיבור גם אם הפורט נפתח.
- הפרדת רשתות: חלוקה לקטעי רשת מצמצמת את מספר המחשבים שיכולים להגיע לתחנה מסוימת.
- ניטור פורטים מאזינים: תהליך מסוג PowerShell או cmd שפותח פורט להאזנה צריך להפעיל התראה.
- תיעוד ופיקוח: כל פורט מאזין צריך להיות מוכר ומאושר לשירות מסוים.
הזיהוי הטוב ביותר הוא לדעת מה אמור להאזין על כל מחשב, ולהתריע כשמשהו חדש מופיע.