rexec exécute une commande sur un hôte distant via rexecd sur TCP 512. Contrairement à rsh, il a été conçu autour d'un nom d'utilisateur/mot de passe, envoyé en clair, et certaines implémentations honorent aussi les fichiers de confiance basés sur l'hôte. Les attaques découlent de ces deux faits. L'identifiant en clair est capturé par un attaquant bien positionné. Les relations d'hôtes de confiance, lorsqu'elles sont honorées, donnent une exécution de commande sans mot de passe tout comme avec rsh. Et là où le serveur ou un wrapper construit la commande exécutée à partir d'une entrée influencée par l'attaquant de manière non sûre, l'injection de commande étend ce qui s'exécute. Un rexec réussi exécute une commande en tant qu'utilisateur authentifié.
# run a command with credentials (sent in cleartext)
rexec -l <user> -p <password> <target> id
nmap -p512 -sV <target>
Sous-thèmes#
- Mots de passe en clair : capturer l'identifiant rexec.
- Contournement d'hôte de confiance : exécution sans mot de passe via la confiance d'hôte.
- Injection de commande : abuser d'une construction de commande non sûre.