hacktricks/src/linux-hardening/privilege-escalation/ssh-forward-agent-exploitation.md

1.5 KiB
Raw Blame History

{{#include ../../banners/hacktricks-training.md}}

概要

/etc/ssh_config または $HOME/.ssh/config の設定内でこれを発見した場合、何ができますか:

ForwardAgent yes

もしあなたがマシン内でrootであれば、_ /tmp _ ディレクトリ内で見つけることができる任意のエージェントによって行われた任意のssh接続にアクセスできる可能性があります。

Bobのssh-agentの1つを使用してBobになりすます:

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

なぜこれが機能するのか?

SSH_AUTH_SOCK 変数を設定すると、Bobのssh接続で使用された鍵にアクセスしています。次に、彼の秘密鍵がまだそこにある場合通常はそうなります、それを使用して任意のホストにアクセスできます。

秘密鍵はエージェントのメモリに暗号化されずに保存されているため、Bobであっても秘密鍵のパスワードを知らない場合、エージェントにアクセスして使用することができると思います。

もう一つのオプションは、エージェントの所有者であるユーザーとrootがエージェントのメモリにアクセスし、秘密鍵を抽出できる可能性があることです。

長い説明と悪用

元の研究はこちらをチェック {{#include ../../banners/hacktricks-training.md}}