🖥️SSH Tricks

Apresentação

Irei mostrar algumas tricks que podemos fazer com o utilitário ssh (secure shell)

Port forwarding

(Atacante) 8040 -> SSH Túnel -> 80 (Alvo)
* Atacante se conecta ao alvo

ssh -L 8040:IP:80 user@IP

A opção -L é responsável por fazer o encaminhamento de porta, todos os dados enviados para a porta 8040 a partir da nossa máquina serão enviado para IP:80, ou seja, se tivesse uma porta 80 em loopback no alvo, poderiamos acessar ela em nossa máquina por conta do tunelamento.

Reverse port forwarding

Agora vamos ver como podemos fazer ao contrário:

(Alvo) 9999 -> SSH Túnel -> 8040 (Atacante)
* Alvo se conecta ao atacante

ssh -R 9999:127.0.0.1:8040 user@IP

Ao enviar uma requisição para a porta 9999 a requisição vai para a porta 8040 da nossa máquina local e retorna para o servidor.

SSH + Proxychains

Ao comprometer um SSH pode ser bastante útil visualizar outras redes a fim de encontrar um entry point para ownar outras redes. Podemos enxergar toda a rede que quisermos usando o SSH + Proxychains, usando o chisel também obteria o mesmo resultado, mas o tópico é sobre SSH.

Podemos usar esse túnel para implementar o proxychains, então no arquivo proxychains.conf, ficaria algo semelhante a isso:

SSHUTTLE

Podemos usar o sshuttle para tunelarmos redes internas para a nossa máquina, sem a necessidade de chisel, proxychains, etc.

File Transfer

Podemos utilizar o utilitário scp (secure copy) para a transferência de arquivos via protocolo SSH

SSH Copy ID

Se nós tivermos senha do ssh e quisermos logar com key, ao invés de colocarmos nossa public key dentro do servidor para depois mover para a pasta .ssh, podemos utilizar o utilitário ssh-copy-id

Caso não tenha acesso a senha do ssh, e tenha acesso a máquina

SSH PASS

Caso você tenha a senha do ssh mas não quer ficar toda hora autenticando no serviço, você pode usar o utilitário sshpass

Podemos utiliza-ló facilmente:

SSH Config File

O arquivo config nos permite setar várias opções para rodar automaticamente ao iniciar ssh em um certo host

O arquivo se encontra em ~/.ssh/config, podemos setar Proxy, User, o algoritmo a ser usado, caminho da chave privada, hostname, podemos setar diferentes opções que serão carregadas automaticamente quando eu me conectar em 192.168.0.1 ou teste.

Se quisermos definir opções para todos os hosts podemos utilizar

Para mais opções verifique aqui

Last updated