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

27 lines
1.4 KiB
Markdown

{{#include ../../banners/hacktricks-training.md}}
# 요약
`/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가 에이전트의 메모리에 접근하여 개인 키를 추출할 수 있다는 것입니다.
# 긴 설명 및 악용
**[원본 연구를 여기서 확인하세요](https://www.clockwork.com/insights/ssh-agent-hijacking/)**
{{#include ../../banners/hacktricks-training.md}}