1 ataques na rede uso de protocolos erika medeiros
TRANSCRIPT
1
ATAQUES NA REDEUSO DE PROTOCOLOS
Erika Medeiros
2
Objetivos:• 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
• Defesas
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 efetuar.
6
Métodos de ataque:• MAC Flooding
– Consiste em inundar o switch com muitos quardros arp de forma a que o switch não as consiga processar, e ser obrigado a repetir os quadros recebidos para todos as portas. Este é outro método de sniffing.
– É uma técnica de ARP-Poisoning voltada para switchs de rede. – Quando alguns switchs são sobrecarregados eles
frequentemente passam a funcionar no modo hub;– No modo hub, o switch está ocupado demais para reforçar a
segurança de suas portas e apenas faz o broadcast do tráfego;– Através da sobrecarga (flooding) da tabela ARP do switch com
toneladas de respostas ARP falsas, um hacker pode sobre carregar muitos switchs usados atualmente e então sniffar os pacotes da rede enquanto o switch funciona no modo hub;
7
Métodos de ataque:• DNS spoofing
– Alteração o DNS reply que é suposto vir do verdadeiro DNS server, e assim enganar o cliente
8
Métodos de ataque:• Denial of service (DOS)
– Atualizando 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.
9
Simulação prática
10
Ettercap– Permite a injeção de caracteres numa conexão
estabelecida– Suporta SSH v1– Suporta HTTPS– Permite o uso de Plugins– Coletor 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
11
Ettercap
Ao iniciar o ettercap, ele envia ARP requests para todos os endereços da rede onde se encontra
12
Ettercap
Aqui podemos observar as possíveis “vitimas” do ettercap
13
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 IPC 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
14
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 IPC 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
15
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
16
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
17
Alteração de emails (POP3)
Começamos por enviar um email para o servidor de mail
18
Alteração de emails (POP3)
Podemos ver esse mail com o ettercap
19
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
20
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
21
Alteração de emails (POP3)Configurando o filtro para substituir a palavra Pedro por Gilberto
22
Alteração de emails (POP3)
Podemos verificar que o email foi adulterado, e o cliente não se apercebe que o email que está lendo foi alterado
23
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
24
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
25
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
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)
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.
27
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
28
Desvio de sessão http e https para um servidor forjado (DNS spoofing)
Necessário ativar o plugin que possibilita o DNS spoofing
29
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
30
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
31
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)
32
Desvio de sessão http e https para um servidor forjado (DNS spoofing)
Certificado verdadeiro Certificado forjado
33
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
34
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
35
Roubo de sessões HTTP e HTTPS e alteração de páginas HTML recorrendo a MAC poisoning
Ativando o filtro, para substituir a palavra google por goodle
36
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
37
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á se comunicando com o servidor fidedigno, mas na realidade não está.
38
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
39
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;
• Deteçã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
40
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
41
ARPWATCH• Arpwatch é uma das formas de detecção. • Arpwatch é uma ferramenta para detectar
ataques ARP. • Monitora atividade ethernet e mantém
uma base de dados dos pareamentos Ethernet/IP.
42
ARPWATCH• Reporta certas alterações via e-mail. • Arpwatch utiliza a libcap, uma interface independente
que utiliza um método de captura de pacotes no nível de usuário para detecção de ataques ARP.
• O Arpwatch mantém o administrador informado quando uma nova máquina adquire um endereço da rede.
• Envia por e-mail o endereço IP e o MAC da nova máquina na rede.
• Informa se o endereço MAC mudou de IP. • Informa se alguém está mexendo com a configuração da
rede e alterando seu seu IP para o de um gateway ou servidor.
43
Entendendo as mensagens ARPWATCH
• new activity Esse par de endereço MAC e endereço IP já foi utilizado a seis meses ou mais.
• new station Esse endereço ethernet (MAC) nunca foi visto antes.
• flip flop O endereço ethernet foi foi alterado do primeiro mais recente para o segundo mas recente.
• changed ethernet address O Host mudou para um novo endereço ethernet (MAC)
44
Exemplos de mensagens ARPWATCH
• MSG1: Arpwatch detecta a mudança do PAR MAC/IP
Subject: changed ethernet address hostname: ip address: 192.168.0.3 ethernet address: 0:11:25:8a:87:9b ethernet vendor: IBM Corporation old ethernet address: 0:10:c6:b9:68:f5 old ethernet vendor: USI timestamp: Friday, January 4, 2008 11:16:06 -0300 previous timestamp: Friday, January 4, 2008 11:16:06 -0300 delta: 0 seconds
45
Exemplos de mensagens ARPWATCH
• MSG2: Arpwatch detecta que o par está oscilando, característica do ataque de arp spoofing. Ele recebe pacotes ARP do com o MAC correto e em seguida, vários outros como MAC errado.
Subject: flip flop hostname: ip address: 192.168.0.3 ethernet address: 0:10:c6:b9:68:f5 ethernet vendor: USI old ethernet address: 0:11:25:8a:87:9b old ethernet vendor: IBM Corporation timestamp: Friday, January 4, 2008 11:16:22 -0300 previous timestamp: Friday, January 4, 2008 11:16:21 -0300
46
Exemplos de mensagens ARPWATCH
• MSG3: Arpwatch detecta que o par está oscilando, característica do ataque de arp spoofing. Ele recebe pacotes ARP do com o MAC correto e em seguida, vários outros como MAC errado.
Subject:flip flop hostname: ip address: 192.168.0.3 ethernet address: 0:11:25:8a:87:9b ethernet vendor: IBM Corporation old ethernet address: 0:10:c6:b9:68:f5 old ethernet vendor: USI timestamp: Friday, January 4, 2008 11:16:31 -0300 previous timestamp: Friday, January 4, 2008 11:16:22 -0300
47
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)
48
QUESTÕES?
49
Exemplo de um ARP Spoofing
50
Rede do exemplo
• O lab consiste dos seguintes computadores;
• 192.168.1.138 é o default gateway;
51
Rede do exemplovítima
Máquina de Ataque
Default Gateway
52
Ipconfig na vítima
• IPConfig na máquina 192.168.1.1 considerada a vítima;
• Vê-se a tabela ARP;
53
Ettercap é iniciado
• Usado na máquina 192.168.1.10• Deve ser escolhida a placa de rede a ser
usada;
54
Ettercap iniciado
• Um rápido ARP scan é realizado na rede com o objetivo de mapea-la;
55
Muitas funções do Ettercap
• A tecla H mostra as funções existentes;
56
FingerPrint de uma máquina
• Através da seleção de uma máquina (tecla F) na tela principal;
57
Iniciando o spoofing
• Vítima (origem) 192.168.1.1;• Vítima (destino) 192.168.1.138;• O objetivo é escutar todo o tráfego que
entra e sai da rede (indo e vindo da internet);
58
Iniciando o spoofing
• Pressinando “A” você inicia o spoofing;
59
Executando o spoofing
• Checar o resultado do envenamento;• O endereço ARP para 192.168.1.10
(máquina de ataque) e 192.168.1.138 (Default Gateway) se tornaram o mesmo;
60
Executando o spoofing
61
Usando o spoofing para FTP
• Será aberta uma sessão FTP a partir da máquina atacada;
62
Usando o spoofing para FTP
• Na tela do Ettercap a sessão FTP foi capturada;
63
Usando o spoofing para FTP
• Mais detalhes da sessão de FTP capturada;
64
Usando o spoofing para HTTP
• Será substituida uma stream TCP em uma sessão www.
• Stream original: www.google.com • Stream modificado: www.mutsonline.com
65
Usando o spoofing para HTTP
• “F” para edição de filtros
66
Usando filtro Replace
67
Tentando usar o google