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, y que las direcciones MAC de sus tarjetas de red son MAC1, MAC2 y MAC3 respectivamente, esto nos servirá para entender el siguiente párrafo.

Arp spoofing
Es aquí donde entra el ARP (address resolution protocol). El ARP funciona mandando paquetes que hacen la seguiente consulta: “Si tu ip es X.X.X.X mandame tu dirección MAC”, cuando un equipo recibe esta consulta, comprueba que la ip especificada es la suya y si es así responde enviando su dirección MAC, y el equipo que formuló la consulta, guardará la respuesta en la cache con la ip y la MAC (IP/MAC).

Lo importante es que estos paquetes son enviados a todos los equipos de la red, independientemente de si la red está conectada mediante un switch o un 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) incluso si se establecen a través de un 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 ataqueMan in the Middle”.
*”Man in the Middlecontra 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 ‘po ‘P’ , para averiguar el sistema operativo de los equipos de la red pulsaremos ‘fo ‘F’, también podemos editar las cabeceras de los paquetes pulsando ‘xo ‘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_instally 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.


Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!