1 SSR - Segurança em Sistemas e Redes MRSC - Mestrado em Redes e Serviços de Comunicação...
Transcript of 1 SSR - Segurança em Sistemas e Redes MRSC - Mestrado em Redes e Serviços de Comunicação...
1
SSR - Segurança em Sistemas e RedesMRSC - Mestrado em Redes e Serviços de
Comunicação
Trabalho7: SSL/TLS
Gilberto RochaHenrique NevesPedro Monteiro
2
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
3
Conceitos teóricos
• Ameaças de segurança
• Métodos de ataque
• SSL/TLS
4
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
5
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.
6
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
7
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.
8
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.
9
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
10
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
HTTPSSSL/TLSTCPIP
11
Simulação prática
12
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
13
Ettercap
Ao iniciar o ettercap, ele envia ARP requests para todos os endereços da rede onde se encontra
14
Ettercap
Aqui podemos observar as possíveis “vitimas” do ettercap
15
Man-in-the-midle Attack
Switch
B
CA
A MAC/IP
B MAC B IP
C MAC C IP
B MAC/IP
A MAC A IP
C MAC C IP
C MAC/IP
A MAC A IP
B MAC B IP
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
16
Man-in-the-midle Attack
Switch
B
CA
A MAC/IP
B MAC B IP
B MAC C IP
B MAC/IP
A MAC A IP
C MAC C IP
C MAC/IP
B MAC A IP
B MAC B IP
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
17
Plataforma de simulação:
Browser
Cliente de mail
Servidor de Mail (Solid-POP3d)
Servidor Web com SSL(Apache-ssl)
OpenSSL
Ettercap
OpenSSL
Switch
GatewayInternet
Man in the midle
Cliente
Servidor
www.google.pt serverDNS server
18
Alteração de emails (POP3)
Switch
GatewayInternet
Man in the midle
Cliente
Servidor de mail
www.google.pt serverDNS server
-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
19
Alteração de emails (POP3)
Começamos por enviar um email para o servidor de mail
20
Alteração de emails (POP3)
Podemos ver esse mail com o ettercap
21
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
22
Alteração de emails (POP3)Carregando em enter, pode-se ver os dados que são trocados entre o cliente e o servidor
Pode-se ver o protocolo e o tipo de aplicação
É possível simular pedidos para o cliente ou respostas do servidor
23
Alteração de emails (POP3)Configurando o filtro para substituir a palavra Pedro por Gilberto
24
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
25
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
26
Switch
GatewayInternet
Man in the midle
Cliente
Servidor Forjado
www.google.pt serverDNS server
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
27
Switch
GatewayInternet
Man in the midle
Cliente
Servidor Forjado
www.google.pt serverDNS server
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
28
Switch
GatewayInternet
Man in the midle
Cliente
Servidor Forjado
www.google.pt serverDNS server
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.
29
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.com198.182.196.56 *.microsoft.com198.182.196.56 www.microsoft.com
172.16.1.22 cgd.pt172.16.1.22 *.cgd.pt172.16.1.22 www.cgd.pt
172.16.1.22 google.pt172.16.1.22 *.google.pt172.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
30
Desvio de sessão http e https para um servidor forjado (DNS spoofing)
Necessário activar o plugin que possibilita o DNS spoofing
31
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
32
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
33
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)
34
Desvio de sessão http e https para um servidor forjado (DNS spoofing)
Certificado verdadeiro Certificado forjado
35
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning
Switch
GatewayInternet
Man in the midle
Cliente
Servidor web
www.google.pt serverDNS server
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
36
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning
Switch
GatewayInternet
Man in the midle
Cliente
Servidor web
www.google.pt serverDNS server
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
37
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
38
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
39
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á.
40
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
41
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
42
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
43
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)
44
QUESTÕES?