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