Túnel ssh invertido com meias

0

Minha situação é a seguinte:

  • Trabalhe com o mac por trás do firewall, chamado de 'Vítima'. (High Sierra 10.13.3)
  • O Ubuntu VHS na rede, chamado de 'servidor'. Que tem o ssh em execução na porta 2222. (Ubuntu 16.04)
  • outro Mac também por trás do firewall, chamado de 'atacante'. (High Sierra 10.13.3)

Eu quero usar meias para visitar sites internos acessíveis apenas por "vítima".

Quando eu faço ssh -R 5555:localhost:22 [email protected] -P 2222 de 'vítima' e ssh em 'servidor' do atacante e executo ssh victim@localhost -p 5555 , eu tenho acesso de shell do atacante na vítima.

O que preciso alcançar é usar meias para visitar sites que só possam ser acessados pela "vítima".

Eu entendo que devo configurar um túnel invertido da vítima para o servidor e configurar um encaminhamento no servidor da porta de entrada para a porta de conexão reversa e também configurar o encaminhamento no atacante de localhost para remoto (que se conecta ao servidor) mas como eu faço isso?

Quando eu configuro as meias diretamente do atacante para o servidor, eu apenas executo ssh -D 8080 [email protected] -p 2222 e configurei o proxy socks v5 localhost: 8080 no Firefox, mas não entendo como eu coloquei o forward no servidor ...

Alguém que pode me explicar isso? Thx

    
por Iz0r 31.01.2018 / 14:30

1 resposta

1

Aparentemente, ninguém pode responder a esta pergunta, tudo bem, porque eu mesmo encontrei a resposta.

Aqui estão as respostas:

  • Em vítima : ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
  • Em atacante # 1: ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>
  • Em atacante # 2: ssh -p 4444 -D localhost:3333 user_on_victim@localhost
  • Em atacante # 3: no Firefox ou no irc, ou mesmo para as configurações gerais de rede: Configurações de proxy do Socks (v5): 127.0.0.1 porta 3333

Cada aplicativo em que você definir o host local host com a porta 3333 será encaminhado via serv para a vítima e quando você visitar algo como link you ' Vou ver o ip / host da vítima. Daqui em diante, você pode até usar aplicativos GUI no atacante (se você configurar configurações de meias para o aplicativo específico ou para o sistema como um todo), que serão tunelados via serv para vítima e você agirá como a vítima como tal.

O erro que cometi no meu processo de pensamento foi que eu realmente não entendi como o esquema de portas invertidas se parece, tentarei explicá-lo em termos simples.

Ação da vítima

ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
  • -N = Eu não vou executar comandos no shell
  • -f = coloca o processo em segundo plano (assim você pode fechar a janela do terminal)
  • -R = túnel invertido
  • 5555:localhost:22 = 5555 é a porta na qual o serviço está internamente escutando os dados para a porta 22 na vítima . Se você configurou a vítima para executar o ssh na porta 2222, você deve alterar de 22 para 2222.
  • -p = porta na qual o ssh em serv está em execução.

1ª ação de ataque

ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>'

O primeiro comando que você faz no atacante ( -L 4444:localhost:5555 ) irá configurar um túnel para que sua conexão com o seu terceiro comando seja expandida para vítima . (Isso é apenas para aplicativos de encaminhamento de porta dinâmica / Socks)

Se você quer apenas ter acesso ao shell em vítima em vez desse comando, basta usar ssh em para servir & que executar o comando: 'ssh user_on_victim @ localhost -p 5555'.

Mas não queremos acesso ao shell, queremos encapsular todos os dados dinamicamente, por isso, temos que fazer um encaminhamento de porta.

Ou a explicação esquemática

  • -L = encaminhamento de porta local (em serv )
  • - 4444:localhost:5555 coloca todos os dados na porta 4444 para a porta 5555.

2ª ação de ataque

O segundo comando que você faz em atacante

ssh -p 4444 -D localhost: 3333 user_on_victim @ localhost

é o comando real que vai inicializar a conexão através dos dois túneis. O que você faz é dizer: conecte à porta 4444 e coloque todos os dados que estão chegando (porta 3333 localhost) para 4444. (que será colocado localmente em serv para a porta 5555 - > que será enviado para o porto 22 em vítima .

Ou a explicação esquemática

  • -D = Reencaminhamento dinâmico
  • localhost:3333 = escute na porta 3333 e envie os dados por meio da conexão ssh para a porta 4444 para o serv.
  • -p 4444 = a porta em que serv está escutando para colocar os dados para a porta 5555 e depois para a porta 22 em vítima .

3ª ação de ataque

Configure seus aplicativos ou até mesmo o sistema inteiro para usar o servidor proxy SOCKS (v5) no endereço: porta do host local: 3333. Não importa em quais portas esses aplicativos são executados normalmente porque isso será tratado pelo servidor proxy. Em teoria, cada aplicativo pode ser executado via encaminhamento de porta dinâmica de proxy socks. Você só precisa configurá-lo. :)

A terceira ação em atacante são os dados reais que você vai enviar para vítima . Não importa qual seja o dado ou aplicativo, é por isso que é o encaminhamento dinâmico, não importa em quais portas esses aplicativos são executados porque isso será tratado pelo SOCKS.

Espero que alguém encontre uso na minha explicação.

Tenha um bom dia ....

    
por 02.02.2018 / 00:18

Tags