sudo proxychains vs. proxychains sudo: proč záleží na pořadí
Pochopte, proč proxychains sudo může ztratit svou odchytovou knihovnu, zatímco sudo proxychains spouští obal v cílovém kontextu spuštění.
Tyto příkazy nemají stejnou hranici spuštění:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng zařídí, aby se knihovna přednačetla do cílového programu. V Linuxu spuštění programu se set-user-ID, jako je sudo, aktivuje bezpečnostní pravidla zavaděče, která odstraní příslušné proměnné načítání knihoven dříve, než je sudo stihne zachovat.
Proto "zachovat více prostředí" není spolehlivá oprava pro vložení sudo dovnitř obalu. Manuál sudoers výslovně uvádí, že proměnné jako LD_* se odstraňují předtím, než sudo začne.
Pokud příkaz skutečně vyžaduje cílový účet, spusťte obal v tomto oprávněném kontextu. Poté zkontrolujte, kterou konfiguraci čte: sudo může změnit HOME, PATH a příslušný soubor pro uživatele. Fungující neprivilegované volání nedokazuje, že root zvolil stejný seznam proxy.
Upřednostněte nativní proxy rozhraní programu, pokud ho nabízí. Vyhnete se tak závislosti na odchytávání u požadavku, který program už umí směrovat.
Mějte také na paměti limity pokrytí proxychains. Jeho zpráva při spuštění dokazuje, že obal se spustil; nedokazuje, že surové pakety, nepodporovaná volání nebo samostatně spuštěný existující proces aplikace použily jeho knihovnu. Ověřte síťovou operaci, kterou jste chtěli odchytit, místo abyste privilegium root považovali za důkaz, že každá operace byla odchycena.