PracticU

שרת פרוקסי - Proxy
ב-Windows עם Chisel

בלי כתוביותעם כתוביות
PracticU › קורס פריצה ומבדקי חדירה לתשתית ארגונית - בדיקות חוסן מתקדמות ל-Active Directory - קורס זה נדרש למבחן ההסמכה היוקרתי OSCP › שרת פרוקסי - Proxy ב-Windows עם Chisel
מילון מושגים:
Kali Linux - הפצת Linux המיועדת לבדיקות אבטחה וחדירות, הכוללת אוסף כלים לבחינת מערכות.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
UDP - פרוטוקול תקשורת מהיר ללא אישור קבלה, המתאים לשידורי וידאו, קול ומשחקים שבהם מהירות חשובה מאמינות.
LAN - רשת מקומית שמחברת מכשירים בטווח מצומצם, כמו בבית או במשרד.
Linux - מערכת הפעלה בקוד פתוח מבוססת ליבת Linux, נפוצה מאוד בשרתים וקיימת בהפצות רבות כמו Ubuntu.
טרמינל - חלון או תוכנה שמספקים ממשק שורת פקודה להקלדת פקודות למערכת ההפעלה.
WinRM - שירות של Windows לניהול מרחוק של מחשבים, להרצת פקודות וסקריפטים דרך הרשת.
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.

שרת פרוקסי - Proxy
ב-Windows עם Chisel
בשיעור זה אנו רוצים לעשות שרת פרוקסי שיכניס אותנו לרשת פנימית דרך Windows. זה הולך להיות שרת Chisel שיקבל חיבור מה-Kali שלנו ב-HTTP בפורט 80, הוא יצפין את הכל עם SSH וייתן לי להעביר דרכו אל הרשת הפנימית את כל הפאקטים שלי ב-TCP וב-UDP.
נושאי הסיכום המוצגים בשיעור:
1. הרעיון של שרת הפרוקסי: למעשה כל מה שנרצה נוכל לגלגל דרכו אל הרשת הפנימית, כאשר מבחוץ זה ייראה כמו HTTP רגיל. והוא הולך לעבוד כשרת SOCKS, כשרת פרוקסי, כדי לא לפתוח כל פורט בנפרד, כמו שעשינו בהרצאה הקודמת, שפתחנו פורט מסוים ליעד פנימי מסוים. שרת פרוקסי, שרת SOCKS, ייתן לי אפשרות לפתוח את כל הפורטים לכל היעדים בתוך ה-LAN הפנימי, אני לא אצטרך לציין כל פורט בנפרד. אז אנחנו הולכים להקים על שרת Windows פרוקסי סרבר בעזרת Chisel.
2. הורדת הכלי: אנחנו מורידים פה בגיטהאב את הגרסה AMD 64-Bit. יש לנו כבר 7-Zip מותקן כאן, ומחלצים את ה-Chisel. הנה ה-Chisel שלנו, ועכשיו אפשר להתחבר לשרת. גם בשרת אני אכנס לאתר של Chisel ואני אוריד את הגרסה המוכנה. שימו לב, אני לא מקמפל לבד כמו שעשינו בהרצאה הקודמת. אני מראה לכם איך להוריד גרסה מוכנה ולהשתמש בה, כי אני רוצה שתדעו גם לקמפל וגם להוריד Releases מוכנים, גרסאות מקומפלות שאני סומך עליהן שהן קמפלו אותן ולא הכניסו לי איזה סוס טרויאני בפנים.
3. הכנת הקובץ בלינוקס: אני מחפש Linux AMD 64-bit, מוריד אותו, לוחץ כאן למעלה על החץ של ההורדות ופותח את התיקייה הזאת. אני בקאלי, בתיקיית ההורדות, ואני יכול לחלץ את הזיפ הזה. עושים קליק ימני, אקסטראקט היר, ויש לנו את ה-Chisel. אני עושה קליק ימני, open terminal here, ויכול לעשות file chisel, לראות שזה קובץ ELF של 64 ביט. אני רואה שה-Chisel הזה לא ניתן להרצה, אין לו איקסים, אי אפשר להריץ אותו. וזה targz, זה הקיבוץ שלו, אני יכול למחוק אותו כאן, לעשות move to trash. ועכשיו יש לי רק Chisel אחד, רק צריך לעשות Change Mode פלוס X כדי שהקובץ הזה יקבל את הרשאות ההרצה, את ה-Xים, וזאת הפקודה.
4. הרצת השרת עם ה-reverse: יש לנו Chisel מוכן, בואו נריץ אותו. אנחנו מריצים את השרת על פורט 9001, צ'יסון מקף סרבר, צ'יסון בתצורת שרת בתוך קאלי. הוא יחכה לחיבור בפורט 9001, יעבוד במצב SOCKS אבל ברוורס. זה אומר שהשרת יצא החוצה דרך הקליינט. לא הקליינט דרך השרת, אלא רוורס, שרת דרך הקליינט. זאת אומרת, שרת מחכה לחיבורים של הקליינטים, ברגע שהם מתחברים אליו, הם פתאום מחליפים תפקיד, פתאום כל התקשורת עוברת דרך הקליינט החוצה. זאת המשמעות של הרוורס, ואני מתחיל להמתין לקליינטים שיתחברו אליי בפורט 9001. אפשר גם לראות שבאמת יש לנו פה האזנה, לסנטסטאט בשמו החדש ss, ורואים שיש האזנה בפורט 9001 ל-Chisel.
5. הפעלת הקליינט אצל הקורבן: בואו נלך לקליינט שיתחבר בפורט 9001, ואנחנו אומרים כאן במחשב של הקורבן, אתה הקליינט, אתה מתחבר לשרת ב-HTTP, ל-IP כזה וכזה, פורט 9001, וברגע שתתחבר, אתה הולך להיות השרת, דרכך ייכנסו פנימה. לכן יש פה רוורס, ותפתח בקאלי פורט 1080 מקומי. כרגע אין שם 1080 מקומי, תסתכלו כרגע. אם אני אעשה פה 1080, אני אראה שאין פורט כזה. ברגע שיתבצע החיבור, הוא יפתח 1080 ויעשה SOCKS. בגלל שזה רוורס, זה יהיה שרת SOCKS, שרת פרוקסי פנימה. אני עושה Enter פה, הוא עושה Connecting to WebSocket כזה וכזה, אפשר גם לראות בשרת שהוא אכן התחבר והתחיל להאזין בפורט 1080. אפשר גם לראות שצ'יסל כרגע מאזין גם בפורט 1080 ותופס את הפאקטים, ומעביר אותם לשם, וגם ב-9001 מחכה לעוד קורבנות. יכול להיות שעוד קורבנות יפתחו עוד טאנלים.
6. הכנת Proxychains: טוב, איך אנחנו מנצלים את זה? איך אנחנו משתמשים בסוקס הזה, בפרוקסי הזה? כמובן עם פרוקסי צ'יינס. נוודא שהוא מותקן כאן בתחנה, עושים עדכון לקאלי ומתקינים פרוקסי צ'יינס. אני מזכיר לכם שפרוקסי צ'יינס זאת תוכנה שמכניסה בכוח פאקטים לתוך הפרוקסי שלי, במקרה שהתוכנה לא יודעת לעבוד עם שרת פרוקסי ביוזמתה. אני פשוט חוטף את הפאקטים של תוכנה כלשהי ומכניס אותם בכוח לתוך שרת פרוקסי. בקיצור, פרוקסי צ'יינס יודע להכניס בכוח פאקטים לתוך HTTP, SOCKS4 או SOCKS5, שכל זה תקנים שונים של שרתי פרוקסי, כאשר בסופו של יום מתבצע טאנלינג לתוך הרשת הפנימית.
7. ההגדרות של השרשרת: פה סטריק צ'יין אומר, אתה חייב לעבור דרך כל שרתי הפרוקסי שאני אציין לך. אם בסטריקט צ'יין אחד השרתים בדרך לא עובד, אז כל התקשורת נופלת. לעומת זאת דינמיק צ'יין, אני יכול להפעיל אותו ולסגור את זה, אומר שאם אחד השרתים בדרך נפל, פשוט תתעלם ממנו, תדלג מעליו ותלך לשרת הבא ברשימה. ורנדום צ'יין אומר כל פעם לעבור דרך שרת אחר בצורה אקראית. אני הכי אוהב את הדינמיק צ'יין, זה אומר שהוא הולך לפי הסדר, אם מישהו לא עובד בדרך פשוט מדלגים מעליו לשרת הבא. אבל מה שהכי חשוב לי זה השורה האחרונה, פה אני רוצה להכניס הכל בתקן של סוקס 5, לפורט 1080. צ'יסל תומך בתקן של סוקס 5 החדש, ולכן אני שם סולמית על השורה הקודמת של ברירת המחדל ומכניס את השורה הזאת. זה אומר שהאפליקציה של פרוקסי צ'יינס תחטוף את הפקטים ותשלח אותם לתוך IP 127.0.0.1, ל-IP של עצמי, לפורט 1080. יופי.
8. בדיקה עם nmap ועם EvilWinRM: בואו נראה שזה אכן עובד, ואנחנו עושים nmap עבור פורטים מסוימים. שימו לב, מאוד חשוב לרשום את שני המתגים, מינוס N ומינוס PN. מינוס PN שלא יעשה פינגים לפני כן, כי פינג לא עובר ואז הוא יחשוב שהשרת מת, ומינוס N שלא יהיו לנו בעיות עם ה-DNS. ואני אומר לו אילו כתובות IP לסרוק, שימו לב, זה הכתובות IP פנימיות, אין לי את הכתובות האלו, אני לא יכול להגיע אליהן. אבל פרוקסי צ'יינס יחטוף את ה-nmap ויעביר אותם לתוך הטאנל. ואנחנו ממש יכולים לראות איך פרוקסי צ'יינס חוטף את הפאקטים ומעביר אותם פנימה. בלי החטיפה הזאת, המחשב שלי לא היה מגיע ליעד הזה. פרוקסי צ'יינס חטף אותם, הכניס אותם לתוך הטאנל, זה יצא בצד השני, קיבל את התשובות, ויש לנו פה תוצאה. לדוגמה, ב-IP130 הפורטים האלו סגורים והפורטים האלו פתוחים, אתם יכולים לראות ממש פה closed וopen. וב-IP10 הפורטים האלו כן פתוחים. זאת אומרת, אני עובד בעזרת פרוקסי צ'יינס עם רשת מרוחקת, כאילו אני יודע להגיע אליה ישירות. אני יכול גם לעשות כמובן WinRM, לנהל את התחנה דרך Windows Remote Management מרחוק. שימו לב, אני חוטף את הפאקטים, מכניס אותם לתוך הטאנל, והם מגיעים ליעד הפנימי. הפאקטים של התוכנת EvilWinRM, ניהול מרחוק של שרת, והנה אני בתוך השרת, יכול בפאוורשל שלו להריץ פקודות. זה הכל עובד דרך פורט 445. זה הכל, תודה רבה.
סיכמנו את הקמת שרת הפרוקסי ב-Windows בעזרת Chisel, מהורדת הכלים לשרת וללינוקס ומתן הרשאות הרצה, דרך הפעלת השרת במצב reverse שפותח פורט SOCKS מקומי, הגדרת Proxychains בתקן SOCKS5 והבנת סוגי השרשראות, ועד לסריקת הרשת הפנימית וניהול מרחוק בעזרת EvilWinRM דרך המנהרה. בשיעור הבא נעסוק בנושא יצירת Reverse Shell
ב-Windows עם Netcat. זה הכל, תודה רבה.
בשיעור הבא נעסוק בנושא יצירת Reverse Shell
ב-Windows עם Netcat.
SR13040HE

פרקי ההרצאה: שרת פרוקסי - Proxy ב-Windows עם Chisel

  1. 00:00

    שרת פרוקסי במקום פתיחת פורטים

  2. 00:41

    היתרון של שרת SOCKS

  3. 01:20

    הורדת גרסה מוכנה של Chisel

  4. 02:13

    הענקת הרשאות הרצה לקובץ

  5. 03:11

    חיבור הקליינט מהקורבן

  6. 03:50

    פתיחת פורט 1080 המקומי

תמלול ההרצאה: שרת פרוקסי - Proxy ב-Windows עם Chisel

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

  1. 00:02

    שלום לכולם, בהרצאה הזו אנחנו רוצים לעשות שרת פרוקסי שיכניס אותנו לרשת פנימית דרך Windows זה הולך להיות שרת צ'יסר שיקבל חיבור מקאלי שלי ב-HTTP בפורט 80 הוא יצפין את הכל עם SSH וייתן לי להעביר דרכו ללאן הפנימי את כל הפאקטים שלי ב-TCP וב-UDP למעשה כל מה שנרצה נוכל לגלגל דרכו ללאן הפנימי

  2. 00:31

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

  3. 01:02

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

  4. 01:13

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

  5. 01:25

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

  6. 01:45

    ההורדות ופותח את הפולדר, את התיקייה הזאת אני בקאלי דאונלורדס ואני יכול לחלץ את הזיפ הזה אני עושה רייט קליק, אקסטראקט here, ו-in a chisel.

  7. 01:58

    אני עושה רייט קליק, open terminal here, ויכול לעשות file.chisel לראות שזה קובץ e1064-bit.ll. אני רואה שה-chisel הזה לא ניתן להרצה, אין לו איקסים, אי אפשר להריץ אותו.

  8. 02:12

    וזה targizet, זה הקיבוץ שלו, אני יכול למחוק אותו כאן, לעשות move to trash. ועכשיו יש לי רק chisel אחד, רק צריך לעשות Change Mode פלוס X כדי שהקובץ הזה יקבל את הרשאות ההרצאה, את ה-Xים, אז זאת הפקודה.

  9. 02:28

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

  10. 02:45

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

  11. 02:59

    פתאום כל התקשורת עוברת דרך הקליינט החוצה. זאת המשמעות של הרוורס, ואני מתחיל להמתין לקליינטים שיתחברו אליי בפורט 9001. אפשר גם לראות שבאמת יש לנו פה האזנה לסנטסטאט בשמו החדש ss, ורואים שיש האזנה listen בפורט 9001 ל-cheesaw בוא נלך לקליינט שיתחבר בפורט 9001 ואנחנו אומרים כאן במחשב של הקורבן אתה הקליינט אתה מתחבר לשרת ב-HTTP ל-IP כזה וכזה פורט

  12. 03:32

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

  13. 03:51

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

  14. 03:59

    אני עושה Enter פה. הוא עושה Connecting to WebSocket, כזה וכזה. אפשר גם לראות בשרת שהוא אכן התחבר והתחיל להאזין בפורט 1080. אפשר גם לראות שצ'יסל כרגע מאזין גם בפורט 1080 ותופס את הפאקטים.

לקורס המלא: מבדקי חדירה ל‑Active Directory

ההרצאה הקודמת: יצירת HTTP Tunnel - ב-Windows עם Chisel

ההרצאה הבאה: יצירת Reverse Shell - ב-Windows עם Netcat

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

  • מה זה Proxy ?
  • הגדרת פרוקסי Burp Proxy - בדגש על HTTPS
  • פרוקסי באנדרואיד עם Burp
  • Proxy - svcutil

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

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