ksu
,Kerberized 超级用户,命令能够使用凭证缓存文件(即包含用户的 Kerberos 票证u1) 以便以用户 u1 的身份执行 shell/命令。
我已经使用 Linux 很长时间了,现在我要转向 Windows 世界和 Active Directory 域。我完全是个新手。我了解到,在 Windows 中,凭据(Krb 也是)是通过 LSASS 服务进行管理和存储的,我了解到 RunAs 命令执行的任务类似于 Linux须/须藤但提供用户名/密码。我无法找到使用已获取的 Krb 凭证执行相同任务的命令。
问题
- 在 Windows 中,如何使用获取的 Krb 票证(存储在 LSASS 或其他缓存文件中)以其他用户的名义执行脚本?有命令吗?
- 或者.. 有没有办法用 C#/Java 以编程方式做到这一点?
- 或者.. 是否有办法通过提供可转发的 Krb 票证使用 GSSAPI 远程执行 shell 脚本?
能够使用 Linux 的 ccache 文件等作为凭证……真是太棒了。问候
答案1
恐怕没有办法让它以完全相同的方式在 Windows 中运行。
一个相当蹩脚的解决方案是使用
runas 命令使用/savecred
参数。这样可以保存密码,因此只需在第一次使用 RunAs 命令时输入密码,但这是一个非常糟糕的主意,因为它会造成巨大的安全漏洞。还有一个问题,它只适用于内置管理员帐户,默认情况下禁用,这会造成第二个巨大的安全漏洞。
有关如何使其工作的详细信息,请参阅 如何创建允许标准用户以管理员身份运行应用程序的快捷方式。
我真的建议使用带有用户名的 RunAs 命令,并在运行时提供密码。
对于远程执行,请参阅PsExec 工具 用于在远程系统上启动交互式命令提示符。