1 SSR - Segurança em Sistemas e Redes MRSC - Mestrado em Redes e Serviços de Comunicação...

Post on 17-Apr-2015

103 views 0 download

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?