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

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

בדיקה ראשונה לקריאה בלבד באותה shell היא:

printf '%s\n' "$LD_PRELOAD"

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

שנו את המפעיל ואז הפעילו מחדש את התוכנית

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

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

אם המשתנה חסר, בדקו מקורות טעינה מוגדרים אחרים כמו /etc/ld.so.preload ואת המפעיל בפועל. למנגנון יש גבולות: קבצי הרצה סטטיים, קריאות מערכת ישירות ומגבלות הרצה מאובטחת עשויים להתנהג אחרת. עם sudo, סדר המעטפת חשוב. טעינה שירשה מוסברת יירוט לא צפוי; היא אינה הוכחה שכל סוג של תעבורת רשת משתמש בפרוקסי.

מאמרים קשורים