Το proxychains παραμένει μετά την αφαίρεση του προθέματος
Ακολουθήστε ένα ανεπιθύμητα φορτωμένο περιτύλιγμα proxy μέσω κληρονομικότητας LD_PRELOAD και ξεχωρίστε μελλοντικές εκκινήσεις διεργασιών από βιβλιοθήκες που έχουν ήδη φορτωθεί.
Αφαιρείτε το proxychains από μια εντολή, την εκκινείτε ξανά και βλέπετε ακόμη το μήνυμα εκκίνησης του περιτυλίγματος. Ελέγξτε το περιβάλλον εκκίνησης πριν ψάξετε για ρύθμιση της εφαρμογής.
Στο Linux, το LD_PRELOAD ζητά από τον δυναμικό συνδέτη να φορτώσει καθορισμένα κοινόχρηστα αντικείμενα πριν από τις συνηθισμένες βιβλιοθήκες. Τα περιτυλίγματα proxy μπορούν να χρησιμοποιούν αυτόν τον μηχανισμό για να υποκλέπτουν υποστηριζόμενες κλήσεις δικτύου. Αν κάποιος εξήγαγε τη μεταβλητή σε ένα κέλυφος, τα μεταγενέστερα θυγατρικά προγράμματα μπορούν να την κληρονομήσουν ακόμη και όταν οι γραμμές εντολών τους δεν περιέχουν πρόθεμα περιτυλίγματος.
Ένας πρώτος έλεγχος μόνο για ανάγνωση σε αυτό το κέλυφος είναι:
printf '%s\n' "$LD_PRELOAD"
Αναζητήστε βιβλιοθήκη περιτυλίγματος proxy, αλλά κρατήστε το ενδεχόμενο η μεταβλητή να απαριθμεί και άλλες σκόπιμα φορτωμένες βιβλιοθήκες. Η τυφλή αφαίρεση κάθε καταχώρισης μπορεί να διαταράξει άλλο εργαλείο.
Αλλάξτε τον εκκινητή και μετά επανεκκινήστε το πρόγραμμα
Καθαρίστε την τυχαία προφόρτωση proxy από το περιβάλλον που εκκινεί το επηρεαζόμενο πρόγραμμα. Αν ένα αρχείο εκκίνησης ή ένας εκκινητής την εξάγει, διορθώστε και εκείνη την πηγή. Για εκκινήσεις Bash, ακολουθήστε τη σειρά των αρχείων εκκίνησης. Ένα νέο παιδί ενός καθαρού κελύφους είναι διαφορετική περίπτωση από το παιδί ενός παλιού τερματικού ή IDE που κρατά ακόμη τη μεταβλητή.
Η ακύρωση ορισμού μεταβλητής περιβάλλοντος δεν εκφορτώνει βιβλιοθήκη από διεργασία που έχει ήδη ξεκινήσει με αυτή. Μια εκτελούμενη εφαρμογή μπορεί επομένως να κρατήσει το περιτύλιγμα μέχρι να επανεκκινηθεί μέσω της διορθωμένης διαδρομής εκκίνησης.
Αν η μεταβλητή απουσιάζει, εξετάστε άλλες ρυθμισμένες πηγές προφόρτωσης όπως το /etc/ld.so.preload και τον πραγματικό εκκινητή. Ο μηχανισμός έχει όρια: τα στατικά εκτελέσιμα, οι άμεσες κλήσεις συστήματος και οι περιορισμοί ασφαλούς εκτέλεσης μπορεί να συμπεριφέρονται διαφορετικά. Με sudo, η σειρά του περιτυλίγματος έχει σημασία. Η κληρονομημένη προφόρτωση εξηγεί απρόσμενη υποκλοπή· δεν αποδεικνύει ότι κάθε είδος κίνησης δικτύου χρησιμοποιεί το proxy.