מילון מושגים:
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
תהליך - מופע של תוכנה שרצה בזיכרון, עם הקוד, הנתונים והמשאבים שהוקצו לה על ידי מערכת ההפעלה.
פורט - מספר שמזהה שירות או תהליך מסוים בתוך מחשב, ומאפשר לכוון תעבורת רשת ליעד הנכון. למשל פורט 80 ל-HTTP.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
הסבר על Powercat - Reverse Shells
Reverse shell הוא חיבור שבו המחשב הנפגע הוא שיוזם את החיבור אל מחשב התוקף, ולא להפך. ההרצאה מדגימה את הטכניקה עם הכלי Powercat, וכאן מוצג רק העיקרון ברמה כללית.
עקרון הפעולה
1. כיוון החיבור הפוך: מחשב התוקף ממתין לחיבור נכנס, והמחשב הנפגע יוצר אליו חיבור יוצא.
2. שורת הפקודה עוברת דרך החיבור: אחרי שהחיבור נוצר, הקלט והפלט של שורת הפקודה נשלחים דרכו, ולכן התוקף רואה את התוצאות כאילו יושב מול המחשב.
3. למה זה מצליח: חיבורים יוצאים מהרשת הפנימית מוגבלים לעיתים פחות מחיבורים נכנסים, ולכן חיבור כזה יכול לעבור במקום שבו חיבור נכנס היה נחסם.
זיהוי ומניעה
- ניטור חיבורים יוצאים: תהליך שאינו אמור לפתוח חיבורי רשת, או חיבור יוצא ליעד ולפורט לא מוכרים, הוא סימן לחשד.
- סינון תעבורה יוצאת (egress filtering): מגבילים לאילו יעדים ופורטים מותר לשרתים וללקוחות להתחבר החוצה.
- בקרת יישומים ורישום PowerShell: מונעים הרצה של סקריפטים לא מורשים ומתעדים את פעילות PowerShell כדי לזהות שימוש חשוד.
הבנת העיקרון מאפשרת לזהות חיבור יוצא חשוד לפני שהוא הופך לשליטה מלאה במחשב.
השיעור הבא בקורס: הסבר על Powercat - Bind Shells