Segurança Aula 04 Ataques Camada 2 Mauro Mendes – mar/2014
Camadas Arquiteturas de Rede 1-Física Acesso à Rede 2-Enlace Internet 3-Rede Transporte 4-Transporte 5-Sessão 6-Apresentação Aplicação 7-Aplicação TCP/IP OSI
Transmissão usando Roteamento direto (mesma Rede) Com Hubs externa Rede 10.0.0.0 P1 Hub P1 P1 P1 Hub-trabalha na camada física Recebe um sinal elétrico e replica-o em todas as suas portas. Como B sabe que a transmissão é prá ele? A B http://10.0.0.2/index.htm Montando o pacote (P1) para transmissão 01-01-01-01-01-01,01-01-01-01-01-02 Camada de Enlace 10.0.0.1,10.0.0.2 Internet (Interede,Rede) 1032,80 (Portas) Seq=100 Transporte Get index.htm (Método Http) Aplicação Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02
Transmissão usando Roteamento direto (mesma Rede) Com Hubs externa Rede 10.0.0.0 P1 Hub P1 P1 P1 Quem se preocupa com as camadas de enlace, rede, transporte e aplicação nesta transmissão? A B http://10.0.0.2/index.htm Montando o pacote (P1) para transmissão 01-01-01-01-01-01,01-01-01-01-01-02 Camada de Enlace 10.0.0.1,10.0.0.2 Internet (Interede,Rede) 1032,80 (Portas) Seq=100 Transporte Get index.htm (Método Http) Aplicação Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02
Get index.htm (Método Http) Transmissão usando Roteamento direto (mesma Rede) Com Switches Tabela de Portas Switch 0=01-01-01-01-01-01 1=01-01-01-03-04-05 2=01-01-01-01-01-02 3=01-01-01-03-04-07 Rede externa Rede 10.0.0.0 P1 P1 A B http://10.0.0.2/index.htm Montando o pacote (P1) para transmissão 01-01-01-01-01-01,01-01-01-01-01-02 Enlace 10.0.0.1,10.0.0.2 Internet 1032,80 (Portas) Seq=100 Transporte Get index.htm (Método Http) Aplicação Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02
Get index.htm (Método Http) Transmissão usando Roteamento direto (mesma Rede) Com Switches Tabela de Portas Switch (CAM) 0=01-01-01-01-01-01 1=01-01-01-03-04-05 2=01-01-01-01-01-02 3=01-01-01-03-04-07 Rede externa Rede 10.0.0.0 P1 P1 Quem se preocupa com as camadas de enlace, rede, transporte e aplicação nesta transmissão? A B http://10.0.0.2/index.htm Montando o pacote (P1) para transmissão 01-01-01-01-01-01,01-01-01-01-01-02 Enlace 10.0.0.1,10.0.0.2 Internet 1032,80 (Portas) Seq=100 Transporte Get index.htm (Método Http) Aplicação CAM Content-addressable memory Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02
Tranmisssão usando Switches Rede 10.0.0.0 A tabela de portas do Switch inicialmente está vazia A partir das transmissões, o Switch vai montando a tabela com base nas informações dos endereços MAC DE ORIGEM dos quadros (frames) Esta tabela é usada para encaminhar os quadros para as portas específicas dos Hosts de destino P1 P3 P2 A B C Tabela de Portas Switch Porta Mac P1 01-01-01-01-01-01 P2 01-01-01-01-01-02 P3 01-01-01-01-01-03 Host A Ip 10.0.0.1 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2 Mac 01-01-01-01-01-02 Host C Ip 10.0.0.3 Mac 01-01-01-01-01-03
Enlace Origem Enlace Destino ARP (Address Resolution Protocol-Protocolo de Resolução de Endereços) Para fazer a transmissão do pacote de A para B, os endereços de origem de enlace e rede são obtidos da própria configuração da máquina Rede 10.0.0.0 Para montar o endereço de destino da camada de rede, essa informação pode ser obtida da aplicação (ping no exemplo) em execução. P1 P1 Mas e o endereço de enlace de destino, como obtê- lo? A B Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino IP Origem IP destino 01-01-01-01-01-01,01-01-01-01-01-02 10.0.0.1 10.0.0.2 Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02
Requisição ARP (Address Resolution Protocol) Rede 10.0.0.0 Host A Ip 10.0.0.1/255.0.0.0 Mac 01-01-01-01-01-01 P1 P1 A Host B Ip 10.0.0.2/255.0.0.0 Mac 01-01-01-01-01-02 B Ping 10.0.0.2 Enlace Rede Enlace Origem Enlace Destino Protocolo IP Origem IP destino 01-01-01-01-01-01,FF-FF-FF-FF-FF-FF 08-06 10.0.0.1 10.0.0.2 ARP-Pergunta 01-01-01-01-01-02,01-01-01-01-01-01 08-06 10.0.0.1 10.0.0.2 ARP-Reply 01-01-01-01-01-01,01-01-01-01-01-02 08-00 10.0.0.1 10.0.0.2 Pacote ARP-Pergunta (Request): Mensagem de Broadcast para todos as máquinas da Rede perguntando pelo endereço MAC (enlace) de um determinado endereço IP Para evitar novos broadcasts a informação descoberta é guardada no Cache do ARP
SWITCHING O switch mantém uma tabela com os MAC’s conectados a ela, relacionando-os com a porta que foram “aprendidos”. Quando um MAC não existe na tabela, ele é procurado em todas as portas, comportando-se a switch como um HUB. O espaço (Host table ou CAM table) é limitado e quando preenchido Totalmente, faz com que o switch comporte-se como um HUB ! (????) ou simplesmente TRAVE.
Ataques de Camada 2 MAC Flooding: Inundação (Flooding) da Tabela de Hosts ARP Poisoning: Envenenamento do Cache do ARP Denial of Service (DoS) : Negação de Serviço
Inundação (Flooding) da Tabela de Hosts dos Switches MAC Flooding Inundação (Flooding) da Tabela de Hosts dos Switches O ataque não causa DoS, mas uma vez lotada a CAM (Content-addressable memory), o Switch comporta-se como HUB Quando os switches comportam-se como Hubs, qualquer máquina com um Sniffer instalado pode capturar todos os pacotes que passam na rede. Softwares como CAIN & ABEL podem capturar senhas dos usuários
ARP POISONING Envenenamento do Cache do ARP Também conhecido como ARP Spoofing (falsificação do cache ARP) É o meio mais eficiente de executar o ataque conhecido por Man-In-The-Middle (MITM), que permite que o atacante intercepte informações confidenciais posicionando-se no meio de uma conexão entre duas ou mais máquinas
ARP Poisoning C A B Host B envenenando o Cache do ARP dos Hosts A e C Tabela de Portas P1=01-01-01-01-01-01 P2=01-01-01-01-01-02 P3=01-01-01-01-01-03 P2 P1 P3 C Resposta ARP Resposta ARP A B IP 10.0.0.1 tem o Mac 01-01-1-01-01-02 IP 10.0.0.3 tem o Mac 01-01-1-01-01-02 Host B envenenando o Cache do ARP dos Hosts A e C Host C Ip 10.0.0.3 Mac 01-01-01-01-01-03 Host A Ip 10.0.0.1 Mac 01-01-01-01-01-01 O atacante, host B, envia uma resposta ARP para dizer ao Host A que o IP de C pertence ao seu endereço MAC. Outra resposta ARP é enviada ao Host C, dizendo que o IP de A pertence ao endereço MAC de B. Os hosts A e C aceitam a resposta ARP e ficam com o cache do ARP falsificado Cache ARP IP Mac 10.0.0.1 01-...-01 (X Entrada excluída) 10.0.0.1 01-...-02 Entrada falsificada pelo Host B Cache ARP IP Mac 10.0.0.3 01-...-03 (X Entrada excluída) 10.0.0.3 01-...-02 Entrada falsificada pelo Host B
Arp Poisoning Resultado da falsificação do Cache Tabela de Portas P1=01-01-01-01-01-01 P2=01-01-01-01-01-02 P3=01-01-01-01-01-03 Quadro do Host A para o Host C P3 P1 P2 01-01-01-01-01-01, 01-01-01-01-01-02 A B C 10.0.0.1 10.0.0.3 Para transmitir o quadro acima, o Switch identifica que o endereço Mac destino é 01- 01-01-01-01-02 (falsificado pelo Host B) e, consultando a tabela de portas, envia o quadro para a porta 2. Ou seja, as mensagens de A para C irão para o Host B. Idem para as mensagens de C para A. O Host B recebe a mensagem de A-> C, mas depois ele a transmite para o Host C, caso contrário a comunicação teria problemas e seria apenas um ataque DOS (Denial of Service) Host A Ip 10.0.0.1 Mac 01-01-01-01-01-01 Host C Ip 10.0.0.3 Mac 01-01-01-01-01-03 Cache ARP IP Mac 10.0.0.3 01-...-02 Cache ARP IP Mac 10.0.0.1 01-...-02 Host B (Atacante) Ip 10.0.0.2 Mac 01-01-01-01-01-02
ARP Poisoning (Consequências) Qualquer mensagem não criptografada pode ser capturada por um atacante, basta usar um Sniffer -Um Sniffer é um software que captura pacotes que passam pela Rede Um Sniffer excelente e freeware é o Wireshark, que possui versões tanto Windows como Linux Pode-se capturar senhas, tráfego de voz (eavesdropping). Se o tráfego não estiver criptografado, o ataque é facílimo, há softwares específicos como Caim e Abel que permitem isso Links sobre captura de tráfego de voz na rede usando Arp Poisoning http://www.madeira.eng.br/wiki/index.php?page=Seguran%C3%A7a+em+Redes+de+Voz+Sobre+IP
ARP Poisoning Recomendações para evitar o Ataque: Configurar Mac Binding nos switches, cadastrando em cada porta do switch a lista de MAC's que podem ser conectadas a essa porta Ferramentas de detecção de ARP Poisoning, como o arpwatch Uso VLANs reduz a aplicação de Arp Spoofing: Pode-se, por exemplo, isolar o segmento de voz do segmento de dados O uso de criptografia é essencial em transmissão de dados sigilosos, ela não evita o Arp spoofing, mas reduz os seus efeitos
EXEMPLO ARP POISONING C/ O SOFTWARE CAIN Selecione a Aba Superior Sniffer Use o menu Configure para selecionar a placa de rede Use a ferramenta para start do Sniffer Use a ferramenta + para pesquisar os Hosts 5. Selecione o intervalo de endereços Ips para pesquisar com o Mac Address Scanner 6. Selecione a opção APR para configurar os Hosts a serem atacados
7. Clique nesta janela 8. Use a ferramenta + para adicionar hosts vítimas do ataque 10. Iniciar o envenenamento do ARP 9. Selecione na janela esquerda a primeira vítima e na janela direita a segunda vítima
12. Vítima digitando do google e yahoo 11. Selecionar a opção Descobrir Senhas (Password) 13. Recebendo a captura das senhas
Denial of Service Um hacker pode facilmente associar um endereço IP operacional a um endereço MAC falso. Para tanto, um hacker pode enviar uma resposta ARP associando o endereço IP do roteador da rede com um endereço MAC que não existe. Resultado: Os Hosts acreditam que sabem onde o gateway padrão está, mas na realidade todos os pacotes que estão enviando para aquele destino não vão para a rede local, mas sim para um grande buraco negro. Com pouco trabalho, o hacker conseguiu separar a rede da Internet.