PracticU

Disassembly Meterpreter

בלי כתוביותעם כתוביות
PracticU › קורס סייבר למתחילים - Hacking - בדיקות חוסן תשתיתי ופריצה ל-Windows 10/11 - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › Disassembly Meterpreter
מילון מושגים:
אנטי וירוס - תוכנה שמזהה, חוסמת ומסירה תוכנות זדוניות מהמחשב, ומנטרת פעילות חשודה.
וירוס - תוכנה זדונית שמשכפלת את עצמה ומתפשטת ממחשב למחשב, ועלולה לפגוע בקבצים או בפעולת המערכת.
HTTPS - הגרסה המאובטחת של HTTP, שמצפינה את התקשורת בין הדפדפן לשרת בעזרת TLS ומאמתת את זהות האתר.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
הקסדצימלי - שיטת ספירה בבסיס 16, המשתמשת בספרות 0-9 ובאותיות A-F, ונפוצה לייצוג ערכים בינאריים בקצרה.
בינארי - ייצוג מידע בבסיס 2 בעזרת הספרות 0 ו-1. גם קובץ הכולל קוד מכונה ולא טקסט קריא.
מעבד - יחידת העיבוד המרכזית של המחשב, שמבצעת את הפקודות של התוכניות ומנהלת את החישובים.
ביט - יחידת המידע הקטנה ביותר במחשב, שערכה 0 או 1. שמונה ביטים מרכיבים בייט.

Disassembly Meterpreter
בשיעור זה פותחים את פרק התחמקות מאנטי וירוס עם הסבר על מה שעומד מאחורי הקלעים של ה payload. המטרה לא לבצע מתקפה אלא להבין מה ה payload באמת מכיל, ומדוע הכרת הפנים שלו היא התנאי לכל עבודת הסוואה שתבוא אחר כך.
נושאי הסיכום המוצגים בשיעור:
1. ייצוא ה payload לשפת C: את ה payload מייצאים בפורמט של שפת C לקובץ, עם הגדרות ההתחברות שלו, כמו reverse HTTPS אל הכתובת והפורט המוגדרים. השפה כאן היא רק אמצעי להצגה, וה payload ייוצא בהמשך הקורס בפורמטים נוספים.
2. מה יש בקובץ: בתוך הקובץ מופיע מערך, סוגריים מרובעים ורשימה של מספרים כתובים בייצוג הקסדצימלי. אין שם קוד קריא, אלא רק מספרים, וזה בדיוק התוכן האמיתי של ה payload.
3. הבנת הייצוג ההקסדצימלי: הערך 0x בתחילת מספר מסמן בסיס שישה עשר. במחשבון של Windows במצב מתכנת אפשר לראות את אותם מספרים בכל הבסיסים: בהקסדצימלי מתווספות האותיות A עד F, כך ש 10 הוא A ו 11 הוא B, ובבינארי המספר מוצג כאפסים ואחדות. למשל הערך 48 בהקסדצימלי הוא 72 עשרוני, ו 43 הוא 67 עשרוני. אין כאן שום דבר מפחיד, רק מספרים רגילים בייצוג אחר.
4. המערך הוא שפת מכונה: כל המספרים במערך הם פקודות בשפת מכונה, שפת האפסים והאחדות שהמעבד מבין ישירות. שפת המכונה כתובה בצורה הנוחה ביותר למעבד והכי פחות קריאה לבן אדם.
5. אסמבלר ודיסאסמבלר: אסמבלר הוא ההליך שהופך פקודות קריאות לשפת מכונה, ודיסאסמבלר עושה את ההפוך, הופך שפת מכונה חזרה לפקודות אסמבלר שאפשר לקרוא. אסמבלר היא השפה הקרובה ביותר לשפת המכונה. כלי מקוון מקבל את המספרים, שואל אם מדובר בתקן 32 ביט או 64 ביט, ומפרש את כל המערך לפקודות קריאות, למשל הערך 4150 בהקסדצימלי הוא פקודת דחיפה אל אחד האוגרים.
6. מדוע כל זה נחוץ: אנטי הוירוס מכיר את ה payload הזה לפי חתימות, הוא יודע לזהות את המספרים המדויקים האלה. לכן כדי להתחמק ממנו צריך להיכנס לתוך המערך, להבין מה כל פקודה עושה ולשנות משהו, למשל תו אחד במקום הנכון, כדי שהבדיקה של חתימות לא תזהה את הקוד והפעולה תישאר חוקית מבחינת המעבד. זהו היסוד לכל העבודה בפרק הזה.
בשיעור זה ייצאנו payload לקובץ C, ראינו שהוא מערך של מספרי הקסדצימלי, למדנו לקרוא את הייצוג הזה בעזרת המחשבון, הבנו שהמערך הוא שפת מכונה, ופירקנו אותה בעזרת דיסאסמבלר לפקודות אסמבלר קריאות, וכך הבנו מדוע ההיכרות עם הפנים של ה payload היא תנאי לשינוי שיעבור את בדיקת החתימות של האנטי וירוס.
בשיעור הבא נעסוק בנושא Meterpreter & Macro in Excel.
SR12500HE

פרקי ההרצאה: Disassembly Meterpreter

  1. 00:00

    ייצוא ה-Payload לשפת C

  2. 00:38

    הצצה לתוך קובץ ה-Payload

  3. 01:18

    הבנת מספרים בקסדצימלי

  4. 02:35

    המערך של שפת המכונה

  5. 03:13

    פענוח עם Disassembler

תמלול ההרצאה: Disassembly Meterpreter

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

  1. 00:02

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

  2. 00:22

    מה עומד שם מאחורי הקלעים ואני מייצא את הכל לקובץ שנקרא מטרפריטר שפת CX64 בפורט 8443 זאת אומרת עשיתי את הקוד הזדוני בפורמט של שפת סיד, הכנסתי את הכל לקובץ טקסט ובפנים יש את הסוס הטרויאני שמריץ reverse HTTPS ומתחבר ל-IP שלי.

  3. 00:46

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

  4. 01:16

    לפחד מאקסה אנחנו מפעילים מחשבון במצב פרוגרמר מתכנת סתם דוגמא אני נותן לכם מספר 10 אז שימו לב באקסה זה אות A זאת אומרת באקסה כשאנחנו עוברים למצב אקסה מתווספות לנו פה אותיות שכאשר כל עוד זה למעשה מספר. לדוגמה, מספר b זה 11, מספר c זה 12. אנחנו יכולים לספור מספרים בכל מיני צורות, לדוגמה, בינארי 1, 1, 0, 1.

  5. 01:43

    אתם רואים, נשאר לנו פה 1, 0, 1, 0, 1, 1. לדוגמה, אני כותב פה 1, 0, 1, 1, אז הוא אומר לי שזה מספר 11, וב-x הזה b, מספר 11 זה b.

  6. 01:57

    אמרנו, 10 זה a, 11 זה b, ואחרון, דרך אגב, מה זה מספר אחרון? זה חמש עשרה. בוא נעשה עוד דוגמא, נעבור לאקסה.

  7. 02:06

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

  8. 02:20

    אז יש לנו פה מספרים, המספר הראשון זה שבעים ושתיים, שזה למעשה המספר השני, המספר השלישי זה שמונים ושלוש, בואו נראה מה זה שמונים ושלוש, אז בואו נעשה 43 באקסה ונראה שבדצימאלי זה 67. 48 ו-43 זה 72 ו-67.

  9. 02:40

    למעשה, מה אנחנו רואים פה? אנחנו רואים פה מספרים רגילים לגמרי. עכשיו, איפה הקוד הזדוני? מה זה המספרים האלו? וכל המספרים האלו נכנסים לאיזשהו מערך.

  10. 02:52

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

  11. 03:16

    פותחים דבדפן אונליין x64 או x86, זה 32 ביט, זה 64 ביט, אסמבלר אנד דיסאסמבלר. בגלל שהמעבדים מקבלים טייקן שנקרא x64, 64 אנחנו יכולים גם בלי מעבד הזה להפוך את השפת מכונה שלו למשהו שיותר קריא לנו אז אסמבלר זה להפוך את הפקודות הרגילות לשפת מכונה ודיסאסמבלר פקודות של שפת מכונה כמו אלו לפקודות רגילות שאנחנו יכולים להבין

  12. 03:51

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

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

ההרצאה הקודמת: עקרונות הפעולה של אנטי וירוס Windows Defender

ההרצאה הבאה: Meterpreter & Macro in Excel

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

  • חטיפת RDP Session - שרת 2022 עם Meterpreter

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

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