{{#include ../../banners/hacktricks-training.md}} # 概要 `/etc/ssh_config` または `$HOME/.ssh/config` の設定内でこれを発見した場合、何ができますか: ``` ForwardAgent yes ``` もしあなたがマシン内でrootであれば、_ /tmp _ ディレクトリ内で見つけることができる任意のエージェントによって行われた**任意のssh接続にアクセスできる**可能性があります。 Bobのssh-agentの1つを使用してBobになりすます: ```bash SSH_AUTH_SOCK=/tmp/ssh-haqzR16816/agent.16816 ssh bob@boston ``` ## なぜこれが機能するのか? `SSH_AUTH_SOCK` 変数を設定すると、Bobのssh接続で使用された鍵にアクセスしています。次に、彼の秘密鍵がまだそこにある場合(通常はそうなります)、それを使用して任意のホストにアクセスできます。 秘密鍵はエージェントのメモリに暗号化されずに保存されているため、Bobであっても秘密鍵のパスワードを知らない場合、エージェントにアクセスして使用することができると思います。 もう一つのオプションは、エージェントの所有者であるユーザーとrootがエージェントのメモリにアクセスし、秘密鍵を抽出できる可能性があることです。 # 長い説明と悪用 **[元の研究はこちらをチェック](https://www.clockwork.com/insights/ssh-agent-hijacking/)** {{#include ../../banners/hacktricks-training.md}}