בעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2
-
אני רוצה לעבור על הקורס הזה
https://courses.campus.gov.il/courses/course-v1:CS+GOV_CS_WebSec+1_2020/course/יש שם חלק שמדבר על התקנה של מערכת וירטואלית של ubuntu (אני חושב) רזה שהם הכינו לבד שבעצם מדמה אתר להזמנת מגשי פיצה, שעליו לומדים במהלך הקורס את ה״התקפות״ וכיצד להגן עליהם וכולי.
כאן יש את ההוראות איך להתקין את האתר פיצה
יש לי מחשב macbook עם מעבד m2, והורדתי את התוכנה שהם מציעים שם virtualBox, ולא הצלחתי להפעיל את הקובץ שלהם, זה עושה לי שגיאה כזאת
זה אחרי שאני טוען את הקובץ שלהם
זה השגיאה כשאני מנסה להפעיל
באמצעות gpt התקנתי תוכנה על המחשב בשם qemu שזה בעצם גם מערכת וירטואלית,
ואז באמצעות
qemu-img convert -f vdi -O qcow2 ./ubuntuvm-disk001.vdi ./ubuntuvm-disk001.qcow2
המרתי את הקובץ שלהם, לקובץ QCOW2, ועכשיו אני יכול להריץ אותו עם
qqemu-system-x86_64 \ -hda "/Users/zvi/Downloads/PizzaLuigi 2/ubuntuvm-disk001.qcow2" \ -m 2048 \ -smp 4 \ -net nic \ -netdev user,id=n1 \ -device e1000,netdev=n1 \ -vga std \ -usb -device usb-tablet \ -cpu max \ -rtc base=utc
וככה המכונה נראית כשהיא רצה
הבעיה שבהדרכה של הקורס הם כותבים שאם אגש לוקאלית מהמחשב שלי (לא מהמכונה[היא נעולה עם סיסמה שאין לי מושג מה היא]) אל הכתובת http://pizzaluigi אני אגיע לאתר דמו שעליו הקורס מתבסס, הבעיה שזה לא קורה, כלומר המכונה רצה, אבל אני לא מצליח לראות את האתר המדובר במחשב,
אציין, כי בחלק מהשלבים שהמכונה עולה, אפשרי להיכנס לחשבון לינוקס (אולי לוקח לה זמן להינעל בחוץ , לא ברור לי) ואז כן יש גישה לטרמינל שם, רק בלי העתקה והדבקה, ויש שם התראה איפשהוא ענקית במרכז המסך להכניס סיסמה, קיצור, לא שימוש נורמלי עם המכונה כשהיא פתוחה.
מה שכן שמתי לב שהשם משתמש שלה הוא pizzaluigi , ניסתי להתחבר עם ssh למשתמש@לוקלהוסט ולא הצלחתי.אשמח לעזרה:
- איך אוכל לדעת על איזה כתובת ip פנימית המכונה רצה, אולי פשוט אפנה לשם ואחסוך את הדומיין http://pizzaluigi (אין לי את הסיסמה של המשתמש למכונה, אז אין לי גישה להקליד שם פקודות לכאורה ועל ידי זה לבדוק את הכתובת ip)
- אולי יש הגדרות רשת שצריך להגדיר כשמעלים את המכונה, שיפעילו את זה תקין, והגדרות אלה נשמטו כש״המירו״ למעבד אחר?
-
@צבי-ש
זה עבד לי:qemu-system-x86_64 \ -hda "ubuntuvm-disk001.qcow2" \ -m 2048 \ -smp 4 \ -device e1000,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::8080-:80 \ -vga std \ -usb -device usb-tablet \ -cpu max \ -rtc base=utc
ואז אפשר להיכנס ב-localhost:8080
שים לב שזה חושף רק פורט 8080 מהאורח, וייתכן שמתישהו בקורס תצטרך לגשת לעוד פורטים
-
@yossiz כתב בבעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2:
@צבי-ש
זה עבד לי:qemu-system-x86_64 \ -hda "ubuntuvm-disk001.qcow2" \ -m 2048 \ -smp 4 \ -device e1000,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::8080-:80 \ -vga std \ -usb -device usb-tablet \ -cpu max \ -rtc base=utc
ואז אפשר להיכנס ב-localhost:8080
שים לב שזה חושף רק פורט 8080 מהאורח, וייתכן שמתישהו בקורס תצטרך לגשת לעוד פורטים
תודה רבה רבה, זה אכן עבד לי, יישר כח.
תוכל להרחיב קצת בהסבר מה בעצם שינת?
וכן אם אני רוצה בכל זאת להשתמש בדומיין http://pizzaluigi/ , אני אצטרך לעשות את זה ברמת הdns אצלי במחשב? -
@צבי-ש כתב בבעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2:
תוכל להרחיב קצת בהסבר מה בעצם שינת?
לצערי לא אוכל להרחיב כי אני לא מבין לגמרי מה עשיתי... הסתכלתי קצת בתיעוד על תצורות רשת והיה לי השערה שתצורה זו תעבוד אז העתקתי שורת פקודה מדוגמה...
@צבי-ש כתב בבעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2:
וכן אם אני רוצה בכל זאת להשתמש בדומיין http://pizzaluigi/ , אני אצטרך לעשות את זה ברמת הdns אצלי במחשב
אפשר להוסיף לקובץ ההוסטס שpizzaluigi נמצא ב-127.0.0.1
אני לא יודע באיזה מנגנון השתמשו במכונה המקורית כדי לפרסם את שם המכונה שלהם (אולי משהו כמו WINS, אני לא לגמרי מבין בזה)
הבנתי מהתיעוד שאם תרצה גישה מלאה לכל הפורטים, תצטרך תצורת TUN אבל נראה שזה מצריך קצת עבודה להקים
-
@צבי-ש יש לי חדשות טובות בשבילך
אתה יכול להיפטר מהמכונה השמנה
באמת לא מובן מה חשבו. למה צריך פיירפוקס, ליברהאופיס, וכו' כדי להריץ אתרהיה קל מאוד להגיע לדסקטופ
צריך פשוט לתפוס אותו לפני שהוא ננעל
זה מוגדר לנעול אחרי שניה אחת של חוסר פעילות
אבל אפשר לפתוח טרמינל
אחרי שהיה לי טרמינל דיפדפתי בהיסטוריה (כן, יש שם הרבה דברים משעשעים ) וראיתי את הפקודה שלgsettings
שמגדיר את ה-idle timeout לנעילה, ופשוט הרצתי במקום זהgsettings reset ...
כדי לחזור לברירת המחדלgettings reset org.gnome.desktop.session idle-delay gettings reset org.gnome.desktop.screensaver lock-delay
משם היה קל מאוד להגיע לסיסמת המשתמש (
cecadmin2020
) - זה היה גלוי בהיסטוריה של שורת הפקודה - אפשר ככה לקבלsudo
(אבל אין שום צורך...)
בדקתי את היסטורית הדפדפן והגעתי לריפו זה
https://github.com/DaniRubin/pizzaCyber
שם יש כל מה שצריך להריץ את האתר...אאל"ט תוכל להריץ לוקלית על מק בלי להסתבך עם מכונה וירטואלית ענקית
אולי כדאי לא לקרוא את קוד המקור של האתר כדי שזה לא יהרוס לך את הכיף של מציאת החולשות
-
אגב, בסוף הדרך הכי טובה שמצאתי להריץ את המכונה על מק הוא ככה:
sudo qemu-system-x86_64 \ -hda "ubuntuvm-disk001.qcow2" \ -m 2048 \ -smp 4 \ -netdev vmnet-bridged,id=net0,ifname=en0 \ -device virtio-net,netdev=net0 \ -usb -device usb-tablet \ -cpu max \ -rtc base=utc
בצורה זו המכונה נמצא ברשת המקומית כעוד מחשב, הוא מקבל כתובת IP מהראוטר ברשת המקומית ואפשר לגשת ל-IP הזה לכל הפורטים הפתוחים
(אין עוד פורטים מעניינים במכונה זו, אין שום דבר מעניין. אולי היטוריית שורת הפקודה בקושי...) -
עוד לא מצאתי איך הדפדפן אמור להצליח לגשת לאתר עם הכתובת http://pizzaluigi
אני חושש שאולי זה יעבוד רק עם תתקין את המכונה עם ה-exe שלהם -
@yossiz כתב בבעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2:
@צבי-ש יש לי חדשות טובות בשבילך
אתה יכול להיפטר מהמכונה השמנה
באמת לא מובן מה חשבו. למה צריך פיירפוקס, ליברהאופיס, וכו' כדי להריץ אתרהיה קל מאוד להגיע לדסקטופ
צריך פשוט לתפוס אותו לפני שהוא ננעל
זה מוגדר לנעול אחרי שניה אחת של חוסר פעילות
אבל אפשר לפתוח טרמינל
אחרי שהיה לי טרמינל דיפדפתי בהיסטוריה בהיסטוריה (כן, יש שם הרבה דברים משעשעים ) וראיתי את הפקודה שלgsettings
שמגדיר את ה-idle timeout לנעילה, ופשוט הרצתי במקום זהgsettings reset ...
כדי לחזור לברירת המחדל
משם היה קל מאוד להגיע לסיסמת המשתמש (cecadmin2020
) לקבלsudo
(אין שום צורך)
בדקתי את היסטורית הדפדפן והגעתי לריפו זה
https://github.com/DaniRubin/pizzaCyber
שם יש כל מה שצריך להריץ את האתר...אאל"ט תוכל להריץ לוקלית על מק בלי להסתבך עם מכונה וירטואלית ענקית
אני קצת עצוב שלא בדקתי בעצמי את זה... אני אמור לאהוב את הסגנון הזה ואת הבדיקה בקבצים וכולי, אולי כי זה רץ איטי במחשב שלי ונתקע כל הזמן העדפתי לוותר, בכל מקרה תודה רבה, אעבור על הריפו הזה ואבדוק באמת.
עבר קצת זמן (עוד לא שלחתי את הפוסט הזה), עברתי קצת על הריפו הוא כתוב בשפה שאני לא מכיר, פייתון 2+ או משהו כזה, עם ענף כן מעודכן יותר ל3.8 לכאורה, בכל מקרה אם ארצה להריץ רק את זה אצטרך להריץ הנפרד db כלשהוא (לא בדקתי באיזה סוג db עדיין) וזה כבר להתחיל להיכנס לקודים, וכל באג שיהיה לי אני אצטרך ״להפיל״ את זה עליי ולא עליהם, אז אסתכל אולי אחרי הקורס, נטו לידע ולראות כמה הרסו....
-
@צבי-ש כתב בבעיה בגישה לדומיין מקומי במכונה וירטואלית על MacBook M2:
אולי כי זה רץ איטי במחשב שלי ונתקע כל הזמן העדפתי לוותר
לך יש M2 ולי יש רק M1... כנראה יש לך ציפיות יותר גבוהות ממני...
הופתעתי באמת איך שזה רץ בסדר למרות שזה קוד מכונה של אינטל על מעבד ARM -
רק מעדכן למקרה שעוד מישהו יחליט משום מה לצפות בקורס הזה מימות הקורונה.
קורס נחמד, מלמד על יסודות ההתקפה בצד הלקוח, או על חלק מהיסודות, ואיך ניתן להתגונן מהם,ללמד את התחום? זה לא מלמד, אבל טוב בתור לפתוח את התיאבון לכל העולם של אבטחה, ושל פיתוח ווב באופן קצת יותר מאובטח, וכמובן צד שרת כדי שלא יזריקו לך sql, או js script ותשלח את זה הלאה למשתמש (xss)
למי שיש קצת חוש טכני, לחלוטין לא שווה את הכמה גיגות הורדה וזמן להתקנה של האתר שהובא כאן למעלה, זה סתם שורף זמן יקר. ובמקסימום להתקין מהגיטאב ש yossiz שלח פה למעלה, בענף 38, את הקוד פייתון לשרת http, ופשוט להריץ אותו (צריך להריץ גם db, אולי אפשר sqlite, לא בדקתי) במקום את הvm.
למי שאין וסתם יסתבך עם ההבנה של החומר מבלי לתרגל ממש באותו אתר שמלמדים בקורס, אולי שווה את ההתקנה המוזרה הזאת.