运行 自己或其他程序作为 sudo 一旦我的 Python 脚本知道密码?
Running self or other program as sudo once my Python script knows the password?
我正在研究 Linux 加固,发现脚本一旦知道用户的 sudo 密码就可以升级到 root。
我想做一个POC。
Python 脚本如何在知道 sudo
password
后自行升级为 root?我假设我必须使用 subprocesses
.
我问的不是获取密码。您必须假设我的脚本已经通过此处提到的任何方法获得了密码 https://superuser.com/a/793241
如果你走 subprocess
路线,那么你可以在 sudo
上使用 -S
标志,这样你就可以通过 stdin
传递密码:
p = subprocess.Popen(['sudo', '-S', 'python', 'my_script.py'], stdin=subprocess.PIPE)
p.communicate(b'thesudopassword\n')
不过,据我所知,无法将当前 运行 进程的 UID 提升为 root。以 root 身份启动新的 Python 或其他进程可能会容易得多,如示例中所示。
我正在研究 Linux 加固,发现脚本一旦知道用户的 sudo 密码就可以升级到 root。
我想做一个POC。
Python 脚本如何在知道 sudo
password
后自行升级为 root?我假设我必须使用 subprocesses
.
我问的不是获取密码。您必须假设我的脚本已经通过此处提到的任何方法获得了密码 https://superuser.com/a/793241
如果你走 subprocess
路线,那么你可以在 sudo
上使用 -S
标志,这样你就可以通过 stdin
传递密码:
p = subprocess.Popen(['sudo', '-S', 'python', 'my_script.py'], stdin=subprocess.PIPE)
p.communicate(b'thesudopassword\n')
不过,据我所知,无法将当前 运行 进程的 UID 提升为 root。以 root 身份启动新的 Python 或其他进程可能会容易得多,如示例中所示。