摘要

Reading time: 1 minute

如果您在 /etc/ssh_config$HOME/.ssh/config 配置中发现以下内容,您可以做些什么:

ForwardAgent yes

如果你在机器内是 root,你可能可以 访问任何由你在 /tmp 目录中找到的代理所建立的 ssh 连接

使用 Bob 的 ssh-agent 冒充 Bob:

bash
SSH_AUTH_SOCK=/tmp/ssh-haqzR16816/agent.16816 ssh bob@boston

为什么这有效?

当你设置变量 SSH_AUTH_SOCK 时,你正在访问 Bob 在其 ssh 连接中使用的密钥。然后,如果他的私钥仍然存在(通常是),你将能够使用它访问任何主机。

由于私钥以未加密的形式保存在代理的内存中,我想如果你是 Bob,但不知道私钥的密码,你仍然可以访问代理并使用它。

另一种选择是,代理的用户所有者和 root 可能能够访问代理的内存并提取私钥。

长篇解释和利用

查看 原始研究