Je haalt proxychains uit een commando, start het opnieuw en ziet nog steeds het opstartbericht van de wrapper. Controleer de startomgeving voordat je een instelling in de toepassing zoekt.

Op Linux vraagt LD_PRELOAD de dynamische linker om opgegeven gedeelde objecten vóór gewone bibliotheken te laden. Proxy-wrappers kunnen dat mechanisme gebruiken om ondersteunde netwerkaanroepen te onderscheppen. Als iemand de variabele in een shell heeft geëxporteerd, kunnen latere kindprocessen die erven, zelfs wanneer hun commandoregels geen wrapper-voorvoegsel bevatten.

Een eerste alleen-lezen controle in die shell is:

printf '%s\n' "$LD_PRELOAD"

Zoek een proxy-wrapper-bibliotheek, maar houd de mogelijkheid open dat de variabele ook andere bewust geladen bibliotheken vermeldt. Alle regels blind verwijderen kan een ander hulpmiddel verstoren.

Wijzig de starter en start het programma daarna opnieuw

Verwijder de toevallige proxy-voorbelasting uit de omgeving die het getroffen programma start. Als een opstartbestand of starter die exporteert, corrigeer dan ook die bron. Volg bij Bash-starts de volgorde van opstartbestanden. Een nieuw kind van een schone shell is een ander geval dan een kind van een oude terminal of IDE die de variabele nog vasthoudt.

Een omgevingsvariabele wissen laadt geen bibliotheek uit een proces dat er al mee is gestart. Een draaiende toepassing kan de wrapper daarom behouden totdat hij via het gecorrigeerde startpad opnieuw wordt gestart.

Als de variabele ontbreekt, onderzoek dan andere geconfigureerde voorbelastingsbronnen zoals /etc/ld.so.preload en de werkelijke starter. Het mechanisme heeft grenzen: statische uitvoerbare bestanden, directe systeemaanroepen en beperkingen voor veilige uitvoering kunnen zich anders gedragen. Met sudo is de volgorde van de wrapper belangrijk. Een geërfde voorbelasting verklaart onverwacht onderscheppen; het is geen bewijs dat al het netwerkverkeer de proxy gebruikt.

Gerelateerde artikelen