440 likes | 546 Views
SSR - Segurança em Sistemas e Redes MRSC - Mestrado em Redes e Serviços de Comunicação. Trabalho7: SSL/TLS. Gilberto Rocha Henrique Neves Pedro Monteiro. Objectivos:. Montar uma plataforma de roubo de sessões Roubo de sessão e alteração de emails (POP3)
E N D
SSR - Segurança em Sistemas e RedesMRSC - Mestrado em Redes e Serviços de Comunicação Trabalho7: SSL/TLS Gilberto Rocha Henrique Neves Pedro Monteiro
Objectivos: • Montar uma plataforma de roubo de sessões • Roubo de sessão e alteração de emails (POP3) • Desvio de sessões HTTP e HTTPS para um servidor forjado, adulterando o serviço DNS • Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning numa rede baseada em comutadores
Conceitos teóricos • Ameaças de segurança • Métodos de ataque • SSL/TLS
Ameaças de segurança: • Integridade • Adulteração dos dados • Confidencialidade • Permitir a visualização dos dados • Autenticação • Garantir a origem dos dados • Negação de serviço (DOS) • Incapacitar o serviço
Métodos de ataque: • ARP spoofing • Envia pedidos e respostas arp previamente criadas. • ARP poisoning • Envia para uma determinada estação tramas arp adulteradas de forma a colocar-se no meio de qualquer comunicação que essa estação tente efectuar.
Métodos de ataque: • MAC Flooding • Consiste em inundar o switch com muitas tramas arp de forma a que o switch não as consiga processar, e ser obrigado a repetir as tramas recebidas para todos os portos. Para todos os efeitos, porta-se como um hub • DNS spoofing • O MITM altera o DNS reply que é suposto vir do verdadeiro DNS server, e assim enganar o cliente
Métodos de ataque: • Denial of service (DOS) • Actualizando as tabelas MAC/IP com endereços MAC não existentes, faz com que os pacotes sejam descartados. Se isto for feito em todos os clientes da rede, vai provocar um ataque do tipo denial of service.
SSL (Secure Sockets Layer) TLS (Transport Layer Security) • Precisam de um canal de transporte fiável, sendo o protocolo TCP/IP o eleito para ser usado. • Estão situadas acima da camada de rede TCP/IP e abaixo da camada de aplicação • Não suportam a não repudiação.
SSL (Secure Sockets Layer) TLS (Transport Layer Security) • São protocolos seguros para troca de dados, que providencia: • Privacidade entre duas aplicações de Internet • Autenticidade do servidor e opcionalmente do cliente (ex: browser, mail,...) • Estabelecimento de um canal seguro entre um cliente e um servidor • Utilizam chaves assimétricas para escolher uma chave simétrica
HTTPS SSL/TLS TCP IP SSL (Secure Sockets Layer) TLS (Transport Layer Security) • Handshake Protocol • Faz a autenticação do servidor e/ou cliente • Negoceia protocolo de encriptação simétrica • Record Protocol • Utiliza chave simétrica combinada no Handshake Protocol para cifrar/decifrar na transmissão de dados
Ettercap • Permite a injecção de caracteres numa conexão estabelecida • Suporta SSH v1 • Suporta HTTPS • Permite o uso de Plugins • Colector de passwords para vários protocolos • Permite filtrar pacotes, alterando-os ou descartando-os • Permite terminar uma conexão • Permite realizar scanning passivo da LAN • Permite verificar a existência de outros poisoners na rede
Ettercap Ao iniciar o ettercap, ele envia ARP requests para todos os endereços da rede onde se encontra
Ettercap Aqui podemos observar as possíveis “vitimas” do ettercap
Man-in-the-midle Attack Inicialmente, as estações tem as suas tabelas MAC/IP com as seguintes entradas Para a estação B se colocar no meio, envia pacotes arp adulterados para A e C dizendo que endereço IP de C e de A está associado ao seu endereço MAC
Man-in-the-midle Attack Depois da estação B ter feito o ataque, se a estação A quiser enviar um pacote para estação C ou vice-versa, os pacotes passam pela estação B que só tem que encaminhar os pacotes A estação B pode ver o conteúdo dos pacotes ou até mesmo altera-los
Plataforma de simulação: • Browser • Cliente de mail • Ettercap • OpenSSL • Servidor de Mail (Solid-POP3d) • Servidor Web com SSL(Apache-ssl) • OpenSSL
Alteração de emails (POP3) -O MITM coloca-se entre o cliente e o servidor (ARP poisoning) -Escuta utilizador e respectiva password de cada sessão -Alteração de emails -Inserção de comandos para o servidor e/ou respostas para o cliente -Terminar sessão com o cliente e/ou servidor
Alteração de emails (POP3) Começamos por enviar um email para o servidor de mail
Alteração de emails (POP3) Podemos ver esse mail com o ettercap
Alteração de emails (POP3) Consegue-se ver as sessões em curso Com o colector de passwords ligado, podemos ver o user e a respectiva password
Alteração de emails (POP3) Carregando em enter, pode-se ver os dados que são trocados entre o cliente e o servidor É possível simular pedidos para o cliente ou respostas do servidor Pode-se ver o protocolo e o tipo de aplicação
Alteração de emails (POP3) Configurando o filtro para substituir a palavra Pedro por Gilberto
Alteração de emails (POP3) Podemos verificar que o email foi adulterado, e o cliente não se apercebe que o email que está a ler foi alterado
Alteração de emails (POP3) • Roubo de sessão • O MITM termina sessão TCP com o cliente e continua sessão com o servidor, e vice-versa • Como o ettercap permite obter o nome de utilizador e a correspondente password, torna-se mais simples iniciar outra sessão do que terminar sessão com o cliente
Desvio de sessão http e https para um servidor forjado (DNS spoofing) 1-O ettercap coloca-se no meio entre o cliente e qualquer outra estação de forma a captar as suas comunicações
Desvio de sessão http e https para um servidor forjado (DNS spoofing) 2-O cliente faz um DNS request querendo saber o endereço IP do site www.google.pt, e assim que o DNS server responder, o ettercap detecta essa resposta e altera o endereço IP da resposta para o endereço IP do servidor forjado
Desvio de sessão http e https para um servidor forjado (DNS spoofing) 3-Assim que o cliente recebe o DNS reply, faz o pedido de página web ao servidor forjado. O MITM pode continuar no meio ou não. Se sim, no caso de usar https, o certificado que o cliente vai receber, será o do MITM. Se não, recebe o do servidor forjado.
Desvio de sessão http e https para um servidor forjado (DNS spoofing) • Configuração do ficheiro /etc/ettercap/etter.dns ################################ # microsoft sucks ;) # redirect it to www.linux.org # 198.182.196.56 microsoft.com 198.182.196.56 *.microsoft.com 198.182.196.56 www.microsoft.com 172.16.1.22 cgd.pt 172.16.1.22 *.cgd.pt 172.16.1.22 www.cgd.pt 172.16.1.22 google.pt 172.16.1.22 *.google.pt 172.16.1.22 www.google.pt ################################ Todos os pedidos DNS que sejam do domínio microsoft.com, vão ser retribuídos com o endereço IP do site www.linux.org Todos os pedidos DNS para o domínio google.pt, recebe como resposta o endereço IP do servidor forjado
Desvio de sessão http e https para um servidor forjado (DNS spoofing) Necessário activar o plugin que possibilita o DNS spoofing
Desvio de sessão http e https para um servidor forjado (DNS spoofing) DNS request para www.google.pt Pedido de pagina web ao servidor forjado
Desvio de sessão http e https para um servidor forjado (DNS spoofing) O cliente pensa que página é a original, mas é apenas uma réplica que foi enviada pelo servidor forjado
Desvio de sessão http e https para um servidor forjado (DNS spoofing) O browser dá um alerta, avisando que não conhece a autoridade de certificação Se o utilizador pedir para memorizar este certificado, o browser não volta mais a perguntar Se continuar, é porque aceita o certificado, (pior do que não estar seguro, é pensar que está seguro)
Desvio de sessão http e https para um servidor forjado (DNS spoofing) Certificado verdadeiro Certificado forjado
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning 1.O MITM coloca-se entre o cliente e o servidor ou entre o cliente e a gateway se o servidor não estiver na mesma rede
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning 2.Quando é uma sessão https, o MITM recebe o certificado do servidor e envia o seu certificado com a sua chave pública para o cliente
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning Activando o filtro, para substituir a palavra google por goodle
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning Verifica-se a troca de google por goodle
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning O ettercap envia o seu certificado como sendo o do servidor, o browser detecta que o certificado expirou, ou que não reconhece a CA. Se o cliente ignorar este aviso, e continuar, pensará que está a comunicar com o servidor fidedigno, mas na realidade não está.
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning Apesar de ser uma sessão https, a página original foi alterada pelo atacante
Defesas • A melhor defesa contra o ARP spoofing, é permitir o MAC binding no switch, ou seja, cada porta do switch está associada a um endereço MAC • Utilizar static routes, de forma a que não seja possivel a sua alteração (? há versões do SO Windows que permitem a alteração das tabelas MAC/IP estáticas???) • Detecção é outra forma possível de defesa, utilizando aplicações que escutam os ARP replies numa rede, constroem uma tabela IP/MAC, e quando um endereço MAC associado a um IP muda, dá um alerta ou envia um email para o administrador
Outras aplicações • Arpoison • http://web.syr.edu/~sabuer/arpoison/ • Parasite • http://packetstormsecurity.org/sniffers/parasite-0.5.tar.gz • Dsniff • http://www.monkey.org/~dugsong/dsniff/ • Arpwatch • http://www.redhat.com/swr/i386/arpwatch-2.1a4-29.i386.html
Conclusões • Estes tipos de ataque requerem um bom conhecimento do funcionamento da rede a atacar. • Um administrador de uma rede não pode saber menos que o atacante, se quiser defender a sua rede • É necessário controlar este tipo de ataque (MITM), pois permite ver todo o tráfego que circula num determinado segmento de rede • Começa a ser imprescindível o uso de ferramentas na própria estação que permitam controlar as tabelas MAC/IP e verificar se existe alguma duplicidade de entradas na tabela que possam induzir a este tipo de ataque (MITM)