Faculdade SENAC – DF
Pós-Graduação em
Segurança da Informação
Ataque Man-In-The-Middle (MITM) em Redes
Locais: Como detectar, prevenir e rastrear o
atacante.
RESUMO
Autores
Amaury Coriolano da Silveira
Júnior
[email protected]
Edilberto Magalhães Silva
[email protected]
Luiz Fernando Sirotheau
Serique Junior
[email protected]
Brasília-DF
2013
Qualquer usuário na rede está exposto aos mais diversos
tipos de ataques cibernéticos, entre eles destacam-se o
ataque chamado Man-In-The-Middle, que tem por objetivo
interceptar os dados trafegados da rede sem a vítima
perceber. Tal característica é que torna esse ataque muito
perigoso, pois a vítima não sabe que está sendo atacada e
pode transmitir informações importantes sem o mínimo
cuidado. Este artigo abordará o ataque Man-In-The-Middle
em redes locais e suas técnicas, além de apresentar
maneiras de evitá-lo e detectá-lo. A partir da demonstração
deste tipo de ataque foi desenvolvido um script, denominado
Agente Drynna, capaz de detectar o ataque MITM e rastrear
o atacante.
Palavras-Chave: Man-In-The-Middle. Rastreamento de
ataque. Proteção da informação.
Trabalho de Conclusão de Curso
apresentado
a
FACSENAC-DF
Faculdade SENAC do DF como requisito
para a obtenção do título de Especialista
em Segurança da Informação.
Ficha Catalográfica
SILVEIRA JÚNIOR, Amaury Coriolano da
Ataque Man-In-The-Middle em Redes Locais:
como detectar, prevenir e rastrear o atacante /
Amaury Coriolano da Silveira Júnior. – Brasília:
Faculdade SENAC-DF, 2012.
39 f. : il.
Orientador: Edilberto Magalhães Silva
Trabalho de Conclusão de Curso
(Especialização em Segurança da Informação),
Faculdade SENAC-DF, 2012.
1. Man-In-The-Middle. 2. Rastreamento de
ataque. 3. Proteção da informação.
ABSTRACT
Any user on the network is exposed to various types of cyber
attacks, among them stand out from the attack called ManIn-The-Middle, which aims to intercept data traffic on the
network without the victim noticing. This feature is what
makes this attack very dangerous because the victim does
not know who is being attacked and can convey important
information without the least care. This article will discuss the
attack Man-In-The-Middle in local network and their
techniques, and present ways to prevent it and detect it.
Starting from the demonstration of this type of attack was
developed a script called Agent Drynna, able to detect the
MITM attack and trace the attacker.
Keywords: Man-In-The-Middle. Tracing attack.
Protection of information.
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
2
1. INTRODUÇÃO
Os ataques cibernéticos têm como foco principal o roubo de dados e
informações para que de posse desses o atacante consiga seus objetivos. O ataque
Man-In-The-Middle (MITM), “Homem no meio”, como o próprio nome diz, o atacante
fica no meio da transmissão interceptando os dados. Segundo Cunha (2006), este é
um ataque no qual o atacante possui capacidade de ler, inserir e modificar
mensagens entre duas entidades sem que estas tenham conhecimento que a
ligação entre ambas está comprometida.
Vale destacar que a falta de conhecimento de estar sendo atacado, coloca
este ataque como uns dos mais difíceis de detectar. Deste modo, esse ataque
explora além da abordagem técnica com ferramentas específicas, a abordagem
humana, explorando a ingenuidade ou a inexperiência do usuário.
Figura 1: Ataque Man-In-The-Middle
O ataque MITM é bastante peculiar, pois ele não é apenas um ataque
passivo, onde apenas ver os dados que trafegam na rede, mas também é um ataque
ativo, podendo se passar por um servidor ou por outra vítima sem que ninguém
perceba. Por isso, o MITM precisa de uma atenção especial dos usuários ao
transmitir uma informação importante, sendo necessário ficar atento ao que se
passa na rede.
Este artigo apresentará o Man-In-The-Middle em redes locais e suas
principais técnicas, além de apresentar as ferramentas mais utilizadas. Também
será mostrado como detectar se estiver sendo atacado e como se prevenir de cada
uma destas técnicas apresentadas, e ao final, será demonstrado, por meio de
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
3
estudo de caso com o uso das técnicas MITM, o script desenvolvido para detectar o
ataque, rastrear e identificar o atacante.
De acordo com Sanders(2010) as técnicas de ataque MITM mais utilizadas
são ARP cache poisoning, dns spoofing, http session hijacking e ssl hijacking.
2. ARP CACHE POISONING
2.1. Protocolo ARP
De acordo com BERNAL (2000), a comunicação na arquitetura TCP/IP é
realizada através de endereçamento IP, porém em rede local a transmissão de
pacotes IP é realizada através de um pacote ethernet. Quando um pacote é
transmitido com endereço IP, é necessário traduzir este endereço para endereço
físico, daí a necessidade de um protocolo para realizar esse processo, o protocolo
ARP.
O protocolo ARP (Address Resolution Protocol ou Protocolo de resolução de
endereços) é utilizado para mapear endereços IP para endereço físico (MAC1). Um
host A de endereço 192.168.1.1 quer se comunicar com um host C de endereço
192.168.1.3, o host A manda um pacote de broadcast
2
perguntando quem tem o
endereço 192.168.1.3(ARP request – requisição ARP), o host C responde com o seu
endereço físico 00:ff:ee:8c:00:cc (ARP reply – resposta ARP).
O protocolo ARP manda um pacote de broadcast para saber o endereço
físico do host destino. Como o pacote de broadcast ocupa muito a rede, ficaria
inviável realizar este procedimento toda vez que se queira comunicar entre dois
pontos da rede. Por isso, utiliza-se o ARP cache, uma lista que armazena os
endereços IP’s associados aos endereços físicos dos host’s da rede, cabe ressaltar
que esta lista é armazenada com requisições anteriores (SOUZA, 2010).
1
MAC: Media Access Control é o endereço de controle de acesso ao dispositivo de rede. É um
endereço único de 12 dígitos hexadecimais.
2
Broadcast: Pacote transmitido a todos os hosts de uma rede.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
4
Figura 2- Funcionamento do protocolo ARP.
O ARP cache é atualizado a cada requisição. O endereço armazenado é
removido em intervalos de tempo, estando em uso ou não, o que é chamado de
Aging (SOUZA, 2010).
2.2. Envenenando o ARP cache
O ataque de envenenamento do cache ARP explora uma falha de segurança
natural do protocolo ARP (SANDERS, 2010). O fato de manter um cache para
futuras requisições e o protocolo aceitar atualizações a qualquer tempo é um gargalo
para o atacante explorar.
Esse ataque envenena o cache ARP enviando uma série de falsos ARP
replies (Respostas ARP) no alvo para que a comunicação passe para o atacante de
modo a alterar a comunicação do computador de destino, modificando o
mapeamento de endereço IP e MAC, assim se passando pelo alvo e ficando no
meio da comunicação.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
5
Figura 3 - Funcionamento do envenenamento do cache ARP.
Como pode ser visto na figura 3, o atacante intercepta a comunicação
modificando o endereço MAC do destino, assim, quando o Host A se comunica com
o Host B os dados são enviados para o Atacante que o repassa ao Host B, ficando
no meio da comunicação. Da mesma maneira acontece com o Host B quando se
comunica com o Host A.
Esse ataque é muito perigoso, uma vez que a vítima não sabe se é mesmo o
destino que está respondendo e também não sabe se alguém está “ouvindo” a sua
conversa. O envenenamento de cache ARP é uma brecha em LANs, sendo uma
porta de entrada para outros ataques MITM. (SANDERS,2010)
2.3. Protegendo do ataque de envenenamento do cache ARP
Não há uma solução definitiva para acabar com o envenenamento do cache
ARP na rede local, existe, porém, uma solução proativa e reativa.
É da natureza do protocolo a dinamicidade e uma maneira de se proteger
desse ataque é a adição estática de endereços. Os sistemas Windows e LINUX
utilizam o seguinte comando:
arp –s <endereço IP> <endereço MAC>
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
6
Figura 3 - Adição estática de endereço no LINUX. A única diferença com o sistema
Windows é que o endereço físico não possui traços e nem dois pontos.
Esta é uma solução proativa funcionando apenas em redes com poucas
alterações e como o aging (endereços removidos em intervalos de tempo) é uma
característica do protocolo, a adição deverá ser feita por meio de um script que irá
adicionar os endereços na tabela do cache ARP não dependendo de ARP request
(requisição ARP) e ARP reply (resposta ARP).
A solução reativa é utilizar uma solução de terceiros que monitora a tabela
ARP ou utilizar scripts para esse fim, como o script desenvolvido por este artigo,
denominado Agente Drynna (Apêndice A).
2.4. Ferramentas que podem ser utilizadas para realizar o ataque por
meio do protocolo ARP
Há softwares criados para auditar uma rede com o objetivo de realizar este
ataque para detectar possíveis falhas nos sistemas auditados, citam-se dois,
arpspoof (pertencente ao pacote dsniff) - LINUX e Cain & Abel - Windows.
2.4.1. Arpspoof
A ferramenta arpspoof pertence ao pacote dsniff3 (uma coleção de
ferramentas para auditoria de redes e testes de penetração). É uma ferramenta em
modo texto que permite transmitir vários falsos ARP replies (respostas ARP), com
isso caracteriza-se o ataque Man-In-The-Middle.
O arpspoof é uma ferramenta simples com poucas opções e bastante
didática:
3
Dsniff - 2.3 - http://www.monkey.org/~dugsong/dsniff/
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
#arpspoof
7
-i (interface de rede) –t(alvo, se não especificado, considerará
todos os hosts da rede) host (o host que deseja interceptar os pacotes, geralmente é
o gateway):
Figura 4 - Utilizando a ferramenta arpspoof.
2.4.2. Cain & Abel
Cain & Abel4 é uma ferramenta, assim como o arpspoof, bastante intuitiva e
de fácil manuseio, inicialmente criada para recuperação de senhas em sistemas
Windows com ataques de força bruta, dicionário e ataque de criptografia e agora na
nova versão conta com novas funcionalidades, entre elas sniffer5 de rede que realiza
entre outras coisas, o envenenamento do cache ARP.
Figura 5 - Tela do Cain & Abel descobrindo os hosts das redes.
Após o levantamento dos hosts da rede, basta utilizar a função APR – ARP
Poison Routing do Cain & Abel, esta função irá realizar o envenenamento ARP no
host selecionado.
4
Cain & Abel v4.9.43 - http://www.oxid.it/cain.html
Sniffer: é um software capaz de capturar todo o tráfego que passa em uma rede.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
5
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
8
Figura 6 – Tela que apresenta a função APR – ARP Poison Routing.
Na figura 6 o APR do Cain & Abel é responsável por fazer o envenenamento
ARP e ao se clicar no ícone (+) será encaminhado para uma janela onde escolherá o
host que se queira atacar.
Figura 7 - Tela de configuração de ataque do Cain & Abel.
Na figura 7 é demonstrada a janela de configuração do ataque, onde é
possível escolher qual comunicação interceptar, neste caso, está sendo interceptado
o tráfego entre os hosts 192.168.1.1 e 192.168.1.100.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
9
Cain & Abel é bastante útil para ataques a sistema Windows (SANDERS,
2010), pois realiza a interceptação de dados entre dois hosts de maneira a
demonstrar o que está trafegando, diferentemente do arpspoof, que apenas realiza o
ataque e necessita de ferramenta específica para demonstrar os pacotes trafegados,
como wireshark6.
Figura 8 - Tela do Cain & Abel mostrando os pacotes trafegados entre os hosts
interceptados.
3. DNS SPOOFING
3.1 DNS
O DNS (Domain Name System – Sistema de nome de domínios) é um serviço
que mapeia nomes por endereços IP, portanto, ao se consultar www.dominio.com.br
é feita uma requisição aos servidores DNS, e o mesmo retorna o endereço IP
referente ao www.dominio.com.br. (COSTA, 2006)
6
Wireshark: Ferramenta que analisa tráfego de rede.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
10
Figura 9 - Consulta DNS.
De acordo com COSTA (2006) o DNS é uma grande base de dados
distribuída para tradução de nomes de domínio em endereço IP e vice-versa. Isso
ocorre graças à hierarquia desse serviço em forma de árvore invertida, cada servidor
DNS se comunica com o próximo servidor DNS hierarquicamente superior, a fim de
encontrar o endereço referente ao domínio consultado.
3.2. DNS Spoofing em Rede Local
Toda a consulta DNS que é enviada através da rede contém um número de
identificação único com o objetivo de indexar consultas e respostas (SANDERS,
2010).
O DNS spoofing em Rede Local consiste em interceptar o tráfego e enviar um
pacote falso com o número de identificação correspondente a consulta realizada.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
11
Figura 10 - Funcionamento do DNS Spoofing. (SANDERS, 2010)
O DNS spoofing pode ser usado para roubar senhas de uma intranet ou até
mesmo ser utilizado para roubar dados do usuário que foi enganado por não saber
que o site acessado é falso, podendo também ser usado ainda para instalar
malwares7 no host do usuário, uma vez que ele pode ser direcionado a baixar
arquivos em seu computador.
3.3 Protegendo do ataque de DNS Spoofing
Assim, como envenenamento do cache ARP, o DNS Spoofing não possui
fórmula mágica para se proteger dele, pela sua natureza passiva a vítima não
percebe que está sendo atacada e é enganada informando seus dados. Mas,
existem soluções para, no mínimo, evitar ser atacado por este tipo de ataque.
O DNS Spoofing em rede local utiliza-se do envenenamento do cache ARP
para ter acesso ao número identificador da consulta DNS e com posse deste realizar
o ataque, portanto, utilizar as medidas proativas e reativas do envenenamento do
cache ARP é uma maneira de se proteger.
7
Malwares ou código malicioso é o termo para se referir a softwares desenvolvidos para ações
danosas ou atividades maliciosas.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
12
Uma solução específica para esse ataque é a utilização do DNSSec, sendo
uma extensão da tecnologia do DNS (KUROIWA,2012). Segundo TANENBAUM
(2003), com o DNSSec todo o servidor DNS recebe um par de chaves
público/privada e todas as informações enviadas a um servidor serão autenticadas
com a chave privada e assim será possível ao receptor verificar sua autenticidade e
garantindo a sua integridade.
3.4. Ferramenta que pode ser utilizada para realizar o ataque de DNS
Spoofing
Uma ferramenta amplamente utilizada para realizar esse tipo de ataque é o
Ettercap8, com versões para Linux e Windows. É uma ferramenta simples e bastante
intuitiva. A versão mais nova para o Windows é Ettercap 0.74 e para LINUX a versão
é o Ettercap 0.753.
O Ettercap possui interfaces em linha de comando e gráfica. Para
demonstração e aplicação em ambos os sistemas segue exemplo do Ettercap em
linha de comando.
Para realizar o ataque de DNS Spoofing no Ettercap é necessário configurar
um arquivo (plug-in dns_spoof), bastante simples e muito explicativo, no sistema
Windows ele é encontrado no caminho C:\Program Files (x86)\Ettercap Development
Team\Ettercap-0.7.4\share\etter.dns
e
no
sistemas
Linux
é
encontrado
/usr/share/Ettercap/etter.dns. Esse arquivo contém os registros DNS que se queiram
alterar. Como exemplo, ao usuário digitar o site www.google.com será redirecionado
a um host local que possui um servidor web, informando ao usuário que o mesmo
corre risco.
8
Ettercap: http://ettercap.github.com/ettercap/
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
13
Figura 11 - Realizando o DNS Spoofing.
Isso quer dizer que quando a vítima fizer uma consulta DNS do tipo A para o
site www.google.com ele terá como resposta o IP 192.168.1.103.
Após a adição dos endereços falsos, basta digitar o comando:
ettercap (opções) (Alvo1) (Alvo2)
Para realizar este ataque serão utilizadas as opções:
-T: Especifica que será utilizado o modo texto.
-q: Os comandos serão executados no modo silencioso, as capturas de pacotes não serão
mostradas na tela.
-P dns_spoof: Especifica a utilização do plug-in dns_spoof
-M arp: Será executado o envenenamento do cache ARP para interceptar a comunicação
entre os hosts.
// //: Especifica que todos os usuários das redes serão alvos desse ataque.
Assim, digitando o seguinte comando:
ettercap –T –q –P dns_spoof –M arp // //
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
14
Figura 12 - Ettercap esperando uma consulta DNS.
Figura 13 - O resultado do DNS Spoofing.
Ao tentar acessar o site www.google.com o usuário foi redirecionado para um
servidor web local (192.168.1.103) que tenta ludibriá-lo que está correndo um grave
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
15
risco e informa um link falso para proteger o computador do usuário, podendo nesse
link ter vários tipos de softwares maliciosos.
4. HTTP SESSION HIJACKING
4.1. Sessões HTTP
Sessão é quando há um estado na conexão entre dois dispositivos, ou seja,
há um diálogo estabelecido em que a conexão constituída é mantida e outro
processo definido deve ser realizado para fechar a conexão. (SANDERS, 2010).
Os sites que possuem login e senha utilizam as sessões para estabelecer
uma conexão de forma a garantir que o usuário ainda esteja logado e quando a
sessão está encerrando os cookies9 são descartados e a sessão termina. Isso é um
exemplo de sessão orientado a conexão.
Figura 14 - Sessão HTTP
4.1.1. Roubo de Sessão HTTP
Session Hijacking ou Roubo de Sessão é o termo utilizado para o ataque as
sessões entre dois dispositivos. O Roubo de Sessão HTTP é realizado através dos
cookies que envolvem sessões HTTP (SANDERS, 2010).
Desta maneira o ataque de roubo de sessão intercepta os cookies da
comunicação entre o cliente e o servidor e utiliza esse cookie para se comunicar
com o servidor, fazendo se passar pelo cliente.
9
Cookie: pequeno arquivo que é armazenado no computador quando acessa um site, contém
informações sobre o usuário, como nome de usuários e senhas.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
16
Figura 15 - Roubo de Sessão HTTP.
4.1.2. Defesa contra ataque de roubo de sessão HTTP
O ataque de roubo de sessão é difícil de detectar, uma vez que a primeira
fase (captura de cookies) é passiva. Essa técnica é bastante perigosa, se o atacante
não fizer alterações na sessão interceptada, dificilmente a vítima perceberá o
ataque.
O ataque de roubo de sessão utiliza o ataque de envenenamento ARP para
interceptar os dados entre os dispositivos, por isso, é ideal se proteger dos ataques
no protocolo ARP.
Atentar-se a qualquer alteração no perfil do usuário no site, apesar de
atacantes experientes dificilmente deixam rastros, possivelmente, um atacante
inexperiente os deixarão. Alguns sites demonstram dados importantes para saber se
está sendo atacado, um deles, e talvez o mais importante seja o período do último
login (último acesso), ficar atento a esta informação é de suma importância para
detectar o ataque de roubo de sessão HTTP (SANDERS, 2010).
Tomar cuidado ao acessar sites de bancos em uma rede corporativa, pois a
maioria dos ataques será direcionada a este tipo de site, devendo observar os dados
de usuário informado pelo site, pois como o ataque é realizado em redes locais, não
se sabe se há alguém mal-intencionado na rede.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
17
4.1.3. Ferramentas que podem ser utilizadas para realizar um roubo de
sessão HTTP.
Para o exemplo do ataque de roubo de sessão serão utilizadas as
ferramentas Hamster e Ferret10, ferramentas livres para sistema Linux. E será
utilizada também a ferramenta Wireshark11 para leitura dos pacotes transmitidos.
O primeiro passo é capturar os pacotes transmitidos entre o cliente e o
servidor, para isto, usa-se o ataque pelo protocolo ARP aliado à ferramenta
Wireshark.
Figura 16 - Wireshark capturando pacotes.
Após a captura do pacote pelo wireshark é necessário salvar a captura em
um arquivo do tipo .pcap no diretório onde se encontra o hamster. O ferret vai
processar o arquivo e criar um arquivo com o nome hamster.txt, esse arquivo
contém todos os cookies capturados, com o seguinte comando, onde o parâmetro –r
é utilizado para ler o arquivo no modo offline:
#ferret –r (arquivo).pcap
10
Hamster and Ferret versão 2.0: http://erratasec.blogspot.com.br/2009/03/hamster-20-and-ferret20.html.
11
Wireshark 1.4.6: http://www.wireshark.org/
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
18
Em seguida, executar o hamster no terminal com o seguinte comando:
#hamster
Para ter acesso a sessão roubada é necessário configurar o proxy para o
host local com os endereços de Proxy 127.0.0.1 e a porta 1234 e depois digitar no
browser HTTP://hamster.
Figura 17 - Tela do Hamster, no lado esquerdo as sessões roubadas ao clicar em
uma delas aparecerá à sessão roubada em uma nova guia.
Figura 18 - A sessão roubada do site www.gmail.com.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
19
Com a sessão roubada o atacante pode realizar os mais diversos ataques,
além de possuir informações importantes a respeito da vítima, como neste caso, o
atacante tem o acesso aos e-mails da vítima.
5. SSL HIJACKING
5.1. Protocolo SSL
O SSL (Secure Socket Layer) é um protocolo de aplicação para fornecer
segurança em comunicação de rede por meio da criptografia. Esse protocolo pode
ser implementado a outros protocolos para garantir mais segurança ao serviço,
exemplo disso é o HTTPS. O objetivo é criar um canal seguro em redes não
seguras.
O HTTPS é o uso mais comum de SSL utilizado atualmente em sites de
bancos, e-mails, redes sociais, entre outros. O HTTPS utiliza o par de chaves
público/privada para se comunicar com o servidor web (SANDERS, 2010).
Figura 19 - Comunicação HTTPS
Se o processo de validação do certificado falhar, não será possível autenticar
a identidade do site, podendo o usuário prosseguir por sua conta e risco.
(SANDERS, 2010).
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
20
5.2. SSL HIJACKING
O protocolo SSL foi considerado seguro por muitos anos (SANDERS, 2010).
Apesar do processo de SSL HIJACKING (Roubo de SSL) não quebrar a criptografia,
consegue com sucesso interceptar o processo de comunicação.
O SSL HIJACKING cria uma ponte entre a comunicação criptografada com a
comunicação não criptografada. No processo de comunicação o site HTTP
redireciona para o HTTPS e esta é a falha que foi explorada para a realização desse
ataque.
Figura 20 - Interceptando uma comunicação HTTPS
5.2.1. Defendendo contra o ataque SSL HIJACKING
É um ataque difícil de defender devido a sua natureza passiva, mas é um
ataque simples de se identificar.
Como todos os ataques MITM em redes locais utilizam da falha no protocolo
ARP para realizar o ataque, se defender dele é essencial para se proteger deste e
outros ataques.
O roubo de SSL por meio do protocolo HTTPS é de fácil detecção, pois o
ataque redireciona o tráfego para o HTTP, e os navegadores atuais demonstram o
protocolo de navegação, geralmente o HTTPS é demonstrado por um cadeado.
Portanto, se um site utiliza o protocolo HTTPS e o navegador informa que está
utilizando o protocolo HTTP, provavelmente está sendo atacado.
Outra informação que é importante se atentar é o certificado digital, os
navegadores oferecem informações sobre o mesmo, sendo possível verificar a
autenticidade do site. O atacante pode realizar o ataque e com o auxílio de um
certificado digital redirecionar o tráfego para HTTPS enganando o usuário,
informando que é uma navegação segura.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
21
Cabe ao usuário se atentar as estas informações, apesar que por
desconhecimento ou pela falta de tempo do dia a dia muitos usuários não prestam
atenção a esta informação.
Outra maneira é o usuário certificar as informações de segurança de sites que
utilizam protocolo HTTPS e que possuem dados importantes, como sites de bancos
e e-commerces, em redes corporativas, pois esse ataque ocorre em LANs, sendo
mais seguro utilizar esse site em uma rede doméstica.
5.3. Ferramentas que podem ser utilizadas para realizar o ataque de
roubo de SSL.
Hoje a ferramenta mais importante que realiza esse ataque é a sslstrip 12. É
uma ferramenta escrita na linguagem python 13 executada apenas nos sistemas
operacionais LINUX.
Para demonstrar o poder desta ferramenta serão atacados os sites
www.gmail.com e www.facebook.com .
Para começar o ataque é necessário que o tráfego passe pelo atacante e seja
redirecionado ao servidor web, através do comando:
#echo “1” > /proc/sys/net/ipv4/ip_forward
Após isso, é preciso configurar para que o tráfego HTTP que será
interceptado seja encaminhado à porta onde o sslstrip estará “escutando”. Isto é
possível, configurando o iptables, o firewall nativo do LINUX. Através do seguinte
comando:
#iptables –t nat -A PREROUTING –p tcp –destination-port 80 –j REDIRECT –
to-port <Porta que o sslstrip estará escutando>
Onde:
-t: especifica as regras de uma determinada tabela
nat (network address translation ou tradução de endereço de rede) : tabela especificada pelo
parâmetro –t
12
Sslstrip 0.9: http://www.thoughtcrime.org/software/sslstrip/
Python: Linguagem de Programação criada por Guido van Rossum apresenta como característica o
fato de ser uma linguagem interpretada, altamente dinâmica.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
13
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
22
-A: acrescenta uma regra de firewall
PREROUTING: quando o pacote é modificado antes de ter seu roteamento previsto.
-p tcp: especifica o protocolo, nesse caso o protocolo utilizado é o TCP (transfer control
protocol)
- -destination-port: a porta de destino, nesse caso a porta 80
-j: indica qual ação deve ser tomada, caso a regra seja ativada
REDIRECT –to-port : o pacote é redirecionado para a porta especificada nesta opção.
O iptables permite filtragem de pacotes, tradução de endereços de rede
(NAT) e outras modificações de pacotes, sendo um firewall nativo nas atuais
distribuições LINUX.
Com o iptables configurado basta executar o sslstrip. Com o comando:
sslstrip –a –l <porta que o sslstrip estará escutando>
Figura 21 - Utilizando o sslstrip
O último passo para realizar o ataque é atacar o protocolo arp.
Figura 22 - Ataque de envenenamento ARP.
Após isso, todo o tráfego HTTPS interceptado será redirecionado para HTTP,
caracterizando assim o ataque de roubo de SSL.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
Figura 23 - Site www.facebook.com com o seu funcionamento normal HTTPS.
Figura 24 - Site www.gmail.com com o seu funcionamento normal HTTPS.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
23
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
24
Figura 25 – Site www.facebook.com redirecionado, agora com o protocolo HTTP.
Figura 26 - Site www.gmail.com redirecionado, agora com o protocolo HTTP.
O SSL Hijacking ou roubo de SSL se mostrou eficaz, podendo o atacante com
o auxílio de uma ferramenta de análise de tráfego de pacotes, como wireshark,
capturar senhas, já que não há mais criptografia na sessão da vítima e os dados são
passados claramente pelo protocolo HTTP.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
25
6. ESTUDO DE CASO
Demonstradas as técnicas e as principais ferramentas MITM em redes locais,
percebe-se que todas elas têm como base o ataque por meio do protocolo ARP,
para tal foi desenvolvida uma solução.
O estudo de caso mostrará a defesa proposta por este artigo, através de um
script desenvolvido para detectar o ataque de envenenamento do cache ARP, a
porta de entrada para o ataque MITM e a qualquer alteração detectar o ataque
MITM, rastrear e identificar o atacante.
6.1. Agente Drynna
O Agente Drynna (Apêndice A) é um script para LINUX desenvolvido por este
artigo que monitora a tabela ARP e a qualquer alteração avisa o usuário que o
mesmo está sendo atacado, servindo como HIDS (Host Based IDS)14 para o ataque
de envenenamento do cache ARP.
O script deve ser iniciado juntamente com os hosts da rede, para que sejam
armazenados os endereços IPs iniciais juntamente com o seu endereço MAC, desta
maneira o script mapeará toda a rede e saberá onde originou o ataque, caso haja.
6.2. Configuração do ambiente de teste
Para o teste será simulado uma rede com quatro hosts no software de
virtualização da Oracle Virtual Box15, versão para Linux, os hosts serão assim
identificados:
14
HIDS: Host Based IDS, Sistema de Detecção de Intrusão baseado no Host, se localiza na máquina
analisando eventos internos em busca de anomalias.
15
VirtualBox 4.18: https://www.virtualbox.org
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
26
Tabela 1- Ambiente de teste.
Nome
Máquina alvo
Sistema Operacional
Ubuntu versão 12.04 64 bits
Máquina
atacante
BackTrack 5.0 64 bits
Máquina XP
Microsoft Windows XP
Máquina
Debian
Debian 6.0
Configuração de rede
Endereço IP: 192.168.1.100
Máscara de Sub-Rede: 255.255.255.0
Gateway: 192.168.1.1
Endereço MAC: 20:cf:30:4c:3c:0f
Endereço IP: 192.168.1.101
Máscara de Sub-Rede: 255.255.255.0
Gateway: 192.168.1.1
Endereço MAC: 08:00:27:b0:ed:4b
Endereço IP:192.168.1.103
Máscara de Sub-Rede: 255.255.255.0
Gateway: 192.168.1.1
Endereço MAC:08:00:27:93:1c:96
Endereço IP: 192.168.1.102
Máscara de Sub-Rede: 255.255.255.0
Gateway: 192.168.1.1
Endereço MAC: 08:00:27:0b:c5:77
6.2.1. VirtualBox
Software de virtualização da Oracle é capaz de simular um sistema
computacional completo. Assim, é possível instalar vários sistemas operacionais em
uma mesma máquina e simular uma rede local.
6.2.2. Roteador
Para o teste foi utilizado o roteador TP-LINK Modelo TD-8816 com o
endereço IP 192.168.1.1 e endereço MAC f4:ec:38:a7:f6:40, servindo como central
desta rede.
6.2.3. Máquina Alvo (Ubuntu 12.04 - Linux)
A máquina alvo irá utilizar o Agente Drynna para detectar o ataque e o
sistema foi configurado sem nenhum outro processo de segurança, apenas o script
Agente Drynna.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
27
6.2.4. Máquina Atacante (Backtrack 5 – Linux)
O Backtrack16 é uma distribuição Linux idealizada para agregar ferramentas
para a realização de testes de invasão, sendo uma das distribuições mais utilizadas
para este fim. Neste estudo, ele será utilizado para atacar a máquina alvo e serão
utilizadas também as ferramentas arpspoof 2.3 e Ettercap 0.73.
6.3. Resultados
Para começar a implementação da defesa proposta, na Máquina Alvo foi
executado o Agente Drynna a partir do diretório no Terminal do Sistema operacional,
para fim de teste. Sendo recomendado iniciá-lo juntamente com o sistema
operacional, mapeando assim toda a rede local.
Figura 27 - Execução do Agente Drynna na Máquina Alvo.
Os endereços podem ser vistos na tabela ARP da Máquina Alvo:
Figura 28 - Tabela ARP da Máquina Alvo, antes de ser atacada, mostrando quatro
máquinas ativas.
Na máquina atacante primeiramente foi utilizado o ataque de envenenamento
do cache ARP para captura de tráfego de dados. Utilizando a ferramenta arpspoof.
16
Backtrack 5: http://www.backtrack-linux.org
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
28
Figura 29 - Utilizando a ferramenta arpspoof.
Automaticamente na máquina alvo o Agente Drynna detectou o ataque e
identificou a origem do mesmo. O que pode ser visto na tabela ARP da máquina
alvo.
Figura 30 - O Agente Drynna detectando que o endereço IP 192.168.1.101(Máquina
atacante) está realizando um ataque de envenenamento do cache ARP.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
29
Figura 31 - Tabela ARP da Máquina alvo, após o ataque.
Como pode ser visto a máquina atacante atacou a máquina alvo enviando
uma série de Arp replies (respostas ARP) para a máquina alvo ao se comunicar com
o gateway (roteador), porém estava na verdade se comunicando com a máquina
atacante, deste modo, interceptando os dados trafegados entre a máquina alvo e o
gateway (roteador).
Para o outro teste foi utilizada a ferramenta Ettercap para realizar o ataque de
DNS Spoofing (falsificação de DNS), e foi configurado para atacar todos os hosts da
rede.
Figura 32 - Funcionamento da ferramenta Ettercap.
Da mesma forma automaticamente na máquina alvo o Agente Drynna
detectou o ataque e a origem.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
30
Figura 33 - O Agente Drynna em funcionamento na máquina alvo, detectando o
ataque e identificando a sua origem 192.168.1.101 (máquina atacante).
Sem o Agente Drynna ficaria difícil detectar a origem do ataque e ficaria
inviável em redes maiores. Como pode ser visto na tabela ARP após o ataque de
DNS Spoofing, todas as máquinas da rede possuem o mesmo endereço MAC,
mesmo sabendo que foi atacado, não há como saber onde se originou o ataque.
Figura 34- Tabela ARP com todos os hosts com o mesmo endereço MAC.
6.4.
Discussão
Resumidamente, o Agente Drynna se mostrou eficaz na detecção do ataque e
na identificação do atacante por envenenamento do cache ARP. Porém, como toda
aplicação ele pode possuir falhas a serem exploradas.
O protocolo ARP é o mecanismo pelo qual se pode realizar o ataque MITM na
rede local, porém ele possui uma brecha que mostrou o quanto é fácil explorar sua
vulnerabilidade, através de ferramentas específicas.
O Agente Drynna criado para monitorar a tabela ARP detecta e rastreia o
atacante, mas não há como bloquear o ataque. Uma vez que ao excluir o atacante
da tabela ARP, o mesmo pode retornar ao aplicar um arp reply (resposta ARP). Por
isso, o agente é só uma ferramenta para se chegar ao atacante, cabendo ao
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
31
administrador da rede criar um script para fazer o Agente Drynna avisá-lo que o host
está sendo atacado e o administrador tomar as atitudes cabíveis.
O Agente Drynna foi idealizado apenas para detectar o ataque e rastrear o
atacante, propondo uma solução para o Host nos ataques por meio do protocolo
ARP. O Host ao saber que está sendo atacado pode realizar pequenas iscas, como
mostrar falsos dados, entrar em sites com o qual não tem a frequência de utilizar,
contra-atacar utilizando o mesmo mecanismo ou até mesmo desconectar o cabo de
rede e conectar novamente. Caso a rede for configurada com o DHCP17 que tem
como princípio a dinamicidade, o host poderá não ter o mesmo endereço IP,
dificultando sua identificação pelo atacante.
7. CONCLUSÃO
Este artigo apresentou o ataque Man-In-The-Middle em redes locais e
demonstrou o funcionamento das principais ferramentas utilizadas para realizá-lo,
assim como propôs uma solução para detectá-lo e rastreá-lo.
Demonstrou com isso que com uma simples vulnerabilidade do protocolo ARP
é possível realizar as técnicas de ataque Man-In-The-Middle: envenenamento do
cache ARP, DNS Spoofing, Roubo de sessão e Roubo de SSL. E como proposta de
solução, demonstrou o script Agente Drynna capaz de detectar qualquer tentativa de
exploração da vulnerabilidade do protocolo ARP.
O ataque MITM é bastante peculiar, tanto pela sua passividade quanto pela
sua atividade. Tendo o maior risco a sua passividade, já que a vítima não sabe que
está sendo atacada e utilizará a rede normalmente, como se nada estivesse fora do
normal, pois antivírus, firewalls e atualizações de segurança do sistema operacional
não detectam este tipo de ataque. Uma vez que o ataque é realizado pela rede local,
independente de sistema operacional e suas aplicações.
Os dados roubados podem ser utilizados para os mais diversos fins. E se o
atacante realizar o ataque a todos os hosts da rede local e a vítima não tendo
17
DHCP: Dynamic Host Configuration Protocol ou Protocolo de configuração dinâmica de host
permite que todos os micros da rede recebam suas configurações de rede automaticamente a partir
de um servidor central, sem que você precise ficar configurando os endereços manualmente em cada
um.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
32
nenhum mecanismo de defesa, dificilmente ela saberá a origem do ataque pela
tabela ARP.
Este artigo coloca em foco a rede local ou rede interna, pois confronta a ideia
de que o perigo é só externo, enfatizando a importância de se proteger
internamente. Por isso, não adianta a organização ter as melhores tecnologias para
a rede externa e uma tecnologia simples de proteção para a rede interna, que estará
vulnerável ao ataque MITM.
As técnicas MITM descritas neste artigo apresentam também um foco curioso
e bastante pertinente, a ingenuidade do usuário. Mesmo a tecnologia fazendo parte
do dia a dia de muitas pessoas, ainda é possível enganar os usuários. Dentre as
técnicas MITM que podem ser usadas para enganar os usuários, as principais são
DNS Spoofing e Roubo de SSL.
O DNS Spoofing pode ser utilizado para enganar o usuário a clicar em links
maliciosos ou mesmo transmitir dados importantes. O roubo de SSL é talvez a
técnica mais perigosa, podendo o atacante capturar senhas, sendo necessário
realizar o ataque apenas uma vez para isso, e com posse das senhas, realizar os
mais diversos tipos de fraudes.
Portanto, é
necessário conscientizar usuários e administradores da
importância da proteção na rede interna e alertá-los, principalmente os usuários, das
artimanhas que os atacantes possuem já que são capazes de realizar ataques mais
elaborados ou usar as informações que conseguiu interceptar para o seu próprio
bem ou ao bem de algum terceiro.
Para trabalhos futuros sugere o aperfeiçoamento do código do Agente
Drynna, tornando-o independente de sistema operacional e podendo até torná-lo
nativo. Também sugere a melhora no protocolo ARP, colocando esse mecanismo de
proteção inerente ao protocolo.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
33
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
8. ERRATA
Folha de Aprovação, título
Onde se lê:
“como detector”
Leia-se:
“como detectar”
9. REFERÊNCIAS
BACKTRACK
–
Sistema
para
teste
de
invasão.
Disponível
em:
<http://www.backtrack-linux.org/>. Acesso em 28 de setembro de 2012.
BERNAL, Volnys Borges – Protocolos Auxiliares: Protocolos ARP e RARP. 2000
Disponível em <http://www.lsi.usp.br/~volnys/courses/tecredes/pdf/06ARP-col.pdf>.
Acesso em 07 de abril de 2013.
CAIN & ABEL. Disponível em: <http://www.oxid.it/cain.html>. Acesso em 13 de
fevereiro de 2013.
COSTA, Daniel Gouveia. DNS – um guia para administradores de rede – Rio de
Janeiro: Brasport, 2006.
CUNHA, André, et al. Man In The Middle. Segurança de Sistemas e Redes. 2006.
DSNIFF. Disponível em: <http://monkey.org/~dugsong/dsniff/>. Acesso em 30 de
setembro de 2012.
ETTERCAP. Disponível em: <http://Ettercap.github.com/Ettercap/>. Acesso em 13
de fevereiro de 2013.
HAMSTER
E
FERRET.
Disponível
<http://erratasec.blogspot.com.br/2009/03/hamster-20-and-ferret-20.html>.
em:
Acesso
em 13 de fevereiro de 2013.
KUROIWA,
Cesar
Henrique.
Tutorial
DNSSec.
2012.
Disponível
em:
<ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf>. Acesso em 08 de abril de 2013.
ORACLE
VirtualBox
–
software
de
virtualização.
Disponível
<https://www.virtualbox.org/>. Acesso em 28 de setembro de 2012.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
em:
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
34
SANDERS, Chris. Unterstanding Man-In-The-Middle Attacks. Disponível em:
<http://www.windowsecurity.com/articles/Understanding-Man-In-The-Middle-AttacksARP-Part1.html>. 2010
SOUZA, André Luis Wagner de. Introdução a Redes de Computadores.
Disponível em: <http://www.m8.com.br/andre/.> 2010.
SSLSTRIP. Disponível em: <http://www.thoughtcrime.org/software/sslstrip/>. Acesso
em 14 de fevereiro de 2013.
TANENBAUM, Andrew. Redes de Computadores. 4. ed. Rio de Janeiro: Campus
Elsevier, 2003.
WIRESHARK. Disponível em: < http://www.wireshark.org/>. Acesso em 14 de
fevereiro de 2013.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
35
10.AGRADECIMENTOS
Agradeço a Deus por ter me dado esta oportunidade e por ter mostrado o
caminho certo a seguir.
Ao meu Pai pela ajuda e incentivo durante minha graduação e agora durante
a minha pós-graduação e como ele mesmo diz: “Esta vida é uma grande luta.”. Digo
que apanhei muito, mas tenho força para levantar e continuar lutando.
A minha Mãe pelo incentivo durante minha graduação e pós-graduação e pelo
empenho sempre demonstrado nos momentos em que mais precisei.
A minha esposa Fernanda que abriu mão da minha companhia para a
realização deste trabalho e me apoiou nos momentos mais difíceis incentivando a
concluir esta importante etapa da minha vida.
Aos meus colegas da pós-graduação pela troca de conhecimento, em
especial meus colegas de grupo, Cleycione, Diego, Guacyrena, Jaqueline e
Sthefany.
Aos professores da Faculdade Senac, em especial ao Edilberto e Serique,
pela troca de conhecimentos que tivemos e pelo exemplo dado como ótimos
profissionais da área, me fazendo querer conhecer ainda mais esta área de
Tecnologia da Informação.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
36
APÊNDICE A – CÓDIGO FONTE DO AGENTE DRYNNA (SHELL
SCRIPT)
#Projeto DRYNNA - Agente de detecção de ataque por meio do cache ARP
#Autor: Amaury Coriolano da Silveira Júnior
#versão 4
#!/bin/bash
#Declaração de Funções
function DescHosts () {
#Função que descobre os hosts da rede.
if [ $1 == "c" ]
then
for ((c=1;c<=254;c++)) #populando a tabela ARP
do
arping -c1 $IPAlvo$c
clear
done
else
if [ $1 =="b" ]
then
for ((b=0;b<=254;b++))
do
for ((contb=1;contb<=254;contb++))
do
arping -c1 $IPAlvo$b.$contb
clear
done
done
else
if [ $1=="a" ]
then
for ((a=0;a<=254;a++))
do
for ((conta=0;conta<=254;conta++))
do
for ((conta2=1;conta2<=254;conta2++))
do
arping -c1 $IPAlvo$a.$conta.$conta2
clear
done
done
done
fi
fi
fi
}
function VerNend() {
#Função que verifica se há um novo endereço
for ((nl=1;nl<=$1;nl++))
do
EndIP=$(head -n $nl /tmp/TabArp$2.txt | tail -n 1 | awk '{print $2}')
EndMac=$(head -n $nl /tmp/TabArp$2.txt | tail -n 1 | awk '{print $4}')
VerNMac=$(grep -c $EndMac /tmp/TabArp0.txt)
VerNIP=$(grep -c $EndIP /tmp/TabArp0.txt)
if [ $VerNMac == 0 ]
then
if [ $VerNIP == 0 ]
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
then
head -n $nl /tmp/TabArp$2.txt | tail -n 1 >> /tmp/TabArp0.txt
else
if [ $VerNIP == 1 ]
then
cat /tmp/TabArp0.txt | grep -v $EndIP > /tmp/TabArp_nend.txt
mv /tmp/TabArp_nend.txt /tmp/TabArp0.txt
head -n $cont /tmp/TabArp$2.txt | tail -n 1 >> /tmp/TabArp0.txt
fi
fi
else
if [ $VerNMac == 1 ] && [ $VerNIP == 0 ]
then
cat /tmp/TabArp0.txt | grep -v $EndMac > /tmp/TabArp_nend.txt
mv /tmp/TabArp_nend.txt /tmp/TabArp0.txt
head -n $cont /tmp/TabArp$2.txt | tail -n 1 >> /tmp/TabArp0.txt
fi
fi
done
}
#Início do Agente
IP=$(ifconfig | grep end.: | awk '{print $3}' | head -n 1)
MASC=$(ifconfig | grep Masc: | awk '{print $5}' | head -n 1 | cut -f2 -d ':')
if test -z $IP
then
IP=$(ifconfig | grep addr: | awk '{print $2}' | head -n 1 | cut -f2 -d ':')
if test -z $MASC
then
MASC=$(ifconfig | grep Mask: | awk '{print $4}' | head -n 1 | cut -f2 -d ':')
fi
fi
B1=$(echo $MASC | cut -d '.' -f 1)
B2=$(echo $MASC | cut -d '.' -f 2)
B3=$(echo $MASC | cut -d '.' -f 3)
if [ $B3 != 255 ]
then
if [ $B2 != 255 ]
then
if [ $B1 <= 255 ]
then
BIP=$(echo $IP | cut -d '.' -f 1-1 | wc -m)
IPAlvo=$(echo $IP | cut -c1-$BIP)
TESTE="a"
fi
else
BIP=$(echo $IP | cut -d '.' -f 1-2 | wc -m)
IPAlvo=$(echo $IP | cut -c1-$BIP)
TESTE="b"
fi
else
BIP=$(echo $IP | cut -d '.' -f 1-3 | wc -m)
IPAlvo=$(echo $IP | cut -c1-$BIP)
TESTE="c"
fi
DescHosts $TESTE
arp -a > /tmp/TabArp0.txt
while true
do
for ((cont=1;cont<=60;cont++))
do
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
37
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
arp -a > /tmp/TabArp$cont.txt
NumL=$(wc -l /tmp/TabArp$cont.txt | awk '{print $1}')
VerNend $NumL $cont
for ((n=1;n<$NumL;n++))
do
EndMac=$(head -n $n /tmp/TabArp$cont.txt | tail -n 1 | awk '{print $4}')
Ver=$(grep -c $EndMac /tmp/TabArp$cont.txt)
case $Ver in
1)
sleep 1m
;;
2)
IPAtacante=$(grep $EndMac /tmp/TabArp0.txt | awk '{print
$2}')
break
;;
*)
IPAtacante=$(grep $EndMac /tmp/TabArp0.txt | awk '{print
$2}')
break
;;
esac
done
if test -z $IPAtacante
then
sleep 1m
else
clear
zenity --warning --title “ O Agente Drynna alerta” --text “O $IPAtacante esta
realizando um ataque de envenenamento do cache ARP”
IPAtacante=" "
sleep 1m
break
fi
done
DescHosts $TESTE
sleep 1m
done
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
38
Ataque Man-In-The-Middle em Redes Locais: Como detectar, prevenir e rastrear o atacante.
Artigo apresentado na Pós-Graduação em Segurança da Informação da FACSENAC-DF  04/2013
39
Download

- Prof. Edilberto Silva