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

39 lines
2.3 KiB
Markdown
Raw Normal View History

<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
2023-06-06 18:56:34 +00:00
# Resumo
2022-04-28 16:01:33 +00:00
O que você pode fazer se descobrir dentro do arquivo `/etc/ssh_config` ou dentro de `$HOME/.ssh/config` esta configuração:
```
ForwardAgent yes
```
Se você é root dentro da máquina, provavelmente pode **acessar qualquer conexão ssh feita por qualquer agente** que você possa encontrar no diretório _/tmp_
Impersonate Bob usando um dos ssh-agent de Bob:
```bash
SSH_AUTH_SOCK=/tmp/ssh-haqzR16816/agent.16816 ssh bob@boston
```
2023-06-06 18:56:34 +00:00
## Por que isso funciona?
Quando você define a variável `SSH_AUTH_SOCK`, está acessando as chaves de Bob que foram usadas na conexão ssh de Bob. Então, se sua chave privada ainda estiver lá (normalmente estará), você poderá acessar qualquer host usando-a.
Como a chave privada é salva na memória do agente sem criptografia, suponho que se você for Bob, mas não souber a senha da chave privada, ainda poderá acessar o agente e usá-lo.
Outra opção é que o usuário proprietário do agente e o root podem ser capazes de acessar a memória do agente e extrair a chave privada.
# Explicação detalhada e exploração
**Confira a [pesquisa original aqui](https://www.clockwork.com/insights/ssh-agent-hijacking/)**