Qu'est ce qui empêche l'attaquant de prendre la lib trouée et de l’exécuter sur la machine qu'il souhaite attaquer ?
C'est pas la libc qui a les droits root. La libc trouée a un problème de nettoyage d'environnement des binaires SUID.
Le bit SUID il est sur le binaire (/usr/bin/su en l'occurence). Et le binaire, il va pas chercher des libs n'importe où, hein. La libc, il va la chercher dans quelques endroits bien précis. Ces endroits sont généralements own par root. Genre si t'es root, tu peux modif la libc du système et abuser de la vuln pour défoncer un programme suid (mais bon faut déjà être root haha).
Dans la vraie vie, ouais tu peux load des bibliothèques ailleurs que dans /lib /usr/lib etc... genre avec LD_PRELOAD... Sauf que les binaires SUID ne suivent justement pas LD_PRELOAD pour des raisons évidentes de sécurité. Donc bon, tu as beau copier la lib trouée sur un système sain, tu ne peux pas l'utiliser avec les binaires suid du système.
[^] # Re: User space
Posté par octane . En réponse au journal des vulns des vulns des vulns! libc, curl, tout ça!!. Évalué à 10. Dernière modification le 04 octobre 2023 à 15:17.
C'est pas la libc qui a les droits root. La libc trouée a un problème de nettoyage d'environnement des binaires SUID.
Le bit SUID il est sur le binaire (/usr/bin/su en l'occurence). Et le binaire, il va pas chercher des libs n'importe où, hein. La libc, il va la chercher dans quelques endroits bien précis. Ces endroits sont généralements own par root. Genre si t'es root, tu peux modif la libc du système et abuser de la vuln pour défoncer un programme suid (mais bon faut déjà être root haha).
Dans la vraie vie, ouais tu peux load des bibliothèques ailleurs que dans /lib /usr/lib etc... genre avec LD_PRELOAD... Sauf que les binaires SUID ne suivent justement pas LD_PRELOAD pour des raisons évidentes de sécurité. Donc bon, tu as beau copier la lib trouée sur un système sain, tu ne peux pas l'utiliser avec les binaires suid du système.