Uso de Ettercap
Cada dia são mais populares as técnicas de sniffing, arp-spoof, dns-spoof, man in the middle, etc, mas são muitos os que acreditam que estão reservadas para os gurus da rede, e até há pouco tempo era assim, mas neste caso como em tudo, com o tempo, a internet tornou possível o desenvolvimento rápido de ferramentas que fazem com que o que antes era muito complicado, agora seja coisa de miúdos (não estou certo se isso é bom ou mau).
Neste texto vou tentar explicar (de forma geral) como utilizar o programa “Ettercap“.
Escolhi o “ettercap” além de considerar que é uma das melhores ferramentas que se podem encontrar para interceptar conexões, porque acho que depois que TONTETE fez 3 estupendos manuais sobre o tema (Redes e sniffers, Arp-spoof, fundamento e prática, Manual sobre a técnica “Homem no Meio” ), de que “moebius” escreveu um artigo sobre o “dsniff” (para linux), publicado na revista “hackxcrack” Nº11, e que “Vic_Thor” explicou como utilizar o “Cain” (Windows) para interceptar o tráfego de redes através de envenenamento arp (Referências HTTP://www.freewebs.com/victhor/hxc/FAQ/faq2.pdf ) acho que chegou a hora do “Ettercap” e como já faz bastante tempo que não faço um texto deste tipo… já me está a tocar 🙂
Já sei que muitos de vocês têm medo do linux, mas sabem que mais cedo ou mais tarde terão que se atrever, e que melhor momento do que este?, porque o ettercap funciona em linux, embora se preferir continuar a pensar, também pode instalá-lo em Windows, com a ajuda do cygwin, mas sobre isto falaremos mais adiante.
Estes temas podem resultar muito técnicos, Mas como sempre, e para que toda a gente entenda, não vou entrar em explicações profundas sobre o arp, sniff, topologias de rede etc.… só procuro demonstrar o quão fácil pode resultar um ataque teoricamente avançado, mas que hoje em dia qualquer um pode realizar, ou seja, qualquer um pode representar um perigo para a nossa segurança.
INTRODUÇÃO:
Antes de nos aprofundarmos no ettercap, vamos introduzir alguns pequenos conceitos que talvez te ajudem a entender do que se trata tudo isto.
Hub/Switch
Existem muitos tipos de redes, Incluindo, as que conectam os equipamentos através de um hub e as que o fazem através de um switch. Suponhamos que temos uma minired (LAN) com 3 Equipamento, como a de muitos particulares, pequenas empresas, etc, conectados os três a um hub, se o equipamento 1 quer abrir uma pasta (o recurso partilhado) do equipamento 2, o pedido de entrar nessa pasta sai do equipamento 1, vai para o hub e este manda-o para o equipamento 2 e 3, mas como o pedido era para o equipamento 2, o 3 quando o receber simplesmente o ignorará, e o 2 ele o receberá e responderá, e com a resposta voltará a acontecer o mesmo.
Nesta situação, uma pessoa situada no equipamento 3 pode utilizar um sniffer, e deixá-lo a escuta, desta forma pode ver toda a informação que os equipamentos trocam 1 e 2, porque verá no sniffer todos esses pacotes que não eram para ele, mas sim para o equipamento 2.
Se a nossa minired tivesse um switch e não um hub o funcionamento seria diferente, na mesma situação que antes, o pedido do equipamento 1 sairia em direção ao switch, mas este enviaria apenas para a equipa 2, uma vez que é dirigido a ele (esta é a diferença com o hub) , e o 3 não se aperceberia de nada. Agora o sniffer da equipa 3 já não serve para nada.
Ip/Mac
Cada equipa conectada a uma rede/internet, possui (pelo menos) um endereço IP e cada dispositivo de conexão possui um endereço MAC. O endereço IP é do tipo X.X.X.X e serve para distinguir um equipamento de outro quando estes estão conectados (um equipamento isolado, ou seja, sem nenhum tipo de conexão, também tem IP, é o 127.0.0.1). O endereço MAC vai “gravado” em cada dispositivo de conexão (placas de rede, Roteadores, modems…) e em teoria não deve haver 2 iguais no mundo, até há pouco se supunha que não se podiam mudar e desde há pouco tempo existem técnicas para mudá-las (não sempre).
Para que fique mais claro, vamos ver alguns casos.: Uma equipe independente, que se conecta à internet através de um modem terá o IP que lhe for atribuído pelo seu ISP e a MAC que vem de fábrica com o modem.. Se houver vários equipamentos conectados à internet com um modem-router (em multiposto) os equipamentos internet serão identificados pelo IP que o ISP atribuiu ao modem-router; a MAC será a do modem-router., mas entre eles identificar-se-ão uns aos outros (e com o modem-router) mediante o IP que lhe tenha sido atribuído pelo administrador da rede e a MAC das suas placas de rede no caso dos equipamentos, uma vez que o modem-router tem uma MAC própria..
Para o exemplo da nossa minired, vamos supor que o IP do equipamento 1 É 1.1.1.1 o do equipamento 2 É 2.2.2.2 e o do 3 É 3.3.3.3, e que os endereços MAC das suas placas de rede são MAC1, MAC2 e MAC3 respetivamente, isto servir-nos-á para entender o parágrafo seguinte.
ARP spoofing
É aqui que entra o ARP (protocolo de resolução de endereços). O ARP funciona enviando pacotes que fazem a seguinte consulta: “Se o teu IP é X.X.X.X envia-me o teu endereço MAC”, quando um equipamento recebe esta consulta, verifica se o IP especificado é o seu e, se assim for, responde enviando o seu endereço MAC, e o equipamento que fez a consulta, guardará a resposta na cache com o IP e o MAC (IP/MAC).
O importante é que estes pacotes são enviados a todos os equipamentos da rede, independentemente de a rede estar ligada através de um switch ou de um hub.
O arp-spoofing funciona enviando consultas e respostas arp especialmente criadas.
De novo na nossa minired, se o equipamento 3 envia respostas arp para a equipa 1 com a informação IP/MAC manipulada, pode enganá-lo e fazer com que qualquer informação que saia de 1 para 2, na verdade vá para 3, e, portanto, encontramos novamente a equipa 3 pode interceptar toda a comunicação entre 1 e 2 embora a rede tenha um switch.
Dizemos um pouco mais acima “respostas arp especialmente criadas”, o que conteriam essas respostas? simplesmente, a equipa 3 construiria uma resposta em que o conteúdo IP/MAC fosse 2.2.2.2/MAC3 (claro que na realidade isto é mais complicado, mas acho que fica claro o funcionamento), e enviaria para a equipa 1, Por exemplo, Desta forma, esta resposta fica guardada na cache de 1, e acreditará que ao IP 2.2.2.2 corresponde a MAC3 em vez de MAC2 ( a isso chama-se envenenamento ARP).
ETTERCAP
O que é?
Segundo os seus autores:
“Ettercap é um sniffer/interceptor/logger para redes LAN com switches, que suporta a dissecação ativa e passiva de muitos protocolos (inclusivamente cifrados) e inclui muitas características para a análise da rede e do host (anfitrião).
Entre as suas funções, as mais destacadas são as seguintes:
*Injeção de caracteres numa conexão estabelecida emulando comandos ou respostas enquanto a conexão está ativa.
*Compatibilidade com SSH1: Pode interceptar utilizadores e senhas mesmo em conexões “seguras” com SSH.
*Compatibilidade com HTTPS: Intercepta conexões através de http SSL (supostamente seguras) mesmo se forem estabelecidos através de um proxy.
*Intercepta tráfico remoto mediante un tunel GRE: Si la conexión se establece mediante un tunel GRE con un router Cisco, puede interceptarla y crear un ataque “Man in the Middle”.
*”Man in the Middle” contra tuneles PPTP (Point-to-Point Tunneling Protocol).
Soporte para Plug-ins.
Lista de plugins:
Colector de contraseñas en : TELNET, FTP, POP, RLOGIN, SSH1, ICQ, PME, O MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.
Filtrado y sustitución de paquetes.
OS fingerprint: ou seja, detección del sistema operativo remoto.
Mata conexiones.
Escaner de LAN: Hosts, puertos abiertos, Serviços…
Busca otros envenenamientos en la misma red.
Port Stealing (robo de puertos): es un nuevo método para el sniff en redes con switch, sin envenenamiento ARP”.
Esta informação foi extraída da página oficial do Ettercap e dá-nos uma ideia de quão poderosa é esta ferramenta.
Instalação em Linux:
A instalação é muito simples, A versão de que vou falar a partir de agora é a 0.6.b, Primeiro fazemos o download do arquivo na página oficial
http://ettercap.sourceforge.net/index.php?s=download
(Existem também os rpm, mas não os recomendo, porque não incluem todos os plugins que o arquivo tar traz, pelo menos os que eu experimentei)
Uma vez descarregado, descompactamos:
tar -zxvf ettercap-0.6.b.tar.gz
vamos à pasta em que está descompactado:
cd ettercap-0.6.b
e começamos:
./Pôr
se tudo correr bem temos várias opções de make, Eu recomendo que instalem tudo, para isso ponham:
make complete_install
e já está instalado..
Se vais a usar as opções de SSH1 ou HTTPS, são necessárias as bibliotecas OpenSSL ( Referências HTTP://www.openssl.org ) se não as tiverem já instaladas
Instalação no Windows:
Como grande parte dos programas pensados para Linux, é possível fazê-los correr em Windows graças ao cygwin (Referências HTTP://cygwin.com/setup.exe).
Mas também há uma distribuição específica para Windows, podem baixá-la de:
http://sourceforge.net/projects/ettercap/
Aquele que preferir instalar no Windows o pacote para linux está com sorte, o pacote contém um arquivo chamado README.WIN32 no qual explica detalhadamente os passos que devem seguir.
Usando o Ettercap:
Antes de começar com o Ettercap temos que configurar nosso sistema para que aceite todos os pacotes que detete, por isso, abrimos um terminal e escrevemos:
ECO 1 > /proc/sys/net/ipv4/ip_forward
para verificar se o ip_forward está em 1 ó 0 (ativado ou desativado) podemos utilizar este comando:
cat /proc/sys/net/ipv4/ip_forward
e a resposta deveria ser um 1.
Para fazer o mesmo no Windows devemos ir ao registo, à cadeia:
HKLMSYSTEMCurrentControlSetServicesTcpipParameters
e no valor IPEnableRouter colocamos um 1 em vez de um 0.
Agora com o ip_forward ativado e o Ettercap instalado, executamo-lo numa terminal (com dimensões superiores a 80×25) e vemos que a primeira coisa que faz é procurar todos os equipamentos da nossa rede, quando termina, aparece-nos uma tela onde aparecem duas colunas com os IPs encontrados na nossa rede, na coluna da esquerda selecciona-se (movendo os cursores e pressionando enter) a equipa “origem” que se quer espiar, e na da direita o equipamento “destino”, para que nos entendamos, suponhamos que na rede onde estou há um switch que conecta o gateway (172.26.0.1) com o resto dos equipamentos, no momento das capturas há 2 equipamentos ligados 172.26.0.2 e o 172.26.0.4.
O meu equipamento é o 172.26.0.4 e vou tentar interceptar toda a informação que troca o equipamento 172.26.0.2 com a internet, ou seja, a que envia e recebe do 172.26.0.1 através do switch, assim que seleciono na primeira coluna o equipamento 172.26.0.2 e na segunda o 172.26.0.1, isto é o que veremos:

Se pressionarmos F1 veremos o menu de ajuda (todos os menus têm a sua própria ajuda, e sempre podes aceder pressionando F1):

Vemos que há 3 modos de sniffing:
Envenenamento ARP -> pressionando 'a'’ ou 'A'’
Sniffing às IPs -> pressionando 's'’ ou 'S'’
Sniffing às MAC -> pressionando 'm'’ ou 'M'’
No nosso caso vamos pressionar 'a', mas há mais coisas interessantes., para acceder a los plugins hay que pulsar ‘p’ o ‘P’ , para averiguar el sistema operativo de los equipos de la red pulsaremos ‘f’ o ‘F’, también podemos editar las cabeceras de los paquetes pulsando ‘x’ o ‘X’, etc… en fin eso ya es cosa vuestra.
Vamos a activar los plugins que queremos usar, para ello pulsamos ‘q’ (quit) para salir de la ayuda y ahora pulsamos la ‘p’, este es el menú que vemos:

Si bajamos con el cursor vemos que tenemos 34 plugins instalados (los tenemos porque durante la instalación pusimos ‘make complete_install’ y esto incluye los plugins), no los voy a explicar uno por uno, porque cada uno posee una definición suficientemente descriptiva, y porque sin duda surgirán muchos mas.
A escolha dos plugins a utilizar depende das necessidades de cada caso, mas tem cuidado porque alguns são ataques DOS e podem ser perigosos, para a integridade da rede LAN.
Com o cursor moveste pela lista e para selecionar o que quiseres ativar pressionas 'enter', o plugin ficará marcado com um 'A'.
Alguns estão marcados com um 'E', estes são de execução independente, ou seja, não se selecionam, executam-se ao pressionar 'enter'.
Se tiveres dúvidas, Para testar, seleciona os que tiverem 'E'…senha…’ 😉
Neste exemplo eu ativo os seguintes: H13_giant2, H20_dwarf, H30_thief (é mais do que preciso para interceptar senhas e e-mails)
Para ver a partir da linha de comandos que plugins tens instalados escreve numa terminal: 'ettercap -Np list’ y para ejecutar uno en concreto 'ettercap -Np nombre_del_pluging host'.
Hay mucho mas que saber sobre los plugins, para ello leete el archivo 'README. PLUGINS', y si tienes alguna duda sobre el uso de algún plugin, cada uno se encuentra en una carpeta con su nombre dentro de la carpeta 'plugins', y algunos junto con su correspondiente HOWTO.
Salgo del menú de plugins (pulsando 'q') y comienzo a capturar, en este caso debido al switch pulsando la 'a’ (envenenamiento ARP), y esto es lo que se ve:

Vemos que queda detallado el estado en que se encuentra cada comunicación etablecida (ATIVE, CLOSED, KILLED…) y el tipo o protocolo (Referências HTTP, domínio…)
En la parte de arriba vemos que información sobre la sesión que hemos configurado, neste caso os filtros estão desativados (Filtro: DESLIGADO) e a captura de passwords ativa (Dissector Ativo: LIGADO) e o tipo de sniff é ARP.
Podemos abrir a ajuda (F1) para ver tudo o que podemos fazer.
Pressionando 'enter’ sobre qualquer linha podemos fazer um sniff à conexão selecionada, se esta estiver ativa (ATIVE) veremos como no quadro da esquerda aparece o enviado pela equipa alvo e no da direita o enviado da equipa remota para a equipa alvo.
Esta é a captura:

e tenho que encontrar as passwords aí?? Não, o Ettercap é muito inteligente, e facilita o trabalho, desvendando os utilizadores e passwords que encontra, na parte inferior da janela, quando selecionamos a conexão onde se encontram.
Por exemplo, esta é a captura da password do hotmail quando alguém se conecta ao seu correio via web:

como veem em baixo vê-se o utilizador, a password e a URL em que foram utilizadas. Reparem bem que a conexão é https (teoricamente segura).
Embora nem tudo seja tão bonito, esta é a captura de um início de sessão do MSN:

Como vêem não nos dá a password em texto puro (logicamente), mas… E o roubo de sessões? hmmmm, não sei, não sei, bem, isso é um tema longo, para outra vez 🙂
Enfim, quando te cansares, pressionas 'l’ ou 'L’ e ficam guardadas em log todas as passwords capturadas.
Poço, acho que como exemplo já é suficiente, ainda há muitas coisas para ver, por exemplo as capturas de POP, FTP, TELNET, IRC … , a edição manual dos cabeçalhos dos pacotes enviados, os filtros (que permitem capturar e editar cadeias “no voo”, etc… mas isso toca-te a ti.
Como vês, todo este texto, mais do que um manual, é uma apresentação, de contacto inicial, ou chama-lhe o que quiseres, espero que pelo menos tenha servido para aumentar um pouco os conhecimentos de alguém sobre estas técnicas que estão em voga.







































