Bypass sshd AllowTCPFowarding = não instalando o próprio encaminhador?

3

Nas man pages de sshd_config , para a opção AllowTCPForwarding , ele afirma:

AllowTcpForwarding

Specifies whether TCP forwarding is permitted. The default is “yes”. Note that disabling TCP forwarding does not improve security unless users are also denied shell access, as they can always install their own forwarders.

Alguém por favor pode elaborar? Eu não entendo como alguém pode instalar seu próprio encaminhador para contornar o TcpForwarding. Alguém teria que instalar um servidor proxy de tipos e, em seguida, criar um túnel para o servidor proxy remoto?

    
por Eric B. 06.12.2012 / 16:51

2 respostas

5

Bem, o encaminhamento de SSH é um tipo de servidor proxy. Ele funciona aceitando a conexão de um lado, fazendo uma conexão no outro lado e, em seguida, encaminhando dados entre os dois.

Você poderia facilmente fazer isso também. Por exemplo, com o netcat:

nc -l -p 1234 ⇆ ssh user@remote 'nc remote2 80'

em que representa uma das maneiras de configurar um tubo bidirecional . Isso deve mais ou menos fazê-lo (ignorando quaisquer problemas de buffer).

Não é tão legal quanto o embutido, mas é claro que com um pouco de trabalho na sua linguagem de script de escolha, pode ser.

    
por 06.12.2012 / 17:05
1

O usuário com acesso ao shell pode executar facilmente sshd com sua própria configuração (que pode, por exemplo, permitir o encaminhamento de TCP) em uma porta não privilegiada. Portanto, desabilitá-lo para o daemon do sistema regular não faz muito sentido, a menos que você faça uma tonelada de outras coisas que endurecem.

    
por 06.12.2012 / 17:10