
$query) עם פילטר שמחפש אירוע מספר 7 (טעינת DLL) מתוך יומן Sysmon, עם שם ה-DLL הרצוי (mscore.dll, clr.dll - סימן ל-.NET), ומכניסים אותו ל-Get-WinEvent.ForEach-Object שמדפיס כל אירוע מתאים (אפשר גם לבצע פעולות אחרות במקום הדפסה).ImageLoad את include ל-exclude (ריק), ואז לטעון את ההגדרות החדשות מחדש כדי שיתחיל לתעד אירועי טעינת DLL.הטקסט המלא של הדקות הראשונות בהרצאה «פקודת Get-WinEvent חלק 4 - Filter» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בהרצאה הזו אנחנו נלמד לעשות פילטר בעזרת XML על Event Viewer, על יומן האירועים של Windows. אנחנו קודם כל מכריזים על משתנה dollar query.
יכלנו לתת לו כל שם שרוצים. כותבים את הפילטר שאנחנו רוצים בצורה מסוימת שצריך להכיר אותה, ואז מכניסים את המשתנה הזה לתוך הפקודה של Get-WindowsEvents. אחרי שאנחנו לוקחים את כל האירועים שמתאימים לפילטר, אנחנו עוברים אירוע אירוע, for each object, עוברים שורה שורה, ועבור כל שורה מה אנחנו עושים כאן בדוגמה?
שום דבר. רק מדפיסים אותם. היינו יכולים לעשות כל מיני פעולות, הם בחרו רק להדפיס. בואו ננסה לעשות את הדוגמה שלהם ולראות איך זה עובד.
קודם כל אני מעתיק את ה-dollar query, נכנס ל-remote desktop בשרת שלהם. התחברתי ב-VPN לשרתים של Hack The Box ועושה דוגמה על השרת שלהם. שימו לב איזה query פה.
הוא מסנן רק אירועים מספר שבע, event ID שבע, מתוך יומן של Sysmon, שאירוע מספר שבע זה טעינת DLL ואיזה DLL אנחנו רוצים, mscore.dll ו-clr.dll. זאת אומרת טעינה של .NET.
למעשה אנחנו רוצים לקבל אירועים, איזה תוכנות משתמשות ב-.NET, ולבדוק שאין איזושהי תוכנה זדונית, נניח. לעבור שורה שורה ולבדוק שאין תוכנה זדונית. אז זה כמו להיכנס ל-Event Viewer פה בממשק הגרפי.
כמובן שזה אותו דבר גם ב-Windows 11, גם ב-Windows 7, גם ב-Windows 8. כל הווינדוסים זה עובד אותו דבר. יש יומן אירועים גם בגרפי וגם ב-PowerShell. אנחנו כרגע מתמקדים ב-PowerShell, אבל חשוב שתזכרו שאפשר להיכנס לזה גם בממשק גרפי.
אני כותב מהר Sysmon במקלדת וזה מסמן לי ומוצא לי את התיקייה של Sysmon. פשוט לכתוב מהר במקלדת, והנה אנחנו רואים פה את כל יומן האירועים של Sysmon. בואו נבדוק אם יש עוד יומני אירועים שהם לא פעילים כרגע.
אפשר לבוא פה ב-view, ב-show analytics and debug logs, להוסיף עוד יומני אירועים. הנה, הוא מוסיף לי את זה בממשק הגרפי, אבל ב-Sysmon אני לא רואה אותם. כנראה שאין ב-Sysmon עוד יומני אירועים.
הנה ב-stop port יש עוד יומני אירועים, אתם רואים? והיומנים האלו הם לא פעילים עד שאני לא אעשה right click enable log. זאת אומרת הוא גם מוחבא וגם לא פעיל.
כרגע זה פחות מעניין אותי. בואו נבטל את זה. אתם רואים? הוא החביא את היומנים הלא פעילים, ואנחנו ב-Sysmon פה רואים את כל האירועים, ובמקרה שלנו אנחנו רוצים אירוע מספר שבע.
אחד, שלוש עשרה, יש פה הרבה אירועים. אתם רואים? עשרים ושתיים, חמש. מי שרוצה לדעת מה המשמעות של כל אירוע יכול לקרוא על זה כאן למטה או באתר של Microsoft.
לדוגמה, חמש זה תוכנה מסתיימת, אחד זה תוכנה מתחילה. כל מיני אירועים. עשרים ושתיים, שאילתת DNS. אז מה אנחנו מחפשים?
אנחנו מחפשים אירוע מספר שבע. רוצים לסנן רק את האירוע מספר שבע, ובתוך האירוע מספר שבע לסנן רק את הטעינה של DLL-ים של .NET. חשוב להדגיש שאת היכולת הזאת אי אפשר להשיג בממשק גרפי, כי ממשק גרפי מאוד, מאוד מוגבל.
אין לו יכולת לסנן כל מיני דברים כאלו קטנים בתוך אירוע, אז עושים את זה דרך פילטרים ידניים. ונריץ עכשיו את הפקודה Get-WindowsEventFilter ונראה איך זה עובד.
מריצים ומקבלים שגיאה. No events were found. אין אירועים שמתאימים לפילטר שלי. קודם כל זה לא שגיאת כתיב, זה לא איזו שגיאה בפקודה.
הוא פשוט לא רואה event-ים, no events. זאת אומרת הפילטר לא טוב. בואו ננסה לבדוק מה לא טוב בפילטר שלי. נעשה אותו יותר פשוט. ננסה להוריד את כל ה-andים האלו ולראות רק אירוע מספר שבע.