PracticU

יצירת WAR Shell - שרת Tomcat

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לאתרי אינטרנט - בדיקות חוסן לאתרים - Web Pentesting - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › יצירת WAR Shell - שרת Tomcat
מילון מושגים:
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.
אתר אינטרנט - אוסף של דפים ומשאבים מקושרים המתארחים תחת כתובת אחת ומוגשים דרך דפדפן.
ARP - פרוטוקול שמתרגם כתובת IP לכתובת ה-MAC של המכשיר המתאים ברשת המקומית.
FTP - פרוטוקול להעברת קבצים בין מחשבים ברשת, בין לקוח לשרת.
PHP - שפת תכנות לצד השרת, נפוצה בבניית אתרים דינמיים ומערכות ניהול תוכן כמו WordPress.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
Python - שפת תכנות עילית וקריאה, נפוצה בפיתוח, אוטומציה, ניתוח נתונים ולמידת מכונה.

יצירת WAR Shell - שרת Tomcat
בשיעור זה נעקוף את ההגנות של אתר אינטרנט על ידי תפיסת התקשורת בין הדפדפן לשרת ושינוי שלה בדרך, בעזרת הפרוקסי Burp, כשההנחה היא שהאתר בודק הכל בצד הלקוח בתוך JavaScript ואינו בודק בשרת מה שמגיע אליו. נעבוד על מכונת Metasploitable 2 שנועדה במיוחד לתרגול חורי אבטחה, נגלה אותה בסריקות רשת, ניכנס לעמוד הניהול של Apache Tomcat ונשתול בתוכו קובץ WAR שמעניק לנו של על השרת.
נושאי הסיכום המוצגים בשיעור:
1. הכנת סביבת המעבדה: הורדת מכונה וירטואלית מוכנה בשם Metasploitable 2 מאתר SourceForge, חילוץ קובץ ה zip של כמעט 800 מגה, ופתיחת המכונה ב VMware עם File Open בעזרת קובץ ההגדרות vmx, שהוא קובץ טקסט שאפשר לערוך ולשנות בו הגדרות לפי הצורך. הכניסה למכונה נעשית בחשבון ברירת המחדל שלה.
2. גילוי המכונה ברשת: סריקה ראשונה בעזרת netdiscover שעובדת ברמת ה ARP, הרמה הנמוכה ביותר, ולכן מגלה כל מכשיר בעל כרטיס רשת גם כשהפורטים סגורים וגם כשה firewall סגור, כי כל כרטיס רשת חייב לענות. הסריקה הזו חלה על הרשת הפנימית בלבד ואינה מסוגלת לעבור את הראוטר.
3. סריקת פורטים עם nmap: סריקת 1000 הפורטים הנפוצים מתוך 65535, כשהאפשרות sV מתשאלת כל פורט פתוח כדי להבין איזו תוכנה עומדת מאחוריו. הסריקה מגלה בין השאר FTP בפורט 21, SSH בפורט 22, שרת מיילים ושרת אתר אינטרנט.
4. זיהוי Apache Tomcat: גלישה לפורט ה HTTP שהתגלה מגלה אתר שמריץ Apache Tomcat, שרת אתרים מבוסס Java שמריץ JSP, בניגוד לאפאצ'י הרגיל שמבוסס PHP. זיהוי הטכנולוגיה של האתר הוא שלב מפתח בכל בדיקת חוסן.
5. קריאת קוד העמוד: בעזרת F12 או View Page Source קוראים את קוד העמוד וההערות שבו, כדי להבין באיזו טכנולוגיה נכתב האתר ולחפש נקודות תורפה, למשל שם משתמש וסיסמה שהמתכנת השאיר בתוך הערה ושכח להסיר.
6. ניסיון סיסמאות ברירת מחדל: לפני שמחפשים חור אבטחה מורכב, בודקים אם סיסמת ברירת המחדל של Tomcat לא הוחלפה, תופעה נפוצה באתרים ובמיוחד במצלמות אבטחה שטכנאים מתקינים ועוזבים. עם רשימת ברירות המחדל שנאספה מהרשת נמצא צמד שעובד, ובאמצעותו נכנסים לעמוד הניהול של השרת.
7. האלטרנטיבות כשברירת המחדל נכשלת: חיפוש אקספלויט ידוע לגרסת השרת המזוהה, Tomcat 5.5 במקרה הזה, וכשגם זה לא מצליח נשארת השיטה האיטית ביותר, ברוטפורס של כל הסיסמאות האפשריות, שעלול לקחת שנים ולכן היא הפחות יעילה מכולן.
8. ניהול האפליקציות בשרת: עמוד ה Manager מאפשר לנהל את התוכנות הרצות על השרת, לראות אילו רצות, לעצור ולהפעיל אותן, ובנוסף להעלות תוכנה חדשה בתצורת קובץ WAR ולהפעיל אותה. יכולת ההעלאה הזו היא בדיוק הנקודה שמנוצלת לשתילת תוכנה משלנו בשרת.
9. יצירת קובץ WAR זדוני: בעזרת msfvenom מייצרים payload מבוסס Java מסוג reverse tcp, שבו המכונה הנפגעת יוזמת חיבור חזרה אל מחשב השליטה בקאלי לינוקס בפורט נבחר, והפלט נשמר בפורמט WAR שהאתר דורש. בצד המאזין מספיק נטקאט פשוט, ואין חובה להשתמש במטרפריטר, שהוא בעצם ה CMD המשוכלל לעומת ה CMD הפשוט.
10. העלאה שנבלמת בבדיקת סיומת: העלאה ראשונה נכשלת בהודעה שהקובץ חייב להיות קובץ WAR, בדיקה שמסתכמת בבחינת סיומת הקובץ בלבד. שינוי הסיומת בעזרת mv מספיק כדי לעקוף אותה, דוגמה קלאסית לבדיקה שמסתמכת על פרט פורמלי במקום על תוכן הקובץ.
11. הפעלת המתקפה: הקובץ נעלה ומתפרסם בעמוד הניהול, מאזין מוצב בקאלי לינוקס בפורט שנקבע, ולחיצה על האפליקציה שהועלתה פותחת חיבור. מנקודה זו רצות פקודות כמו ls ו ifconfig על השרת, והמכונה נתונה בשליטה חלקית.
12. שדרוג השל בעזרת פייתון: השל המתקבל בנטקאט מוגבל ולא נוח, ולכן מריצים פקודת python שמייבאת מודול ומפעילה בש, וכך מתקבל של מלא ונוח בתוך הסשן. זו דוגמה לשדרוג סביבת העבודה מתוך חיבור קיים.
13. מסגרת ההרשאות: השל פועל במסגרת ההרשאות של המשתמש שמריץ את שרת ה Tomcat, וניסיון להיכנס לאזורים אסורים ייכשל. בשיעור הבא נעסוק בהעלאת הרמה, ובינתיים העבודה נשארת בתוך ההרשאות הללו.
בשיעור זה הוקמה מעבדה עם Metasploitable 2 ברמת אבטחה בינונית, השרת זוהה בסריקות netdiscover ו nmap, עמוד הניהול של Apache Tomcat נפתח דרך סיסמת ברירת מחדל שלא הוחלפה, קובץ WAR זדוני נוצר ב msfvenom והועלה לשרת אחרי עקיפת בדיקת הסיומת, ונפתח של פעיל על השרת ששודרג בעזרת פייתון. בשיעור הבא נעסוק בהעלאת הרמה.
SR12534HE

פרקי ההרצאה: יצירת WAR Shell - שרת Tomcat

  1. 00:00

    הרעיון של תפיסת תקשורת

  2. 00:37

    הכרת המכונה Metasploitable2

  3. 01:13

    הגנות בצד הלקוח בלבד

  4. 02:08

    פתיחת המכונה ב-VMware

  5. 03:33

    גילוי המכונה ברשת

  6. 04:25

    סריקת כתובות עם NetDiscover

  7. 06:08

    העלאת רמת האבטחה לבינונית

  8. 07:22

    היכרות עם Apache Tomcat

תמלול ההרצאה: יצירת WAR Shell - שרת Tomcat

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

  1. 00:02

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

  2. 00:28

    מכונה וירטואלית מוכנה עם אתר אינטרנט מובנה שם שנועד בכוונה לתרגל את הנושא והמכונה הווירטואלית עם חורי אבטחה נקראת metasploitable 2 אנחנו נוריד אותה מאתר של sourceforge זה חינם וזה בכוונה נועד לתרגול יש לה בכוונה חורי אבטחה ולנו זה מצוין כי הטריק הזה עובד על כל אתר אינטרנט שהמתכנת

  3. 00:54

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

  4. 01:15

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

  5. 01:29

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

  6. 01:41

    טוב, אני מוריד פה את ה-MetaSploitable 2 מאתר של SourceForge. שימו לב, MetaSploitable 2, גרסה 2. אחרי שזה ירד, אנחנו ניפגש. הנה, הורדתי את זה לתיקייה הזאת.

  7. 01:54

    C-Lab, MetaSploitable VM, הורדתי את זה לכאן, כובד זיפ של 800 מגה, ואני מחלץ את הכל מתוך הזיפ לתיקייה. מה יש לנו בתוך התיקייה הזאת?

  8. 02:06

    אחרי החילוץ יש לנו את ה-hard disk של המכונה הווירטואלית שזה כמעט 2 ג'יגה, ג'יגה 800 ויש לנו פה עוד כמה קבצים כולל קובץ ההגדרות של המכונה הווירטואלית אז אנחנו לוקחים את כל הנתיב הזה, עושים לו קופי הולכים ל-vmware ועושים בתוך vmware פייל open

  9. 02:25

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

  10. 02:39

    אנחנו עושים לו Open ויש לנו פה מכונה וירטואלית חדשה ואנחנו מפעילים אותה. הוא שואל אותי האם אני העתקתי את זה או הזזתי את זה, זה לא משנה לנו, זה חשוב לצורך מ"כים, טובות מ"כ.

  11. 02:54

    הנה הוא מתחיל להפעיל ושימו לב הוא יוצר עוד קבצים. רציתי להראות לכם ש-VMX הזה, קובץ ההגדרות הזה של המכונה הווירטואלית, אם אנחנו נעשה לו Edit נניח עם Notepad, אנחנו נראה שקובץ vmx הזה זה קובץ טקסט עם כל ההגדרות שהמכונה הווירטואלית מקבלת, שתוכנת וירטואליזציה מבינה, ואנחנו יכולים לשנות פה כל מיני דברים אם נרצה.

  12. 03:18

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

  13. 03:36

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

  14. 03:47

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

  15. 03:54

    אני רוצה לעלות בתוך התוכנה הזאת, בתוך ה-Meta-Sploitable 2 אנחנו יכולים לעלות את רמת ה-Security לרמה בינונית, שלא יהיה לנו יותר מדי פשוט, תכף נעשה את זה.

  16. 04:06

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

  17. 04:25

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

  18. 04:36

    למה ה-NetDiscover עובד ברמת ה-ARPים? זה ברמה הכי נמוכה שיש, גם אם Firewall סגור, גם אם TCPIP לא רוצה לענות לפינגים, עדיין ברמת כרטיסי הרשת עצמם, ברמת ה-ARPים, כולם עונים, כולם חייבים לענות, ולכן אני אוהב לעשות את הסריקה הזאת, לגלות באיזה רשת אני נמצא.

  19. 04:58

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

  20. 05:08

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

  21. 05:19

    אנחנו לא יודעים איזה פורטים פתוחים, מה יש לו פתוח, אז אנחנו יכולים לעשות nmap-sv ולסרוק 1000 פורטים הכי פופולריים מתוך 65,000 פורטים שקיימים.

  22. 05:31

    אנחנו סורקים רק 1000 וכל אחד גם מתשאלים אותו בשביל להבין מה עומד מאחורי הפורט הזה, איזה תוכנה עומדת. אז nmap-sv ונותנים לו את כל הטווח, והוא מתאשל כל כתובת IP ובודק בכל כתובת IP 1,000 פורטים, לא סתם מ-1 עד 1,000, את ה-1,000 הכי מפורסמים.

  23. 05:51

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

  24. 06:01

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

  25. 06:17

    זה לוקח לו זמן כי הוא צריך לתשאל 1000 פורטים בכל כתובת IP אז צריך להמתין כמה דקות. באופן כללי אם אתם רוצים סריקה מושלמת צריך לתשאל לא 1000 אלא 65,000 פורטים אבל אני אסתפק ב-1000 הכי מפורסמים אני עושה סריקה ראשונית כזאת.

  26. 06:33

    כאן אני מגלה שיש לי כתובת IP 188 ובתוכה יש את כל הפורטים האלו פתוחים, תוכנת FTP מאזינה ב-21, SSH ב-22, SMTP של מיילים, HTTP, אתר אינטרנט, אז בואו ניכנס לאתר אינטרנט הזה, ל-HTTP הזה, ונגלוש לשם, פשוט מאוד.

  27. 06:54

    דרך אגב, מה אנחנו עוד מגלים? שיש לו גם עוד אתר אינטרנט שנקרא Apache Tomcat, ש- Apache Tomcat זה גם אתר אינטרנט שבנוי על Java, רואים JSP זה Java אנחנו רוצים לפרוץ היום לאפאצ'י Tomcat שגילינו שהוא עובד אני שוב אזכיר לכם שאפאצ'י Tomcat זה אתר אינטרנט שמבוסס על Java בניגוד לאפאצ'י רגיל שמבוסס על PHP אז אפאצ'י רגיל זה PHP אפאצ'י Tomcat זה Java אתם צריכים להכיר את הבסיס הזה בואו

  28. 07:25

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

  29. 07:36

    במציאות, אתם תראו שיש איזשהו שרת, אתם גולשים עליו, מגלים שהוא אפאצ'י תום-קאט. איך אתם יכולים בכלל לגלות? נניח שלא היה לנו כתוב שזה אפאצ'י תום-קאט, אנחנו יכולים לעשות F12 או Right Click View Page Source.

  30. 07:51

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

  31. 08:05

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

לקורס המלא: קורס פריצה לאתרי אינטרנט אונליין

ההרצאה הקודמת: הגדרת פרוקסי Burp Proxy - בדגש על HTTPS

ההרצאה הבאה: סוס טרויאני בהעלאת קבצים לאתר - PHP - אבטחה ברמה נמוכה - DVWA Low

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

  • צד שרת
  • SHELL MODULE
  • יצירת Reverse Shell - ב-Windows עם Netcat
  • יצירת Reverse Shell על ידי Powershell - חלק 1

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

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