PracticU

Meterpreter & Macro in Excel

בלי כתוביותעם כתוביות
PracticU › קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › Meterpreter & Macro in Excel
מילון מושגים:
אקסל - תוכנת גיליונות אלקטרוניים של מיקרוסופט לארגון, חישוב וניתוח נתונים בטבלאות ובנוסחאות.
אנטי וירוס - תוכנה שמזהה, חוסמת ומסירה תוכנות זדוניות מהמחשב, ומנטרת פעילות חשודה.
HTTPS - הגרסה המאובטחת של HTTP, שמצפינה את התקשורת בין הדפדפן לשרת בעזרת TLS ומאמתת את זהות האתר.
ביט - יחידת המידע הקטנה ביותר במחשב, שערכה 0 או 1. שמונה ביטים מרכיבים בייט.
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
קרנל - ליבת מערכת ההפעלה, שמנהלת את החומרה, הזיכרון והתהליכים ומתווכת בינם לבין התוכנות.
תהליכון - יחידת ביצוע בתוך תהליך, המאפשרת להריץ כמה מהלכים במקביל ולחלוק את אותו זיכרון.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.

Meterpreter & Macro in Excel
בשיעור זה מודגם ברמה המושגית כיצד payload של שפת מכונה יכול להיעטף בתוך מסמך אקסל ולרוץ מתוך מאקרו, ומדוע הדרך הזאת נחשפת בקלות על ידי אנטי וירוס. השיעור מתמקד בהבנת המנגנון ולא בביצוע, ומכין את הקרקע לפרקי ההתחמקות.
נושאי הסיכום המוצגים בשיעור:
1. הקמת מאזין: במחשב ההתקפה מוקם Handler שמאזין ומחכה לחיבורים של payload x64 reverse HTTPS. נעשה שימוש בגרסת 64 ביט, בניגוד למדריכים ישנים ברשת שעוסקים ב 32 ביט בלבד.
2. הרצת הכלי בשורה אחת: במקום להיכנס למסוף ולהקליד פקודה פקודה, אפשר להעביר לו מבחוץ שורה אחת של פקודות המופרדות בנקודה פסיק, והוא מריץ אותן ברצף בתוכו. הדגלים קובעים גם שלא יוצג מסך הפתיחה המלא.
3. הגדרות המאזין החשובות: קביעת כתובת ההאזנה, ה payload שיוחזר, ו ExitOnSession כ false, כלומר המאזין אינו עוצר אחרי החיבור הראשון אלא ממשיך להאזין ללקוחות נוספים. האשף מורץ כרקע, Job, כדי שהשורת פקודה תישאר זמינה. פקודת jobs מראה את המאזין הפועל, ו sessions ריק לפני החיבור הראשון.
4. יצירת ה payload בפורמט VBA: יוצאים את אותו payload של reverse HTTPS x64 בפורמט של Visual Basic for Applications, שפת המאקרו של אופיס. חשוב להקפיד על התאמה בין גרסת המאזין לגרסת ה payload, שניהם 64 ביט.
5. מה יש בקובץ ה VBA: המאקרו מייבא פונקציות מ kernel32.dll, ספריית הליבה של מערכת ההפעלה, כמו הקצאת זיכרון ויצירת תהליכון. זה הופך את הקוד לאוניברסלי, כי הוא אינו תלוי ביכולות של Visual Basic אלא משתמש בפונקציות מובנות של המערכת. בתוך הקוד מוטמע מערך המספרים של ה payload בשפת מכונה, זהה כמעט לזה שראינו, עם שינויי תווים קטנים שנועדו לבלבל זיהוי.
6. אופן הפעולה בזיכרון: המאקרו מקצה תאי זיכרון למערך, מעתיק אליהם את כל המספרים, ואז מריץ משם תהליכון, Thread, חדש. תהליכון הוא מיני תוכנית בתוך תוכנית, ולכל תוכנה יש כמה תהליכונים שרצים במקביל.
7. העברת הקובץ והרצה במעבדה: במעבדה הקובץ מוצע דרך שרת קבצים פשוט, ומתוכו מועתק הקוד אל מודול המאקרו של חוברת עבודה ריקה באקסל.
8. דיבאג של מאקרו: בעורך ה VBA אפשר להריץ את הקוד שורה שורה בעזרת Step Into, לעקוב אחר משתנים בעזרת Add Watch, או להריץ רגיל. כדי שהמאקרו יישמר חייבים לשמור את הקובץ בפורמט של חוברת עבודה תומכת מאקרו, XLSM, אחרת המאקרו נזרק בשמירה.
9. התרחיש מנקודת מבט הקורבן: הקובץ מגיע בדואר. אקסל מציג אזהרה ודורש לחיצה על Enable Content. אם המשתמש נופל בפיתוי ומאשר, המאקרו רץ ונפתח חיבור. אחרי האישור הראשון אקסל מריץ את המאקרו אוטומטית בכל פתיחה נוספת של הקובץ, וכל פתיחה נראית כלקוח חדש ופותחת חיבור נוסף.
10. מדוע אקסל אינו המנשא הנוח להמשך: קובץ אופיס הוא בעצם דמוי ארכיון דחוס, כמו זיפ, שעובר תהליך פריקה לפני שהוא עולה לזיכרון, והדיבאגר המובנה של Visual Basic מוגבל. עם הפעלת הגנה בזמן אמת של אנטי הוירוס, הקובץ נחסם מיד.
11. התזה של הפרק: עצם ה payload כתוב בשפת מכונה וה VBA הוא רק אריזה סביבו. מי שמבין מה קורה בשפת המכונה ומאתר את נקודת הזיהוי יכול להתגבר על האנטי וירוס בכל פורמט, אקסל, PowerShell או קובץ הרצה. לכן ההמשך בפרק ייעשה דווקא דרך PowerShell וקובץ הרצה, שהם נוחים יותר לחקירה.
12. הלקח ההגנתי: מסמכים עם מאקרו הם וקטור התקפה קלאסי, והגנה עצמית פשוטה היא לא ללחוץ Enable Content במסמכים שאינם מוכרים, לחסום מאקרו שמגיע מהאינטרנט ולהשאיר את ההגנה בזמן אמת של האנטי וירוס מופעלת.
בשיעור זה הוקם מאזין שמקבל מספר חיבורים, יוצא payload בפורמט מאקרו של אקסל שמקצה זיכרון ומריץ שפת מכונה בתהליכון, נבחנה חוויית הקורבן והחסימה על ידי האנטי וירוס, והוסבר מדוע ההמשך ייעשה דרך מנשאים נוחים יותר לחקירה.
בשיעור הבא נעסוק בנושא Meterpreter & Powershell.
SR12501HE

פרקי ההרצאה: Meterpreter & Macro in Excel

  1. 00:00

    יצירת הנדלר עם msfconsole

  2. 00:38

    הרצת פקודות עם x-

  3. 01:18

    הגדרת המאזין ל-64 ביט

  4. 02:27

    בדיקת ג'ובים וסשנים

  5. 03:02

    יצירת Payload בפורמט VBA

  6. 03:59

    ניתוח קוד ה-Visual Basic

  7. 05:17

    הקצאת זיכרון והרצת Thread

  8. 06:12

    הדגמה בתוך אקסל

תמלול ההרצאה: Meterpreter & Macro in Excel

הטקסט המלא של הדקות הראשונות בהרצאה «Meterpreter & Macro in Excel» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אנחנו ניצור עכשיו הנדלר שיאזין ויחכה לחיבורים אז אני פותח פה טאפ חדש, עושה sudo-s כמובן ואני רוצה גם לטאפ הזה לעשות לו rename למעלה ולכתוב לו הנדלר הנדלר זה שמטפל בפניות של הלקוחות ואני יכול לכתוב msf console ולהפעיל אותו ובפנים לכתוב כל פקודה בנפרד אני הולך להראות לכם שיטה חדשה שנקראת מינוס

  2. 00:27

    x x זה אומר ישר תכתוב במקומי את כל הפקודות שאני אתן לך בסטרינג אחד. אני הולך להגיד לו מבחוץ את כל הפקודות שיכתוב בפנים.

  3. 00:38

    אז במקום שאני אכנס ל-MSF קונסול ידנית, ואחרי זה אכתוב פקודה אחת, פקודה שנייה, אני מכין לו שורה אחת שמריצה את כל הפקודות בפנים. מינוס X מריץ לנו את כל הפקודות בפנים, ומינוס Q לא מציג את המסך היפה, אז מינוס X, ובגרשיים אני נותן לו את כל מה שצריך להריץ ברצף עם נקודה פסיק ביניהם.

  4. 01:01

    זה אומר תיכנס לתוך המסף קונסול תריץ use handler נקודה פסיק set payload נקודה פסיק והוא יריץ לי את כל הפקודות האלו מהר. מה אני הולך להריץ? אני הולך לשים מאזין שמחכה לחיבורים של x64 reverse https שימו לב כל מה שאני עושה זה x64 שזה טוב כי הרבה מדריכים ישנים באינטרנט מדברים רק על 32 ביט אני הולך להראות לכם הכל על 64 ביט.

  5. 01:29

    ואנחנו אומרים לו להזין ב-IP כזה בכתובת הזאת, וזה משהו חדש. Exit on Sessions, לא לצאת כשיש לך חיבור, להמשיך להזין לעוד קליינטים, לעוד חיבורים, שיהיה לך מלא חיבורים, ולא איזה חיבור אחד אתה נכנס אליו ולא מאזין לעוד חיבורים.

  6. 01:48

    Exit on Session, False, אנחנו נראה שיש לנו מלא חיבורים מהרבה לקוחות, כי אנחנו הולכים להריץ תוכנה הרבה פעמים. ו-Exploit-J, זה אומר להריץ את זה כ-Job ברקע.

  7. 01:59

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

  8. 02:23

    והוא עובד בפנים ומחכה לחיבורים. בואו נראה בג'ובס, שיש לנו מאזין, אתם רואים מולטי-הנדלר בג'ובס מאזין, ג'וב מספר 0, וכרגע אין לנו אף סשן.

  9. 02:35

    אז יש לנו פה מאזין, בואו ננסה להריץ אותו בתוך אקסל, להכניס את ה-payload הזדוני הזה, נכון? את הקוד הזדוני הזה, שאמרנו שה-MSF Venom וה-MetaSplot נותנים לנו את ה-payload בתור קוד מכונה, אנחנו ננסה להכניס אותו לתוך אקסל.

  10. 02:55

    אז יש לנו פה מאזין, ופה אנחנו מריצים את הפקודות שלנו. אז אנחנו הולכים לעשות פורמט של VBA, Visual Basic for Applications, זה Visual Basic לתוך האפליקציות, שזה למעשה משהו שאפשר לשתול בתוך אקסל, ואנחנו אומרים לו תשים את הכל בתוך קובץ טקסט הזה.

  11. 03:14

    אז תייצא לנו את ה-reverse HTTPS ב-X64, שימו לב, זה מאוד חשוב להקפיד, כי גם המאזין שלי 64 ביט, אז גם ה-payload שלי חייב להיות 64 ביט, ותעשה לי מזה Visual Basic Script.

  12. 03:28

    בואו נראה, הוא יעשה לי את הסוס הטרויאני בפורמט של Visual Basic for Applications שאפשר יהיה להכניס לאקסל ואנחנו רואים שיש לנו פה קובץ חדש שנוצר בוא נעשה ls הנה יש לנו קובץ בשפת c ויש לנו קובץ הזה שכרגע עשינו אותו בוא נעשה cut ונראה את הקובץ הזה מה הוא עשה לנו פה פקודות בשפת Visual Basic שהנה בבקשה נפתח אוטומט ברגע שאנחנו פותחים

  13. 03:59

    את המסמך ומה הפקודות האלו עושות בוא נראה הפקודות האלו מביאות פונקציות מתוך kernel 32 שזה מאוד מאוד חשוב לנו למה כי הקוד שלנו הוא אוניברסלי והוא לא תלוי בvisual basic כזה או אחר זה משתמש בdll בקוד המובנה במערכת ההפעלה זאת אומרת אני מתוך מערכת ההפעלה משתמש בפונקציה כמו create thread ליצור עוד thread להרצה עוד תוכנה להרצה

  14. 04:31

    וירצ'ואל הלוג זה אומר לתפוס זיכרון ושוב אני לא משתמש בפקודות של וירצ'ואל בייסיק אני משתמש בקוד אוניברסלי שמובנה במערכת ההפעלה בקרנל 32 וזה מאוד מאוד חשוב לי שאני לא קשור לפקודות מסוימות הקוד הוא די אוניברסלי ומה אנחנו רואים פה 72 131 אתם רואים את המספרים האלו אם אנחנו נסתכל טוב טוב אנחנו נראה שזה בדיוק אותו פיילואוד

  15. 05:00

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

  16. 05:26

    הוא לוקח את כל הקוד הזה בשפת מכונה מקציב לו תא בזיכרון virtual הלוקיישן מקציב לו תאי זיכרון לכל המספרים האלו מעתיק אותם לשמה עם הפונקציה שתבינו מאיפה אני יודע מה זה עושה כי זה פונקציה שהיא חלק מהקרנל של מערכת הפעלה אז הוא מקציב זיכרון לתוך הזיכרון הזה מעתיק את כל המערך הזה ואז יוצר לנו thread תוכנה להרצה שהוא מריץ משמה בואו נראה

  17. 05:55

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

  18. 06:19

    ובתוך האקסל הרגיל יש לנו פה View Macros, Macros זה תוכנות, זה קוד שרץ ועוזר למסמך הזה להיראות יותר מגניב, יותר יפה להתחבר לדאטאבייס ואנחנו גם נריץ דברים זדוניים נקרא להם מקרו שלנו סתם אות a ויוצרים קוד מקרו עכשיו זה נקרא מייקרוסופט ויז'ואל בייסיק פור אפליקיישן vba ויז'ואל בייסיק פור אפליקיישן פה אנחנו יכולים לכתוב כל מיני פקודות שירוצו

  19. 06:49

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

לקורס המלא: קורס סייבר למתחילים אונליין

ההרצאה הקודמת: Disassembly Meterpreter

ההרצאה הבאה: Meterpreter & Powershell

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

  • Data Driven Test עם Excel - חלק 1
  • ייצוא לאקסל - Export to Excel
  • יצוא ויבוא נתונים בין Excel לבין SSIS
  • חטיפת RDP Session - שרת 2022 עם Meterpreter

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

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