mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
{{#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}}
|