
הטקסט המלא של הדקות הראשונות בהרצאה «יצירת תעודה דיגיטלית ויצירת Payload» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, אנחנו רוצים להתחיל להצפין את הפיילואוד בואו נתחיל לדבר איזה שלבים אנחנו הולכים לעבור כדי להצפין את הפיילואוד המקורי, את הקוד הזדוני המקורי נצפין אותו, וככה האנטיווירוס לא יעלה על החתימה שלו הוא לא יזהה אותו ברגע ההפעלה תוך כדי שאנחנו נדבר על השלבי עבודה ונעשה
אותם אני רוצה להתחיל פה בווינדוס 10 להתחיל להתקין ויזואל סטודיו כי זה לוקח הרבה זמן אז אני כותב ויזואל סטודיו, שימו לב יש קוד שזאת הגרסה המצומצמת אני לא רוצה את הוויז'ואל סטודיו קוד את הגרסה הקטנה החינמית שרצה גם על לינוקס ועל ווינדוס
אני רוצה את הוויז'ואל סטודיו שהוא לא קוד אלא המלא זה ממש ממש מבלבל יש שתי גרסאות אז זה נקרא ויז'ואל סטודיו פול פיצ'רד איי.די.אי סביבת פיתוח מלאה ולא קוד יש גרסת קומיוניטי שכוללת הכל free for individual developers חינמית למפתח בודד והיא כוללת הכל אז זה מה שאנחנו נעשה נתקין אותה עוד פעם אני מדגיש שזה לא הקוד אלא הגרסה
המלאה למרות שגם הקוד היא טובה אני מעדיף את הגרסה המלאה היא חינמית גרסת קומיוניטי בלבד בתוך ויז'ואל סטודיו יש הרבה רכיבים אנחנו צריכים רק שני רכיבים c-sharp ו-c++ יש להם גם רכיבי פיתוח לאנדרואיד ולאתרי וב ולפתח משחקים זה סביבת פיתוח מאוד מאוד עשירה היא מאוד מאוד גדולה בגלל זה אני רוצה להתחיל להתקין אותה ותוך כדי אנחנו נעשה את כל שאר הדברים כמו לייצר תעודה דיגיטלית בקאלי על כל זה
אנחנו הולכים לדבר עוד דקה אני פשוט רוצה פה שהוא יתחיל לעבוד בוא נעשה לו פה מקסימיז כן זהו אז תראו יש פה רכיב sp.net ל-web development יש פה פיתוח לענן פיתוח לפייתון פיתוח שרת ב-node.js פיתוח לדסקטופ, לשולחנות העבודה ב-C-Sharp, זה מה שאני צריך, .NET Desktop Development, גם C++ אני אצטרך בעתיד,
וכל השאר אני כבר לא צריך. לדוגמה, C++ לטלפונים ולאייפונים ולגיימינג ולדאטאבייסים, זה כל מיני רכיבים בסביבת פיתוח. אני שם רק שני Vים, על C-Sharp ו-C++ לדסקטופ.
יופי, ויש פה אינסטול למטה, שימו לב, 12 ג'יגה של התקנה אז הוא יתחיל לעשות לי אינסטול וזהו עד שהוא עושה אינסטול אנחנו הולכים לקאלי מה אנחנו צריכים לעשות בקאלי אז תראו אנחנו רוצים לייצר קודם כל תעודה דיגיטלית למה אנחנו צריכים תעודה דיגיטלית כי ברגע התחברות של הפיילורד של הקוד הזדוני לשרת שליטה שזה
הקאלי שלי שהוא שולט על הקורבן ומקבל ממנו חיבור ברגע החיבור עצמו התקשורת היא לא מוצפנת, רואים את התעודה הדיגיטלית עצמה עוברת, וצריך לוודא שהתעודה הדיגיטלית היא אמיתית כמו שצריך, כי תעודה דיגיטלית שמייצר לי קאלי עצמו היא מזויפת ואנטיווירוס יודע לעלות עליה.
אז בגלל שרגע החיבור אפשר עדיין לראות את התעודה המקורית של השרת, צריך שהתעודה תהיה כמה שיותר אמיתית ולא הגרסה שהמפתחים של קאלי עשו, היא לא מספיק טובה וככה עולים על החיבור שלי.
אז אנחנו הולכים לייצר תעודה דיגיטלית עם פרייבט קי ופאבליק קי. אחרי זה אנחנו הולכים לייצר פיילורד שזה הקוד הזדוני ולתוך הפיילורד הזה גם ניתן לו את התעודה הדיגיטלית כדי שהוא יוכל לבדוק שהוא התחבר לשרת הנכון.
ככה למעשה גם הפיילורד בודק שלא חוטפים אותו באמצע על ידי נניח התקפת מנ אנד די מידל. הפיילורד מראש יודה לאיזה שרת הוא צריך להתחבר, איזה תעודה דיגיטלית אמורה שרת להציג לו.
זה כאילו מגן על האקר מפני חטיפת החיבור של הפיילוד. זה כאילו עוד שכבת הגנה נוספת. אחרי זה אנחנו נצפין את הפיילוד עם ה-Secret Key, זאת אומרת ניקח את הפיילוד הזה שיצרנו, נכון, יצרנו פה פיילוד, אנחנו לא סתם נשתמש בו, כי יעלו עלינו בקלות בגלל החתימה, אנחנו נצפין אותו.
אז אחרי שניצור את הפיילוד עם התעודה, אנחנו רוצים להצפין אותו כדי שלא יעלו עלינו ברגע הפעלה כי פיילוד מקורי יודעים לזהות את החתימה שלו, יודעים איך הוא נראה ואנטיווירוס עולה עליו אז אנחנו מצפינים אותו ואז האנטיווירוס כבר לא מזהה אותו אחרי זה אנחנו נעטוף את הפיילוד הזה בקוד C-Sharp
אנחנו נעטוף אותו כדי שהוא יוכל להעריץ אותו הרי את הפיילוד הזה צריך להפעיל אז תוכנת אקזה שאנחנו נעשה תפעיל את הקוד הזדוני הזה היא בעצם תפתח את ההצפנה ותריץ את הפיילואוד אחרי זה נהפוך את הפיילואוד הזה לקובץ אקזה כי ב-C-Sharp הוא מייצר לנו קובץ DLL ואנחנו נהפוך אותו לאקזה ואחרי זה אנחנו ניצור
ליסנר בקאלי שמקבל חיבורים בואו נעשה את זה ככה שאנחנו בקאלי נעשה ליסנר שיחכה לחיבור של הפיילואוד הזדוני שהרצנו אז אנחנו מייצרים תורדה אחרי זה מייצרים פיילואוד בעזרת התעודה הזאת אחרי זה מצפינים את הפיילואוד אחרי זה מייצרים ראפר שיריץ את הפיילואוד ולפני
הרצה הוא גם יפתח אותו אחרי שאנחנו נסיים עם הכל ותהיה לנו תוכנת הרצה אנחנו צריכים להפוך אותה לאקזה כי הדוטנט החדש ה-C-Sharp החדש מייצר הכל ב-DLL אנחנו רוצים קובץ אקזה אחד לפאבלש אותו זה נקרא פאבליש אני אכתוב לכם זה נקרא פאבליש בשפה של מייקרוסופט ואז ניצור בסוף listener בקאלי שיקבל את החיבור עד שיש לנו פה את ההתקנה פה רצה אני רואה פה שהוא התקין כבר חצי בוא נתחיל להזדרז דבר ראשון אני משתמש בתוכנת
openSSL שיודעת לייצר תעודות דיגיטליות אני אומר לה תייצרי לי NewKey בגודל 4096 זה הגודל של המפתח התעודה תהיה בתוקף ל-365 ימים ונותן לה את כל המידע שצריך מה ה-Subject מה השם של השרת שאמור להיות אתם יכולים פה לכתוב מה שאתם רוצים.
Key זה המפתח הסודי, זה ה-Private Key, ו-Out זה המפתח הציבורי, התעודה הדיגיטלית שכוללת מפתח ציבורי. בואו נריץ את זה, את הפקודה הזאת, ונראה מה יקרה לנו.
לפני שאני מתחיל, אני רוצה לראות, אין לנו כלום, אתם רואים? קלי שלי ריק לחלוטין, יפה. אני מדביק את הפקודה הזאת, עושה Enter, הוא עושה Generate RSA Private Key, Writing New Private Key לכאן, בואו נראה מה קרה עכשיו.
עכשיו יש לנו שתי קבצים CRT ו-Key. בתוך קובץ Key יש לנו את ה-Private Key. אתם רואים הסיומת שלו וההתחלה שלו. זה המפתח הפרטי הסודי שלי ואמרנו שיש לנו גם Cert.
Cert זה קובץ תעודה דיגיטלית עם מפתח ציבורי. זאת אומרת הסרטיפיקט הזה כולל גם מידע לגבי השרת כמו השם של השרת, מי חתם על תעודה הזאת וגם את ה-Public Key.
מה שה-Public Key סוגר, פרייבט פותח מה שהפרייבט סוגר הפאבליק פותח זה למעשה זוג מפתחות אז יופי יצרנו בעצם שני קבצים בשלב הזה אחד ציבורי ואחד פרטי עכשיו אנחנו מאחדים את שניהם לאותו קובץ קובץ שנקרא פאם שימו לב בקובץ פאם חייב להיות קודם פרייבט קי ואחרי זה התעודה הציבורית עם הפאבליק קי אז אני אעשה פה קאט רואה
מה יש בתוך קובץ ראשון אחרי זה מה יש בתוך קובץ שני את הרצף הזה של הקאטים אני שופך לתוך קובץ פם אחרי שעשיתי את הפקודה הזאת אני שמרתי את הקובץ פם בתוך רוט אתם רואים בתיקיית הבית של רוט בואו נעשה קאט לרוט פם אנחנו יכולים לראות פה למעלה נעלה שאחרי קאט לקובץ פם יש לנו קודם כל את
הפרייבט קי ואיך שהוא נגמר ישר מתחיל הפאבליקי תעודה דיגיטלית עם פאבליקי יופי זה קובץ פם ועכשיו את הקבצים הנפרדים של פרייבט ופאבליק אנחנו יכולים למחוק, כי אנחנו לא צריכים אותם, אז אני פשוט מוחק אותם, וזהו, הספרייה נקייה,
ורק בתיקיית רות יש לנו קובץ אחד של פאם שכולל את שני המפתחות. סיימנו לייצר תעודה דיגיטלית, זה לא משנה כל כך שאף אחד לא סומך עליה, זה רק בשביל לעבור את הבדיקה השטחית שעושה אנטיווירוס, וגם לא כל האנטיווירוסים, סימנטק עושה ואחרים לא כל כך עושים את זה, שהחיבור הוא מתבצע למקום הנכון שהחיבור מתבצע
למעשה למקום שיש בו תעודה דיגיטלית אמיתית ולא תעודה דיגיטלית של מתה ספלויט אוקיי אחרי שיש לנו תעודה דיגיטלית אנחנו הולכים לייצר פיילוד זדוני למעשה את הסוס הטרויאני שימו לב אני מייצר אותו בגרסת נון סטייג' זה אומר היא לא רב שלבית היא הכל בשלב אחד כל הקוד של הפיילוד הזדוני יהיה במקום אחד זה לא יהיה חיבור ראשוני שמעביר את החלק השני אחרי החיבור זה
לא יהיה דו שלבי זה יהיה חד שלבי למה כדי לצמצם את שטח החשיפה כי ברגע שאני עושה חיבור רב שלבי בשני שלבים זה אומר חיבור ראשוני קטן פיילוט קטן שמתחבר לשרת שליטה ומקבל dll לזיכרון עם כל הקוד העיקרי הדו שלבי הזה הסטייג' הזה הוא יותר מסוכן כי אני מקבל dll דרך הקו אינטרנט דרך
ומטעין את ה-DLL הזה לזיכרון, וברגע הטעינה של ה-DLL