Loading...
Rexec
Rexec (Remote Execution Daemon) is a service traditionally used on UNIX systems allowing users to execute commands on a remote machine over a network. It facilitates remote process execution by authenticating with a username and password sent in plain text, which poses significant security risks. While once commonly adopted in trusted internal environments for remote management, Rexec has largely been superseded by more secure technologies due to its inherent vulnerabilities..
Rexec operates as part of the r-command suite on UNIX systems, which also includes rlogin and rsh. It enables a client system to authenticate and request command execution on a remote host running the rexecd daemon over TCP port 512. The client initiates a connection, supplies credentials, and specifies the command to execute, with the output sent back over the network.
The protocol itself is straightforward but lacks negotiation or encryption layers, relying instead on plaintext communication. It forfeits modern safeguards in favor of simplicity and low overhead, making it suitable in trusted, closed network environments historically. The daemon listens continuously on port 512, accepting authenticated requests and executing commands with the provided user context.
Technically, Rexec provides a basic but risky remote shell facility and process execution method. Its design origins predate advanced security concepts like encrypted tunnels and robust access control, which today renders it unsuitable except in the most controlled legacy scenarios or testing labs.