Man In The Middle

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Man In The Middle as PDF for free.

More details

  • Words: 4,591
  • Pages: 20
Segurança de Sistemas e Redes 2006

Man-in-the-Middle

Man-in-the-Middle

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

1

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

Índice 1 - Introdução ................................................................................................................... 4 2 - Ataque MITM - Tipos de ataque................................................................................. 6 2.1 - ARP poisoning e ARP spoofing........................................................................... 6 2.2 - DHCP spoofing .................................................................................................... 7 2.3 - DNS spoofing e DNS poisoning .......................................................................... 7 2.4 – Port stealing ......................................................................................................... 8 2.5 – ICMP redirection ................................................................................................. 8 2.6 – Route mangling ................................................................................................... 8 2.7 – Traffic tunneling .................................................................................................. 9 3 - Ataque MITM – Divisão Taxionómica..................................................................... 10 3.1 - Denial of Service................................................................................................ 10 3.1.1 - MAC Flooding ............................................................................................ 10 3.1.2 – Replay attack .............................................................................................. 10 3.1.3 – ACK Storm ................................................................................................. 10 3.2 – Eavesdropping / Sniffing ................................................................................... 11 3.3 - Exploits .............................................................................................................. 11 3.4 – Filtering ............................................................................................................. 11 3.5 – Hijacking ou Roubo de sessão........................................................................... 12 3.5.1 - TCP ............................................................................................................. 12 3.5.2 - UDP............................................................................................................. 13 3.6 – Injection ............................................................................................................. 14 3.7 - Spoofing ............................................................................................................. 14 4 - Ferramentas ............................................................................................................... 15 4.1 – dsniff – http://monkey.org/~dugsong/dsniff/..................................................... 15 4.1.1 - arpspoof....................................................................................................... 15 4.1.2 - dsniff ........................................................................................................... 15 4.1.3 - dnsspoof ...................................................................................................... 15 4.2 – Ettercap - http://ettercap.sourceforge.net........................................................... 15 4.3 – Ethereal - http://www.ethereal.com/.................................................................. 16 4.4 – SSLSNIF - http://www.thoughtcrime.org/ie.html ............................................. 16 5 – Exemplos práticos .................................................................................................... 17 5.1- Arp spoofing / DNS spoofing ............................................................................. 17 5.2 – Descoberta de password em protocolos sem segurança .................................... 17 5.3 – SSL Attack......................................................................................................... 17 6 - Conclusões ................................................................................................................ 18 7 - Bibliografia ............................................................................................................... 19 8 – Anexos ...................................................................................................................... 20

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

2

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

Índice de Figuras Figura 1 - Ataque MITM. ................................................................................................. 4 Figura 2 - Fluxo de ataque................................................................................................ 4 Figura 3 - Pedido de ARP request .................................................................................... 6 Figura 4 - Spoofed reply................................................................................................... 7 Figura 5 - Exemplo de ICMP redirect. ............................................................................. 8 Figura 6 - Exemplo de um ataque Traffic Tunnel ............................................................ 9 Figura 7 - ACK Storm .................................................................................................... 11 Figura 8 - TCP Three-Way Handshake .......................................................................... 12 Figura 9 - Sending Data over TCP ................................................................................. 13 Figura 10 - Session Hijacking sobre UDP...................................................................... 13 Figura 11 - Blind Injection ............................................................................................. 14

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

3

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

1 - Introdução Um ataque man-in-the-middle (MITM) é um ataque no qual o atacante é capaz de ler, inserir e modificar, mensagens entre duas entidades sem que estas tenham conhecimento que a ligação entre ambas está comprometida. Tipicamente o atacante insere-se no meio da comunicação entre dois postos, fazendo parte do canal de comunicação. A seguinte figura demonstra isso mesmo, a preto está representado o percurso real (A-B) e a vermelho(A-M-B) o percurso alterado pelo atacante. B

A

M Figura 1 - Ataque MITM.

Este tipo de ataque é porventura aquele mais difícil de detectar e de prevenir, sendo também o exemplo clássico da segurança informática, estando na base de técnicas de hacking, de descoberta de passwords, desvio de tráfego, ataques de imitação, injecção de pacotes, modificação de pacotes, etc. Considera-se que o ataque local é quando o atacante e as vítimas pertencem à mesma rede e os pacotes trocados têm origem e destino nessa rede. No ataque remoto o atacante e a vítima estão em redes diferentes bem como o destino da comunicação. Quanto ao fluxo do ataque, este pode ser full-duplex, quando ambos os sentidos da comunicação são interceptados pelo atacante, ou half-duplex quando apenas um sentido é interceptado, seguindo o outro pela rota normal. A seguinte figura ilustra as duas situações.

B

A

HALF-DUPLEX

M B

A

FULL-DUPLEX

M Figura 2 - Fluxo de ataque.

Relativamente à posição do atacante em relação à vítima, esta pode ser transparente, ou seja, o atacante executa o ataque de uma forma invisível ou o atacante pode servir de proxy às comunicações, tornando-se exposto em relação à entidade atacada. Neste documento pretendemos fazer uma análise sucinta de vários aspectos relacionados com este tipo de ataques. No capítulo 2 verificamos quais os principais ataques MITM. No capítulo 3 pretendemos abordar as várias divisões taxionómicas dos vários ataques. Note-se que na designação destas técnicas frequentemente se recorre à

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

4

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

designação de spoofing e de poisoning. Genericamente, o spoofing refere-se quando o ataque pretende mascarar algo de uma forma criteriosa, enquanto o poisoning refere-se à massificação do ataque. No capítulo 4 descrevemos sucintamente as ferramentas usadas na exemplificação demonstrada no capítulo 5, seguindo-se uma conclusão no capítulo 6.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

5

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

2 - Ataque MITM - Tipos de ataque

2.1 - ARP poisoning e ARP spoofing Envio para uma determinada estação tramas arp adulteradas de forma a colocarse no meio de qualquer comunicação que essa estação tente efectuar, ou seja, através da resposta aos pedidos arp request da estação vítima, torna-se possível manipular a tabela de arp que esta mantém. A manipulação da tabela de arp pode consistir em associar o endereço ip da estação de destino com o mac address da estação que está a fazer o ataque. Quando a estação vítima tentar comunicar com a estação destino esta vai estar a comunicar efectivamente com a estação que está a fazer o ataque. Este tipo de ataque é designado de ARP spoofing. O processo anterior descreve o ataque quando a comunicação é efectuada na rede local, este ataque pode também ser efectuado quando a estação vítima pretende estabelecer uma comunicação para fora da rede local. Neste caso é necessário efectuar o arp poisoning à default gateway, ficando a estação que está a fazer o ataque com o controlo da comunicação. Nas figuras seguintes analisamos um exemplo da aplicação da técnica de ARP spoofing. A máquina A envia um pacote de pedido ARP em broadcast perguntando qual o dono do endereço IP 192.168.1.250, o qual deverá responder para o endereço 192.168.1.100 com o seu endereço MAC. Este pacote de broadcast é enviado para todas as máquinas da rede e supostamente a máquina com o IP 192.168.1.250 vai responder à máquina A. Seguidamente esta recebe o pacote de resposta ARP de B indicando o seu endereço MAC e actualiza a sua tabela ARP, podendo assim enviar dados a B.

Figura 3 - Pedido de ARP request

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

6

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

O problema é que a máquina A não sabe se foi mesmo a máquina B que enviou o pacote de resposta ARP, e o atacante pode tirar partido disso mesmo, enviando a resposta para a máquina A antes de B o fazer. Após isto acontecer a máquina A pensa que está a comunicar com B, mas na verdade comunica com o atacante que pode decidir reencaminhar, ou não, as mensagens para B. Neste ponto o atacante tem o controlo total da comunicação.

Figura 4 - Spoofed reply.

2.2 - DHCP spoofing O serviço DHCP é usado para a atribuição dinâmica de endereços às estações da rede, assim como informações do dns e do default gateway. O protocolo usa UDP e não suporta qualquer tipo de autenticação. Apesar de o DHCP ter alguma complexidade, para efectuar um ataque MITM basta modificar as informações da estação vítima. Por exemplo, modificar o endereço do dns para o endereço ip da estação que está a efectuar o ataque (DNS Spoofing) ou modificar o endereço do default gateway para o ip do atacante.

2.3 - DNS spoofing e DNS poisoning O serviço DNS é utilizado na resolução de nomes, ou seja, é responsável por associar um nome simbólico a um endereço IP. Este serviço responde a pedidos de resolução de nomes, tanto a resolução directa (dado o nome devolve o endereço IP) como a inversa (dado um IP devolve o nome). O ataque MITM é baseado na modificação da resposta do DNS. Quando uma estação pergunta ao DNS qual o IP para um determinado nome, a estação que está a efectuar o ataque pode interceptar a resposta e enviar uma resposta manipulada. Para efectuar este tipo de ataque MITM é necessário conhecer o formato dos pacotes DNS, pois, vai ser necessário criar um novo pacote com o ID do pacote interceptado. Este mecanismo apenas funciona quando se intercepta a resposta porque o

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

7

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

cliente que efectuou o pedido tem a informação do ID do pacote que vai receber, pois no caso do ID não ser o esperado o pacote é descartado. Ataques do tipo DNS poisoning podem incidir sobre a manipulação das listas de actualizações dinâmicas dos DNSs ou no envio de pedidos de actualização.

2.4 – Port stealing O roubo de porta é um ataque MITM que é utilizado quando existe uma associação de uma porta a um endereço IP. Este ataque pode ser utilizado quando o atacante pretende tomar controlo, por exemplo, sobre uma porta de um switch. Para o efeito o atacante inunda a rede com pacotes, cujo endereço IP de origem é o da vítima mas com o seu endereço MAC. Assim, quando chegar um pacote com a vítima como destino, o atacante vai recebe-lo. Seguidamente envia um ARP request com um pedido para o endereço IP da vítima, ao que a vitima responde com um ARP reply, retornando o estado da porta à sua associação original. O atacante pode seguidamente reenviar o pacote recebido e repetir todo o processo.

2.5 – ICMP redirection O redireccionamento do tráfego ICMP pode ser efectuado quando o atacante pretende direccionar o tráfego para o exterior. Para isso, forja um ICMP redirect para todos os membro da rede, forçando a que todos comuniquem, por exemplo, por ele. Assim o atacante pode receber todas as conexões e possivelmente redirecciona-las para o exterior. É de se notar, que este ataque apenas funciona num sentido, visto o tráfego entre uma gateway e uma estação da rede não poder ser redireccionado. A figura seguinte tenta ilustrar a situação:

T

G1

AT ICMP redirect to

H

LA N

Figura 5 - Exemplo de ICMP redirect.

2.6 – Route mangling Este ataque é direccionado aos routers. O route mangling consiste no atacante modificar as tabelas de routing dos routers quando o routing é dinâmico, de forma a

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

8

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

gerir os encaminhamentos. Para isso injecta-se na rede pacotes com informações erradas, por exemplo, com pesos modificados que permitam que o tráfego seja redireccionado por um determinado caminho, controlado pelo atacante ao invés do melhor caminho. A injecção dos pacotes forjados vai induzir em erro os routers, fazendo com que estes apresentem tabelas de routing manipuladas e que o tráfego seja mal direccionado. O tipo de ataque MITM também pode ser baseado na modificação da informação de actualização de tabelas entre routers, podendo assim modificar rotas ou redes.

2.7 – Traffic tunneling O objectivo deste tipo de ataque é redireccionar o tráfego de entrada de um router remoto tirando partido dos protocolos de encapsulamento e de criação de túneis virtuais para o tráfego. Exemplo desse tipo de protocolos é o GRE tunneling protocol. Objectivamente este tipo de ataque consiste em modificar o endereço de next hop do túnel, ou seja, quando o cliente pretender aceder ao servidor, o pedido vai ser redireccionado pelo tunnel GRE para um falso servidor. O atacante vai proceder a captura da ligação entre o cliente e o falso servidor passando ele a tomar a identidade do cliente e a aceder ao servidor verdadeiro. As figuras seguintes tentam ilustrar este tipo de ataque:

192.168.0.*

192.168.0.1 Router 1

LAN 1

195.103.31.19

192.168.2.

INTERNET

192.168.2. LAN 2

195.103.31.19 Router 2

192.168.1.*

Servidor

192.168.1.1

Router 1

Tunnel GRE

INTERNET

Cliente

Falso Serv. Atacante

Gateway

Figura 6 - Exemplo de um ataque Traffic Tunnel

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

9

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

3 - Ataque MITM – Divisão Taxionómica 3.1 - Denial of Service O Denial of Service (DoS) consiste na negação de um serviço, ou seja, torná-lo indisponível para os clientes que lhe queriam aceder. Genericamente trata-se da sobrecarga do servidor, com pedidos que ele não consegue responder ou executar. Por exemplo, a inundação do servidor com pedidos de conexão TCP/IP leva ao aumento da fila de conexões pendentes, tornando-o incapaz de responder a outros pedidos ou outras tarefas. Este tipo de ataque pode ser uma consequência dum ataque man-in-the-middle.

3.1.1 - MAC Flooding Este tipo de ataque, consiste em inundar o switch com muitas tramas arp para que o switch não as consiga processar, sendo obrigado a repetir as tramas recebidas para todos os portos, portando-se como um hub.

3.1.2 – Replay attack 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.

3.1.3 – ACK Storm Se um atacante não for cuidadoso ao desviar uma sessão TCP, pode provocar quebras nas ligações devido às tempestades de pacotes ACK. Assume-se que o atacante, a dada altura da sessão, conseguiu forjar a informação correcta do pacote (cabeçalhos, números de sequência, etc…). Quando são enviados dados injectados na sessão pelo atacante para o servidor, este irá acusar a recepção dos mesmos, ao enviar ao verdadeiro cliente um pacote de ACK, este irá conter um número de sequência que o cliente não está à espera, e por isso o cliente vai tentar resincronizar a sessão TCP com o servidor, enviando para tal um pacote ACK com o número que está à espera. O servidor recepciona o pacote de ACK mas este contém um número que não é o correcto, por isso, o servidor reenvia o último pacote ACK. Este ciclo continuará eternamente provocando a tempestade de pacotes ACK como vemos na figura 7.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

10

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

Figura 7 - ACK Storm

À medida que o atacante injecta mais dados, o tamanho da tempestade de pacotes ACK aumenta, decaindo rapidamente a performance da rede. Caso o atacante ou o cliente não encerre a sessão, a tempestade eventualmente irá parar quando os pacotes ACK se perderem.

3.2 – Eavesdropping / Sniffing O Sniffing ou eavesdropping consiste na monitorização do tráfego na rede entre um cliente e um servidor, em especial os dados em plain text e as informações de configuração da rede. O uso de ferramentas de sniffing permite a fácil leitura de tráfego em plain text, assim como, o acesso a pacotes encriptados que são depois decifrados, explorando vulnerabilidades existentes nos algoritmos de segurança usados.

3.3 - Exploits O Exploit consiste no facto do atacante aproveitar-se de vulnerabilidades existentes em aplicações, sistemas operativos, protocolos ou algoritmos de segurança, de forma a obter acesso indevido a dados ou sistemas. Estes últimos aspectos são os mais preocupantes, dado que o utilizador é levado a acreditar que os protocolos de segurança e os algoritmos usados são seguros, quando parte destes têm várias vulnerabilidades conhecidas e ainda outras que o virão a ser. Normalmente listas com este tipo de vulnerabilidades, que genericamente advêm de erros de concepção, são amplamente divulgadas na Internet dentro dos meios que tratam este tipo de assuntos.

3.4 – Filtering Neste tipo de ataque, o atacante pode modificar o payload do pacote e recalcular o respectivo checksum de forma a torná-lo válido. Para tal, podem ser criados filtros executados on the fly e aplicados aos pacotes desejados. Apenas em full-duplex e de forma a alterar o comprimento do payload é necessário o ajuste da sequência dos pacotes.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

11

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

3.5 – Hijacking ou Roubo de sessão O roubo de sessão por parte de um atacante ocorre devido a quase todas as comunicações serem protegidas no início do estabelecimento da sessão, e não após a criação destas. Aproveitando-se disso, o atacante, após a criação da sessão, efectua o roubo desta no servidor, fazendo-se passar pelo cliente e assumindo a continuidade da sessão. O desvio de sessões ao nível de rede é muito atractivo para os atacantes, pois estes não precisam de aceder às máquinas, como teriam de o fazer caso fosse um ataque de desvio de sessão mas ao nível de host. Nem precisam de personalizar os ataques dependendo do tipo de aplicação que as vítimas usam, como nos ataques a nível da aplicação. Ataques de desvio de sessão ao nível de rede, permitem ao atacante tomar conta remotamente das sessões com poucos riscos de ser detectado.

3.5.1 - TCP Uma das principais chaves do TCP é a confiança e ordem de entrega de pacotes. Para cumprir isto são usados pacotes de confirmação (ACK) e números de sequência. A manipulação destes é a base para o desvio da sessão TCP. Na figura 8 podemos analisar o estabelecimento de uma sessão. O cliente inicia a sessão com o servidor ao enviar um pacote de sincronização (SYN) com um número inicial de sequência x. O servidor responde com um pacote SYN/ACK que contém o o seu número de sequência p e o número ACK para o pacote original SYN enviado pelo cliente. Este número indica a próxima sequência de números que o servidor espera por parte do cliente. No exemplo da figura 8, este é x+1, porque o pacote original SYN conta apenas como um byte. O cliente reconhece a recepção do pacote SYN/ACK ao enviar de volta para o servidor um pacote ACK com o próximo número da sequência que é esperado pelo servidor, que neste caso é o p+1 (o número do pacote inicial SYN do servidor mais um). A partir daqui, o cliente e o servidor estão prontos a trocar dados.

Figura 8 - TCP Three-Way Handshake

Podemos observar na figura 9, o que acontece a estes números sequenciais quando o cliente começa a enviar dados para o servidor. Na figura 9 o cliente envia o carácter A para o servidor.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

12

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

Figura 9 - Sending Data over TCP

O cliente envia para o servidor um caracter num pacote de dados com o número sequencial x+1. O servidor acusa a recepção deste pacote ao enviar ao cliente um ACK com o número x+2 como próximo número sequencial esperado (x+1, mais 1 byte para o carácter A). Se o atacante quiser injectar dados na sessão TCP fazendo-se passar pelo cliente pode efectuar os seguintes passos: -

Descobrir o endereço IP do cliente; Determinar o número de sequência correcto esperado pelo servidor; Injectar dados na sessão antes do cliente enviar o próximo pacote.

Essencialmente, o atacante precisa de evitar que o cliente envie para a sessão novos dados que incrementem os números sequenciais. Por outro lado pode efectuar um ataque DoS ao cliente de forma a evitar que este responda.

3.5.2 - UDP Desviar sessões sobre UDP é análogo ao TCP, excepto que os atacantes não necessitam de se preocupar com o manuseamento dos números sequenciais e outros mecanismos TCP de manutenção de sessão, pois o UDP não estabelece sessões. Por isso é fácil injectar dados numa sessão sem ser detectado. A figura 10 ilustra um roubo de “sessão” sobre UDP.

Figura 10 - Session Hijacking sobre UDP

Queries ao DNS, jogos do tipo Quake e Half-Life e sessões peer-to-peer são protocolos comuns que funcionam sobre UDP, e são alvos preferidos para este tipo de ataque.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

13

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

3.6 – Injection O injecting consiste na inserção de dados ou pacotes numa comunicação entre um cliente e um servidor.

Figura 11 - Blind Injection

A figura acima exemplifica um roubo de sessão em que o atacante envia um simples caracter Z para o servidor com o número sequencial x+2. O servidor por sua vez aceita e envia ao cliente verdadeiro um ACK com o número x+3 para confirmar que recebeu. Quando o cliente recebe o ACK fica confuso porque não enviou dados ou a sequência esperada é a errada. Esta confusão pode provocar uma tempestade ACK em TCP. Em qualquer das situações, o atacante já conseguiu desviar com sucesso a sessão. Duas formas particularmente perigosas deste tipo de ataque são a injecção de comandos (Command Injection) e a injecção de código malicioso (Malicious code injection). A primeira pode permitir a execução de tarefas não esperadas no servidor ou o acesso indevido a este, enquanto a segunda pode implicar a subversão do servidor ou a indisponibilidade dos seus serviços.

3.7 - Spoofing O Spoofing consiste em esconder a verdadeira identidade do atacante na rede. De forma a criar uma identidade falsa, o atacante usa um falso endereço de origem que não representa o verdadeiro endereço do pacote. Desta forma pode-se esconder a fonte original de um ataque ou contornar listas de controlo de acesso de rede (network access control lists - ACLs).

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

14

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

4 - Ferramentas

4.1 – dsniff – http://monkey.org/~dugsong/dsniff/ O dsniff é um conjunto de ferramentas para testes de auditoria e penetração numa rede. Estas ferramentas estão dividas em: ferramentas passivas de monitorização do tráfego na rede (dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, e webspy); ferramentas para intercepção de tráfego por parte de um atacante (arpspoof, dnsspoof, e macof); e ferramentas para implementação de ataques do tipo monkey-in-the-middle contra sessões SSH e HTTPS (sshmitm e webmitm).

4.1.1 - arpspoof Esta ferramenta permite ao atacante efectuar um arp poisoning à vítima, indicando ser o destinatário da ligação, tipicamente a gateway de saída da rede. Assim sendo, sempre que a vitima envie tráfego para o exterior da rede irá passar pelo atacante, que poderá observar, alterar ou apagar informação destinada a outros. È conveniente que a vitima não detecte que existiu este tipo de alteração de tabelas arp.

4.1.2 - dsniff A ferramenta dsniff é um sniffer que permite detectar usernames e passwords de protocolos não seguros de uma forma muito simples. Dos protocolos que esta ferramenta processa encontra-se o FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase e o Microsoft SQL protocols.

4.1.3 - dnsspoof Esta ferramenta permite ao atacante responder da forma que entender às perguntas de DNS da vítima. È bastante útil para a implementação de vários tipos de ataque man-in-the-middle e para furar listas de controlos de acesso baseadas em nomes de hosts.

4.2 – Ettercap - http://ettercap.sourceforge.net -

Permite a injecção de caracteres numa conexão estabelecida Suporta SSH v1 Suporta HTTPS Permite o uso de Plugins

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

15

Segurança de Sistemas e Redes 2006

-

Man-in-the-Middle

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

4.3 – Ethereal - http://www.ethereal.com/ Ferramenta de sniffing de tráfego IP.

4.4 – SSLSNIF - http://www.thoughtcrime.org/ie.html Ferramenta usada para capturar ligações SSL e enviar um certificado forjado.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

16

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

5 – Exemplos práticos 5.1- Arp spoofing / DNS spoofing Neste exemplo pretendemos demonstrar o redireccionamento de um pedido no browser da vítima para um site à escolha do atacante. Para a concretização deste ataque o atacante utiliza a ferramenta arpspoof, dnsspoof com uma lista de endereços que ele pretende resolver, para assim levar a vítima ao site desejado. Cenário: -IP do atacante é o 172.16.2.54 -IP da vítima é o 172.16.2.53 -IP da Gateway é o 172.16.2.254 O resultado deste ataque encontra-se no anexo 1.

5.2 – Descoberta de password em protocolos sem segurança Neste exemplo pretendemos demonstrar facilidade de revelar password de serviços sem segurança. Por exemplo o POP3, FTP, telnet, etc. Neste exemplo a vítima tenta aceder a um servidor FTP. Para a concretização deste ataque o atacante usa a ferramenta ettercap. Cenário: -IP do atacante é o 172.16.2.54 -IP da vítima é o 172.16.2.55 -IP do FTP é o 172.16.1.51 (tux51) O resultado deste ataque encontra-se no anexo 2.

5.3 – SSL Attack Neste exemplo pretendemos demonstrar o envio de um certificado falso a um cliente. O cliente pretende aceder a um site por https, neste caso a um servidor de email. O objectivo deste ataque é descobrir a password usada e ter a possibilidade de analisar todo o tráfego da vitima. Para a concretização deste ataque o atacante usa a ferramenta arpspoof e a ferramenta sslsniff bem como um certificado falso. Cenário: -IP do atacante é o 172.16.2.54 -IP da vítima é o 172.16.2.55 -IP da Gateway é o 172.16.2.254 O resultado deste ataque encontra-se no anexo 3.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

17

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

6 - Conclusões A segurança de uma conexão é baseada em vários factores, entre outros destacam-se a configuração correcta e segura dos clientes, evitando assim ataques do tipo ICMP redirect e de ARP poisoning; assegurar segurança ás resoluções de DNS e às actualizações dinâmicas das tabelas e assegurar segurança nos protocolos de routing usados e nas técnicas de criação de túneis. A melhor maneira de assegurar a confidencialidade, integridade e autenticação das comunicações, consoante os casos, é adoptar técnicas criptográficas fortes. Por exemplo IPSec para a camada de rede, SSLv3 para a camada de transporte e PGP para a camada de aplicação. Ao longo da realização deste trabalho foi possível estudar e interiorizar vários protocolos. Verificamos que a realização destes ataques é muitas vezes baseada na falta de cuidado ou na distracção do utilizador, bem como baseado em técnicas de engenharia social que influencia o utilizador a efectuar acções que permitem ao atacante controlar as comunicações ou descobrir informação confidencial. Das ferramentas usadas destaca-se claramente o ettercap, visto ser uma suite completa que permite efectuar a grande maioria dos ataques sem ser necessário um grande conhecimento de modos de funcionamento de protocolos. Não obstante disso consideramos que o pacote de ferramentas dsniff é porventura aquele, que utilizando as ferramentas disponibilizadas de uma forma separada permite perceber e testar ataques de uma forma faseada.

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

18

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

7 - Bibliografia VALERI, Marco, ORNAGHI, Alberto, “Man-in-the-middle” , Technical White Paper, Italian Black Hats Association. Setembro 2002. BHANSALI, Bhavin Bharat, “Man-in-the-Middle – A Brief”, SANS Institute 2001 WAGNER, Robert “Address Resolution Protocol Spoofing and Man-in-the-Middle Attacks” Practical Assignment, August 13, 2001 GREEN, Ian “DNS Spoofing by The Man In The Middle” GSEC Practical Assignment January 2005 Ferramenta Ettercap - MITM http://ettercap.sourceforge.net/ Ferramenta Ethereal – Analizador de trafego http://www.ethereal.com/ Dsniff – Suite de ferramentas de rede http://monkey.org/~dugsong/dsniff/ Documento sobre desvio de sessões http://www.microsoft.com/technet/technetmag/issues/2005/01/SessionHijacking/default .aspx Tutorais acerca de vulnerabilidades http://www.remote-exploit.org/index.php/Tutorials Documentação MITM http://www.contentverification.com/man-in-the-middle/index.html http://www.vandyke.com/solutions/ssh_overview/ssh_overview_threats.html

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

19

Segurança de Sistemas e Redes 2006

Man-in-the-Middle

8 – Anexos Anexo 1 - Arp spoofing / DNS spoofing http://paginas.fe.up.pt/~mrs05020/ssr/mitm/Dns_Spoofing_dsniff_swf.html Anexo 2 - Descoberta de password em protocolos sem segurança http://paginas.fe.up.pt/~mrs05020/ssr/mitm/Ettercap_Ftp_password_swf.html

Anexo 3 - SSL Attack http://paginas.fe.up.pt/~mrs05020/ssr/mitm/sslsniff_Certificados_swf.html

André Cunha (mrs05021)

Hilário Trindade (mrs05020)

Rui Sousa (mrs05025)

20

Related Documents