טוב, בטח הולך לקרות עם המטלה הזאת בדיוק מה שקורה עם כל האחרות שלי, אני מפרסם בעיה, ממשיך לחקור, מעלה לכאן כמה רמזים שאני מוצא, בסוף פותר את זה ומפרסם פיתרון...
לא משנה...
בכל מקרה, הנה כמה רמזים:
סגרתי הכל - אף תוכנה שעושה משהו עם האינטרנט לא הייתה פתוחה והרצתי sniffer (את'ריל) על eth0.
הנה תקציר החבילות שעוברות (אחרי כמו דקות סגרתי כי ראיתי שהן חוזרות על עצמן).
דבר ראשון - התחלתי לקרוא את הספציפיקציות של RFC2637, זה פרוטוקול PPTP. מסתבר שהן השרת והן הלקוח שולחים אחד לשני בקשות פינג מיוחדות כל כמה זמן - ככה הם יודעים שיש חיבור. Ethereal גילה שקורים כמה דברים באופן מחזורי (אני אתייחס ל- 10.0.0.138 כ- "השרת" ול- 10.200.1.1 כ- "הלקוח"):
כל חצי דקה השרת שולח בקשת ECHO_REQUEST שאליו הלקוח חייב להגיב ב- ECHO_REPLAY.
כשהשרת שולח משהו (כל דבר) הפאקט יוצאת מפורט 1732 ומיועדת לפורט 34131. כשהלקוח שולח משהו, הפורטים הפוכים.
כל דקה הלקוח שולח בקשת פינג לשרת.
כלומר כל חצי של דקה יש בקשת פינג מהשרת ללקוח, ותשובה, וכל דקה שלמה יש שתי בקשות ושתי תשובות - אחת מכל אחד.
אחרי שחבילת ECHO_REPLAY עוברת, מי ששלח ECHO_REQUEST שולח גם פאקט TCP רגיל עם ACK. כל חצי דקה השרת שולח רק פאקט ACK אחד, אבל כל דקה נשלחים ארבעה כאלה, שניים מכל צד של החיבור.
כשהשרת שולח ACK, הפאקט יוצא מפורט 1723 ונכנס לפורט 34131, כשהלקוח שולח, הפורטים הפוכים (כנ"ל).
בנוסף, יש רצף שחוזר על עצמו, של ארבע חבילות שמתבצע כל 11 שניות והולך ככה:
השרת שולח PPP LCP Echo Request דרך פרוטוקל PPP LCP ללקוח.
הלקוח שולח Encapsulated PPP דרך פרוטוקול GRE לשרת.
הלקוח שולח PPP LCP Echo Reply דרך פרוטוקל PPP LCP לשרת.
השרת שולח Encapsulated PPP דרך פרוטוקול GRE ללקוח.
אם אי לא טועה הפורט של פרוטוקול ה- GRE הוא 47...
עוד משהו, כל דקה בהפרש של משהו כמו 44 שניות מבקשות ה- ECHO_REQUEST של השרת, הלקוח שולח בקשת ARP לשרת ושואל אותו לגבי 10.0.0.138, הוא מבקש לשלוח את התשובה ל- 10.200.1.1. השרת את שולח ללקוח את כתובת ה- MAC של כרטיס הרשת של השרת.
סתם שאלה... זה חוקי שעשיתי את זה? ז"א, ניתחתי את הפרוטוקול ע"י הסתכלות במה עובר בו?
בכל מקרה, אם זה יכול לעזור למישהו לעזור לי להרכיב מערכת כללים לחומת האש שלי, אני אודה לו...
_________________
יש 10 סוגים של אנשים בעולם - אלה שיודעים בינארית, ואלה שלא.
[ נערך על-ידי z9u2K בתאריך 02/05/03 14:52:07 ]