top of page
Foto do escritorKelvem Sousa

Detecção de port forwarding SSH

Atualizado: há 6 dias

Autor: Kelvem Sousa

O encaminhamento de portas SSH (MITRE ATT&CK - Remote Services: SSH) é uma das principais técnicas utilizadas para movimentação lateral em hosts Linux, basicamente, você pode encaminhar qualquer o tráfego de qualquer porta através de uma conexão SSH.


Existem 3 tipos de encaminhamento de portas SSH, eles são


  • Encaminhamento local;

  • Encaminhamento remoto; e

  • Encaminhamento dinâmico.


Abordaremos apenas o encaminhamento local e encaminhamento remoto.

A partir do momento que um atacante consegue um acesso valido via SSH, basta realizar o seguinte comando para realizar os redirecionamentos:


  • Porta local


Comando utilizando 

ssh -L ip_atacante:3306:vitima:3306 user@vitima

O fluxo de redirecionamento local funciona da seguinte forma:



  • Porta remota


Comando utilizado

ssh -L ip_atacante:80:webserver:80 user@vitima

O fluxo de redirecionamento remoto funciona assim:



Como podemos detectar?


Por padrão o SSH está habilitado para logs informativos (LogLevel INFO), que fornece informações sobre autenticações com falha/sucesso, IP de origem e sessões, impossibilitando identificar o encaminhamento de porta, felizmente, podemos habilitar logs de depuração (LogLevel DEBUG1) que proporciona maior visibilidade, e fornece as conexões encaminhadas.

Para habilitar, basta editar o arquivo /etc/ssh/sshd_config e adicionar a linha LogLevel DEBUG1 conforme mostrado na imagem abaixo:



E executar o comando para restartar o SSH

service ssh restart

pronto, feito isso, vamos validar!


Cenário 1


No primeiro, vamos realizar um teste de redirecionamento de porta local.

"O atacante realizar o redirecionamento da porta 3306 para conectar no banco de dados mysq"


O comando que utilizei para realizar o redirecionamento é 

ssh -L 192.168.0.68:3306:localhost:3306 vitima@192.168.0.141

Configuramos o redirecionamento, mas se olharmos os logs, não temos nenhuma evidencia do encaminhamento para localhost:3306, apenas a autenticação normal no SSH. Podemos validar isso lendo o arquivo /var/log/auth.log com o comando:

cat /var/log/auth.log

Agora, vamos conectar no MySql utilizando o DBeaver (instalado na maquina 192.168.0.68)



Lembrando, estamos conectando na porta local do nosso host 192.168.0.68:3306 para conectar no host 192.168.0.141:3306



Perfeito, conectado com sucesso!


Agora se lermos o arquivo /var/log/auth.log, identificaremos o encaminhamento da porta, ele mostra que uma conexão foi iniciada via SSH connected to localhost port 3306

Com isso, podemos detectar que foi feito um encaminhamento de porta para a porta local 3306.



Cenário 2


No segundo cenário temos:


"O atacante configura o encaminhamento de porta remoto via SSH para conectar-se ao pfsense inacessível (http://192.168.159.130) diretamente da rede 192.168.0.68"



O comando que utilizamos para realizar o redirecionamento é 

ssh -L 192.168.0.68:80:192.168.159.130:80 vitima@192.168.0.141

Se novamente lermos o arquivo /var/log/auth.log, não temos nenhuma evidencia do encaminhamento para 192.168.159.130:80



Porém, acessando diretamente da nossa máquina o endereço http://localhost, conseguimos acessar o console pfsense que não teríamos acesso diretamente



Agora se olharmos novamente para o arquivo de log /var/log/auth.log vamos identificar o encaminhamento de porta, ele mostra que uma conexão foi iniciada via SSH connected to 192.168.159.130 port 80



254 visualizações0 comentário

Posts recentes

Ver tudo

Security Every Day © 2024 - Todos os Direitos Reservados por SecDay

  • alt.text.label.LinkedIn
  • alt.text.label.YouTube
bottom of page