PracticU

שמירת Payload מוצפן

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

שמירת Payload מוצפן
בשיעור זה משלימים את המצפין שנבנה בשיעור הקודם, וממירים את מערך הבייטים המוצפן שנוצר בזיכרון לטקסט מסודר בפורמט זהה לזה של ה payload המקורי, ושומרים אותו בקובץ, כהכנה להטמעתו בתוכנת ההרצה.
נושאי הסיכום המוצגים בשיעור:
1. נקודת המוצא: בשיעור הקודם נבנתה לולאת הצפנה שלקחה את מערך ה Buffer של ה payload, כ 200 אלף בייטים של שפת מכונה, והצפינה אותו לפי מפתח סודי אל מערך חדש באותו גודל בשם Encrypted.
2. מה צריך לבנות: יש להפוך את המערך המוצפן לטקסט בדיוק באותו פורמט של המקור, מילת פתיחה, מערך של מספרים שלפני כל אחד מופיעה הקידומת של הקסדצימלי, המספר עצמו בשתי ספרות הקסדצימליות, ופסיק בין המספרים, ובסוף הסוגר המסיים.
3. הכלי לבניית הטקסט: לשם כך נעשה שימוש במחלקה של בונה מחרוזות, שמאפשרת להוסיף טקסט וערכים בצורה נוחה עד לקבלת הטקסט הסופי. כדי שהמהדר יכיר אותה מוסיפים בראש הקובץ שורת שימוש במרחב השמות המתאים. מרחב שמות הוא אוסף של מחלקות.
4. בניית שורת הפתיחה: עם הכלי מוסיפים קודם את הטקסט הקבוע של שורת ההגדרה, ואז את המספר שהוא אורך המערך, ואז את הסוגריים, וכך נוצרת שורת הפתיחה הזהה למקור.
5. לולאת הפלט: לולאה שנייה רצה על כל המערך המוצפן, ובכל סבב מוסיפה לבונה המחרוזות את הטקסט הקבוע של הקידומת, ואז בסוגריים מסולסלות מגדירה את העיצוב, לקחת את הארגומנט הראשון שאחרי הפסיק, להציג אותו כמספר הקסדצימלי בדיוק בשתי ספרות, ואחר כך פסיק. הסוגריים המסולסלות הן הסיבה לשימוש בבונה המחרוזות, כי הן מאפשרות עיצוב אוטומטי של כל מספר.
6. שורת הסיום: אחרי הלולאה מתווסף סוגריים מסיימים ופסיק, בדיוק כמו בסוף הטקסט המקורי, כדי שהפלט יהיה שווה מבנה למקור ויתאים להחלפה ישירה.
7. הדפסה ושמירה: את הטקסט המוכן אפשר להדפיס על המסך וגם לשמור לקובץ טקסט בשם המתאים, בתיקייה של קובץ ההרצה. השמירה נעשית בעזרת מחלקת הקבצים, וגם לה נדרשת שורת שימוש במרחב השמות של קלט ופלט. העורך עצמו מציע את השורה הדרושה כשמזהה שמחלקה לא מוכרת.
8. הרצה ובדיקה: אחרי בנייה מחדש אפשר להריץ את קובץ ההרצה גם בלחיצה כפולה מתוך התיקייה, בלי סביבת הפיתוח. הפלט מוצג על המסך ונשמר לקובץ. מכיוון שהדפסת 200 אלף תווים איטית ומיותרת, משמיטים את ההדפסה למסך ומשאירים רק את השמירה לקובץ.
9. התוצאה: נוצר קובץ טקסט שבו אותו מבנה כמו המקור, אבל כל המספרים בתוכו מוצפנים לפי המפתח הסודי, ואיש אינו יכול לזהות בו את החתימות של ה payload המקורי. פסיק מיותר אחרון אינו מפריע.
10. ההמשך במסלול העבודה: את הטקסט המוצפן מעתיקים אל הפרויקט השני, זה שיפתח את ההצפנה ויריץ את ה payload. את קובץ ההרצה של אותו פרויקט ישלחו ללקוח הסופי, כך שהטרויאן שמגיע אליו מכיל בליבו את הקוד הזדוני מוצפן, והאנטי וירוס שיסרוק אותו בעת קבלתו לא יעלה על דבר. בשיעור הבא נבנה את העוטף שיבצע פענוח והרצה.
בשיעור זה השלמנו את המצפין, הפכנו את מערך הבייטים המוצפן לטקסט מסודר בפורמט זהה למקור בעזרת בונה מחרוזות ועיצוב אוטומטי, שמרנו אותו לקובץ טקסט, והעברנו אותו אל פרויקט ההרצה העתידי.
בשיעור הבא נעסוק בנושא הרצת Payload מוצפן.
SR12529HE

פרקי ההרצאה: שמירת Payload מוצפן

  1. 00:00

    חזרה על לולאת ההצפנה

  2. 00:38

    פורמט הפלט הרצוי

  3. 01:13

    הכרת StringBuilder

  4. 02:15

    בניית שורת הפתיחה

  5. 03:07

    מעבר על המערך המוצפן

  6. 04:04

    תבנית הצגה בקסדצימלי

  7. 05:01

    הרכבת הטקסט הסופי

תמלול ההרצאה: שמירת Payload מוצפן

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

  1. 00:02

    שלום לכולם, בהרצאה הקודמת עשינו לולאה הזאת, לולאת 4 הזאת, שהצפינה לנו את המערך buff שיש בתוכו את ה-payload שלנו, את ה-201,000 בתים שלנו של הקוד הזדוני, של המטרפריטר, אז עשינו לולאת 4 הזאת שהצפינה לנו את המערך הזה כדי שהאנטיווירוס לא יעלה עלינו, שמרנו הכל בתוך encrypted שזה מערך מוצפן באותו הגודל, אתם יכולים

  2. 00:29

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

  3. 00:56

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

  4. 01:25

    קודם כל אני רוצה להשתמש בכלי עזר שנקרא סטרינג בילדר שזה עוזר לי לבנות את הטקסט בצורה יותר נוחה ואני לוקח את הסטרינג בילדר הזה אני קורא לו hex דרך אגב צריך להגיד לו שישתמש בספרייה using system.txt מה זה הusing? זה ה-namespace זה אוסף הקלאסים אוסף המחלקות אז פה למעלה הוא הוסיף לי אתם

  5. 01:53

    רואים system.txt ובתוך system.txt יושב הסטרינג בילדר הזה יופי עכשיו הוא מכיר אותו מה אנחנו עושים אנחנו דבר ראשון עושים לו הקסה פן תוסיף להקס הרקע הזה תוסיף לסטרינג הרקע הזה את המילים האלו byte buff שווה new byte buff מה זה המילים האלו ואת המספר את האורך למעשה אני עושה לו את השורה הראשונה

  6. 02:18

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

  7. 02:38

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

  8. 02:48

    יופי, זה הפתיח שלי. עכשיו אני רוצה שנרוץ עוד פעם בלולעת 4 על כל מספר מ-0 עד encrypted.length. זה אומר אנחנו רצים על כל המערך המוצפן שלנו, ועבור כל ספרה במערך המוצפן, אנחנו עושים אנחנו נעשה דבר פשוט אנחנו נעבור ספרה ספרה זה ככה ונשמור אותה אבל לא סתם נשמור

  9. 03:13

    אותה נשמור אותה בפורמט של אקסה ככה כותבים את זה אני אומר לו תתחיל ב-0x יכלתי פה לרשום מה שאני רוצה a a b b b תתחיל במילים 0x אחרי זה סוגריים מסולסלים זה בעצם פקודה לסטרינג בילדר לקחת משהו במיקום ה-0 מה זה מיקום ה-0 זה האיבר הזה Encrypted במקום ה-i, זה הממלא מקום שלו.

  10. 03:41

    אז Encrypted במקום ה-i נכנס פה ב-0, ולהציג אותו כמספר באקסה, אתם רואים x2, זה אומר מספר באקסה, x זה אומר אקסה, 2 זה אומר בדיוק שני מקומות.

  11. 03:55

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

  12. 04:07

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

  13. 04:22

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

  14. 04:35

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

  15. 05:01

    נקודה פסיק למה החלטתי בסוף בסוף לשים סוגר נקודה פסיק כי אני אני מנסה לבנות טקסט בדיוק כמו הטקסט הזה שמתחיל בדבר כזה אחרי זה יש לי 0x במספר דו ספרתי אחרי זה פסיק ובסוף בסוף מה יש לנו בסוף בסוף אם נרד לסוף ctrl end לחצתי יש לנו בסוף הסוגר הזה זה מה שאני מנסה לבנות אני מנסה לבנות בדיוק כזה טקסט לייצא אותו ודרך אגב זה הפסיק הזה שהולך להיות בין המספרים

  16. 05:32

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

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

ההרצאה הקודמת: הצפנת Payload

ההרצאה הבאה: הרצת Payload מוצפן

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

  • שמירת Fragment Instance
  • שמירת ערך חוזר מהשרת
  • שמירת זמנים ותאריכים ב-SQL
  • שמירת מידע בטלפון - Storage

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

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