Você está na página 1de 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.

A B

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.

A B
HALF-DUPLEX

M
A B
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 colocar-
se 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:

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

LAN 1 Router 1

195.103.31.19
192.168.2.

INTERNET

192.168.2. 195.103.31.19
LAN 2 Router 2

192.168.1.1
192.168.1.*

Servidor Router 1

Tunnel GRE
INTERNET Cliente

Falso Serv.

Gateway
Atacante

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

Você também pode gostar