Ces commandes n'ont pas la même frontière d'exécution :

proxychains4 sudo command
sudo proxychains4 command

Proxychains-ng fait en sorte qu'une bibliothèque soit préchargée dans le programme cible. Sous Linux, l'exécution d'un programme set-user-ID comme sudo déclenche les règles de sécurité du chargeur, qui suppriment les variables de chargement de bibliothèques concernées avant que sudo ne puisse les préserver.

Par conséquent, « préserver davantage d'environnement » n'est pas une correction fiable pour placer sudo à l'intérieur du wrapper. Le manuel sudoers décrit explicitement que des variables comme LD_* sont supprimées avant que sudo ne démarre.

Si une commande exige réellement le compte cible, lancez le wrapper dans ce contexte autorisé. Vérifiez ensuite quelle configuration il lit : sudo peut modifier HOME, PATH et le fichier par utilisateur applicable. Une invocation non privilégiée qui fonctionne ne prouve pas que root a choisi la même liste de proxys.

Préférez l'interface proxy native du programme lorsqu'il en propose une. Cela évite de dépendre de l'interception pour une requête que le programme sait déjà router.

Gardez aussi à l'esprit les limites de couverture de proxychains. Son message de démarrage prouve que le wrapper a démarré ; il n'établit pas que des paquets bruts, des appels non pris en charge ou un processus applicatif existant lancé séparément ont utilisé sa bibliothèque. Confirmez l'opération réseau que vous vouliez intercepter, plutôt que de considérer le privilège root comme la preuve que chaque opération a été interceptée.

Articles similaires