Caríssimos leitores, este artigo visa esclarecer e desmistificar um dos ataques sobejamente empregado em redes de computadores, o ataque Man-in-The-Middle. Este é dos ataques mais alarmante numa rede de computadores, por exemplo, a rede Wireless do café que frequentamos com determinada regularidade.
Habitualmente usamos e abusamos de numerosos serviços online, como o conhecido Facebook, o Outlook e o Gmail. São serviços de Cloud, onde partilhamos e salvaguardamos bastante informação sobre a nossa vida pessoal e profissional, e acedemos-lhes diariamente em qualquer rede de computadores com acesso direto à Internet, sem nos preocuparmos efetivamente, com a segurança oferecida pela rede local.
Numa rede local, o dispositivo responsável por administrar toda a comunicação entre dispositivos é o Switch. Ele tem o papel de fazer a distribuição dos pacotes que circulam na rede, fazendo assim, o seu reencaminhamento emissor – destinatário. Usualmente numa rede de computadores doméstica, é usado um Router, pois este desempenha um papel preponderante de Switching, e não só, tem a capacidade de comunicar com outras redes externas, isto é, permite o envio de tráfego para além da rede local (tem o papel de Gateway).
Numa rede cada computador possuí um endereço físico, apelidado de MAC Address. Este endereço é único para cada interface física, e identifica por si só um device, neste caso, um computador ou um smartphone).
Para perceber o funcionamento interno de uma rede, é necessário atentar a imagem acima. Os passos básicos para interligar um computador a uma rede Wireless são bastante práticos e descomplicados. Desta forma, é necessário unicamente colocar a palavra-passe de acesso da rede no computador, e de imediato, o acesso à própria rede e à Internet passa a ser uma realidade.
Subsiste uma abstração gigantesca do processo por parte do utilizador. Em seguida, são indicados de forma sequencial alguns dos passos efetuados pelo servidor ou serviço DHCP do Router Wireless, quando um novo dispositivo se interliga à rede.
1.Quando um computador se interliga à rede, este envia um pacote do tipo broadcast, com um pedido de configuração DHCP.
2.O servidor DHCP verifica quais os IPs disponíveis para atribuir ao novo dispositivo.
3.Automaticamente atribuí um endereço de IPprivado ao dispositivo com determinado MAC Address (endereço físico que o identifica).
Posto isto, o Router sabe permanentemente quem é o destinatário dos pacotes que circulam na rede. É claro que os passos citados anteriormente são um resumo muito sumariado de como este processo é efetuado. O importante aqui, é compreender de uma forma genérica como isto funciona.
O novo dispositivo envia um pacote “broadcast” à rede, e neste caso o DHCP do Router atribuí automaticamente um endereço de IP ao dispositivo. O Routerpossuí então uma “ARP Cache”, nesta está identificado o endereço físico (MAC Address) do dispositivo e de todos os outros já catalogados.
Em cada dispositivo, um computador neste caso concreto, existe também uma ARP Table, responsável por expor quais são os seus MAC Address conhecidos. Esta tabela é atualizada de x em xtempo, e o dispositivo aceita e cataloga constantemente novos MAC Address que cheguem até si.
Quando um computador deseja enviar uma solicitação para fora da rede, este envia primeiramente uma frame encapsulada num pacote para o seu Gateway (Router), através do MAC Address conhecido na sua “ARP Table”.
Para visualizar esta tabela é essencial abrir a linha de comando no Sistema Operativo Windows 7 (o SO usado nesta experiencia), e digitar o comando “arp –a”.
É possível observar o registo referente ao Routerdisponibilizado pelo serviço MEO, ele está marcado como “Dinâmico”, ou seja, foi atribuído de forma dinâmica. Isto quer dizer, que o computador recebeu um primeiro pacote a informá-lo que o IP e MAC do Router eram aqueles, mas ele pode ser alterado. O endereço de IP é o 192.168.1.254com o respetivo endereço físico à sua direita (a4:b1:e9:1d:bb:ac).
Para averiguar que estes endereços são legítimos do Router, basta introduzir o IP do dispositivo num browser comum (foi usado o Opera).
Como esperado, a página de login do dispostito foi exibida, portanto, o endereço MAC pertence mesmo ao Router“Tecnicolor TG784n v3”.
Quando um computador pretende produzir qualquer comunicação, ele envia primeiramente um pacote chamado de “ARP Request”, solicitando o MAC Address do destino. Se o destino foi o RouterGateway (192.168.1.254), o computador recebe um “ARP Reply” com a resposta da sua requisição, catalogando essa informação na ARP Table. Esta tabela é temporária, e aceita constantemente novas entradas, mesmo que estas sejam duplicadas (e.g., dois MAC Addressiguais).
O célebre ataque MIDM tem como objetivo adulterar este “ARP Reply”, declarando que o MAC Address do Gateaway (a4:b1:e9:1d:bb:ac) é na verdade, o MAC Addressda sua máquina (bad guy / atacante).
Quando isto acontece, e um indivíduo (User na imagem acima) deseja comunicar com outro fulano conhecido via Facebook, ou enviar um e-mail através do Gmail (Internet), a comunicação não é consumada através do “trajeto” comum (User -> Router -> Internet), pois existe alguém a escutar a ligação (MITM). De forma engraçada, isto pode ser entendido como partir a ligação ao meio, e colocar um computador à escuta entre o computador que deseja comunicar e o Router. Porém, todo o trafego gerado pelo computador da vítima (User) cruza primeiramente o computador do atacante (MITM), e posteriormente é feito o reencaminhamento para o Router e também para a Internet.
Como é observável na imagem, o certificado digital mantido entre a vítima e o serviço ao qual acede (Facebook ou Google) é falsificado, a autenticidade e integridade é perdida, pois o atacante quebra-o efetuando a escuta do tráfego (é uma entidade ilegítima).
O processo é simples, a vítima remete os dados, o atacante escuta, e reencaminha-os para o destino, passando primeiramente pelo Routerque é o Gateway para o exterior.
Parece uma engenhoca elaborada mas é simples. Em seguida é apresentada uma experiencia usando uma rede Wireless com um Router – Tecnicolor TG784n v3, cedidos atualmente pela MEO.
Sumário
Tendo percebido como um computador adquire um endereço de IP numa rede Wireless e como os MAC Address são catalogados, é apresentado um pequeno guia de laboratório, que demonstra como um ataque MITM pode ser efetuado numa rede caseira MEO.
É também apresentada uma listagem das ferramentas usadas e um esboço da estrutura da experiência.
Ferramentas usadas na experiência:
Cain and Abel – É uma ferramenta para a recuperação de palavras-passe e para testar vulnerabilidades da rede.
Nmap – A função desta ferramenta é o mapeamento da rede e auditoria de segurança ou inventário de rede, por exemplo. Ele faz a verificação de hostsque estejam disponíveis na rede por meio de pacotes de IP em estado bruto.
Wireshark – O Wireshark é uma ferramenta que verifica os pacotes transmitidos pelo dispositivo de comunicação (placa de rede, placa de fax modem, etc.) do computador.
Putty – O Putty é um programa cliente para protocolos de rede SSH, Telnete Rlogin.
Estas são as ferramentas usadas na experiência. Pode efetuar o download das mesmas da Internet. (Neste blog não são disponibilizados quaisquer links para download.)
A experiência está dívida em algumas partes, nomeadamente:
1. MITM – ARP Poisoning: É explicado com algum grau de detalhe esta técnica. A experiência foca-se sobretudo nos resultados obtidos através do uso da técnica.
2. Routers MEO: É mencionado o porquê da impossibilidade de usar à técnica diretamente nos Routers atuais (Sticky MAC Address).
3. Cain and Abel – ARP-Poisoning (spoofing): Aqui é exibida uma pequena experiência com a ferramenta Cain and Abel. No final é verificado que o atacante não recebe efetivamente o tráfego da vítima, muito por culpa do Sticky MAC Address.
4. Wireshark – Análise dos pacotes ARP: Usando a ferramenta Wireshark é possível verificar porque o atacante não recebe o tráfego oriundo da vítima.
5. Nmap – Verificação de serviços: Através do Nmap existe a possibilidade de efetuar um scan às portas do Router e verificar a disponibilidade de serviços como o Telnet e FTP.
6. Putty – Acesso ao Router: A partir desta ferramenta é possível estabelecer uma comunicação remova via Telnet com o Router.
7. Alteração da ARP-Cache (ARP Table): Todos os passos para consolidar a alteração do MAC Address da vítima pelo MAC Address do atacante são mencionados aqui.
8. Cain And Abel – ARP Poisoning – Full routing: É possível verificar que após a alteração dos devidos MAC Address o atacante (bad guy) já é notificado com o tráfego alheio, o da vítima.
9. Wireshark – Análise de trafego: Por fim, é possível verificar via Wireshark que o tráfego produzido pela vítima chega à placa de rede do atacante, portanto já é possível “sniffar” o tráfego alheio.
10. Trusted Certificate: É mencionado que qualquer ligação HTTPS é violada, isto é, o certificado é ilegítimo. É perdida a autenticidade e integridade da ligação.
11. Curiosidades sobre comandos do Router:São mencionadas algumas curiosidades acerca do Router.
1. MITM – ARP Poisoning
O ataque do tipo ARP-Poisoning (ou ARP-Spoofing) é o meio mais eficiente de executar o ataque conhecido por Man-In-The-Middle, que permite que o atacante intercete informações confidenciais posicionando-se no meio de uma conexão entre dois ou mais dispositivos numa rede.
Este é um tipo de ataque no qual uma falsa resposta ARP é enviada a uma requisição ARPoriginal. Enviando uma resposta falsa, o Routerpode ser convencido a enviar dados destinados ao computador 1 para o computador 2, e o computador por último redireciona os dados para o computador 1. Se o envenenamento ocorre, o computador 1 não tem ideia do redirecionamento das informações. A atualização da cachedo computador alvo (vítima – computador 1) com uma entrada falsa é chamado de Poisoning(envenenamento).
2. Routers MEO
Atualmente a MEO é um serviço usados pela maior parte dos utilizadores em Portugal. Esta experiencia cai neste caso num dos Routers usados por eles, o Tecnicolor TG784n v3.
A ferramenta Cain and Abel detém um módulo para ARP-Poisoning. Esta envia pacotes ARP falsificados ao Router, de maneira a receber os “dados” das vítimas no computador de ataque. Porém, e por si só, esta técnica nos Routers mais atuais, não funciona, devido ao Sticky MAC Address. A ideia é a seguinte, o MAC Address de um dispositivo é catalogado na ARP Cache do Router na primeira vez que ele se ligar à rede. Todos os próximos requests serão ignorados, até o dispositivo se “deslaçar” ou sair da rede. É uma política de forma a evitar ataques de spoofing. Mas o problema pode ser remediado.
3. Cain and Abel – ARP-Poisoning (spoofing)
Como já referido, os Routers mais atuais não admitem efetuar “spoofing” diretamente. Vamos ver em seguida.
Acima é apresentada uma imagem do Cain and Abel. Os marcadores 1,2,3,4 e 5 demonstram os passos a seguir.
1. Iniciar o sniffing, isto é, a captura de pacotes da rede.
2. Selecionar o separador “Sniffer”.
3. Em seguida abrir o separador “Hosts”, de maneira a encontrar os hostspresentes na rede.
4. Clicar no botão “Adicionar à Lista”.
5. E por fim “OK”.
Posteriormente é feito um scan à rede, e são apresentados os dispositivos atualmente disponíveis (ligados). A imagem a seguir apresenta o cenário descrito.
É possível observar os IPs das máquinas e o seu MAC Address. Para continuar e ativar o processo de poisoning (spoofing) é indispensável cumprir os passos indicados a seguir.
1. Aceder ao separador “ARP”.
2. Clicar no botão “Adicionar à lista”.
3. Na tabela de ARP Routing definir o Router(Hostname: MEO).
4. Selecionar todos os dispositivos.
5. Prosseguir com “OK”.
Em seguida o processo de spoofinginiciará, mas como já citado, não vai funcionar, devido ao Sticky MAC Address. A tabela ARP Cache não é atualizada no Router, portanto não são recebidos pacotes (tráfego produzido pela vítima). A imagem em seguida apresenta esse resultado.
O IP Address do dispositivo “192.168.1.86” (angiak-pc.lan) com o MAC Address 48:D2:24:06:67:82 envia pacotes na rede, mas o atacantes não os recebe na sua máquina. O “Status” da ligação deveria ser apresentado como “Full-routing” caso este estivesse a receber o tráfego. Na prática, isto representa que o MAC Address do dispositivo referente ao IP192.168.1.86 não foi atualizado na ARP Cache do Router.
4. Wireshark – Análise dos pacotes ARP
Uma maneira de comprovar que os pacotes ARPestão sendo enviados ao Router, e que este até envia um “Reply” é através do uso da ferramenta Wireshark. A imagem abaixo apresenta o envio de um pacote ARP.
É possível observar na frame “Ethernet” que o destino deste pacote é o Router, e a fonte o computador do atacante.
Posteriormente ao envio deste pacote é imediatamente recebido o Reply, vejamos.
O Replyrecebido anexa a seguinte informação: “duplicate use of 192.168.1.72 detected”. Parece que é notificado que o atacante tentou duplicar o MAC Address de um dispositivo já registado. É portanto essencial fazer a alteração do MAC Address da vítima de forma “manual” no Router.
Ficou provado o que já tinha sido mencionado. O procedimento a efetuar posteriormente, é o acesso ao Router (via Telnet) e alterar o MAC Address da vítima para o MAC Address do atacante. Futuramente será comprovado que os pacotes já são recebidos pelo atacante.
5. Nmap – Verificação de serviços
É sabido à partida que o endereço IP do Router é o 192.168.1.254 . Fazendo uso da ferramenta Nmap, procura-se saber se este tem o serviço Telnet à escuta (disponível).
Parece que estamos com sorte, estes Routerstêm efetivamente o serviço Telnetdisponível. Reparar também que a MEOdeixa o serviço FTP (porto 21) disponível. Isto acaba por ser um assunto demasiado delicado. Vamos tentar “não pensar” no cenário de controlar o Routerdo café que costuma-mos frequentar através da nossa casa!
6. Putty – Acesso ao Router
Tendo verificado que o acesso via Telnet ao Router está disponível, o próximo passo é aceder-lhe, e efetuar as configurações necessárias.
São conhecidas algumas credenciais para aceder ao painel de configuração do Router, nomeadamente as seguintes:
Username: Administrator ; Password: 3!play
Username: meo ; Password: meo
.
Verificando a segunda, por exemplo, na página de acesso ao painel, o login é consolidado com sucesso. A imagem em seguida é bastante ilustrativa.
Na verdade esta página apenas apresenta algumas opções básicas, não servem.
Acedendo via Telnet foi apurado que este utilizador “meo” não é um super utilizador, isto é, não possuí o privilégio máximo no sistema. Após alguma pesquisa foi possível descortinar que o utilizador com os privilégios máximos é o seguinte:
Username: sumeo (super user meo)
Password: bfd,10ng
.
Fazendo uso do Putty é possível aceder ao SO do Router, como apresenta a imagem em seguida.
Por incrível que pareça o acesso foi consolidado. Este é o SO do Router “Technicolo TG784n v3” da MEO.
Não sabendo nada sobre os comandos do SO, podemos usar o comando “-help” para oferecer alguma ajuda, mas eu sugiro que façam download do manual CLI do SO, através do link:http://www.technicolorgateways.nl/Producten/Archief/Advanced/TG787/TG787-SIP_CLI.pdf.
Este documento tem toda a informação sobre o Router, os comandos, as suas funcionalidades, etc. No final da experiência será discutido um pouco sobre outras funcionalidades. Agora, vamos focar-nos no essencial, a alteração da ARP Cachedo Router, onde estão armazenados os MAC Address dos dispositivos da rede.
7. Alteração da ARP Cache (ARP Table)
Este é o ponto fulcral, a atualização do MAC Address da vítima, para o MAC Addressdo atacante, para que este consiga fazer spoofingdos dados.
Para tal existem algumas exigências, nomeadamente uma vítima (o seu IP Address e o respetivo MAC Address) e o MAC Address do atacante, para que o trafego seja redirecionado.
Vítima:
IP Address: 192.168.1.72
MAC Address: C8:7B:5B:27:DF:CE
Atacante (Bad guy):
MAC Address: FE-F0-D4-F0-D4-F0
É necessário atualizar o MAC Address da vítima C8:7B:5B:27:DF:CE, pelo MAC Address do atacante (MITM) FE-F0-D4-F0-D4-F0.
Acedendo novamente ao Router via Telnet é possível aceder à ARP Cache deste usando os seguintes comandos no terminal.
(sumeo)=>ip
(sumeo)[ip]=>arplist
A imagem em seguida é bastante representativa. Nesta é apresentada a ARP Cache do Router.
É possível observar na terceira linha com a interface“LocalNetwork” e com o IP Address“192.168.1.72” a vítima.
É necessário alterar o seu MAC Address C8:7B:5B:27:DF:CE para o MAC Address do atacante, nomeadamente o do IP 192.168.1.85 (FE-F0-D4-F0-D4-F0).
Para realizar a troca existem duas possibilidades.
1. Ligar o Cain and Abel no modo ARP-Poisoning e apagar o MAC Address da vítima da ARP Cache. O Cain and Abel encarregar-se-á de atualizar a ARP Cache, visto que este envia a primeira entrada de um pedido ARPapós o ter eliminado.
2. Mantendo o Cain and Abel desligado, eliminar o MAC Address da vítima, e voltar a adicioná-lo com o novo MAC Address, o do atacante. Usando este procedimento o tipo de entrada na tabela (Type) seria definida como “STATIC” e não “DYNAMIC”.
De forma a facilitar o processo foi usada a primeira abordagem. No entanto os comandos para adicionar e remover um MAC Address são deixados abaixo.
Para adicionar uma nova entrada:
(sumeo)[ip]=>arpadd intf=LocalNetwork ip=xx hwaddr= xx
.
Para remover uma entrada:
(sumeo)[ip]=>arpdelete intf=LocalNetwork ip=xx hwaddr=xx
.
Continuando com o processo e procedendo o Cain and Abel ativo, é time ideal para eliminar a entrada da ARP Cache do Router. O comando é o seguinte.
arpdelete intf=LocalNetwork ip=192.168.1.72 hwaddr=c8:7b:5b:27:df:ce
Após a execução do comando e voltando a atualizar a ARP Cache é possível verificar que tanto o IP atacante como o IPvítima possuem os mesmos MAC Address. Portanto, o objetivo foi consumado.
8. Cain And Abel – ARP Poisoning – Full routing
Voltando a verificar o Cain and Abel é possível verificar que o atacante já recebe o tráfego da vítima. O redirecionamento foi conseguido.
De reparar que o “Status” já está definido como “Full-routing”. Com esta poderosa ferramenta é possível a partir deste ponto, efetuar bastantes pesquisas, mas nesta experiencia ficamos por aqui.
9. Wireshark – Análise de tráfego
Voltando a verificar o tráfego que chega à placa de rede do atacante, é possível verificar que este já recebe o tráfego da vítima. Posteriormente este tráfego é de novo enviado para o Router, e feito o reencaminhamento para o exterior (se for esse o seu destino).
A título de curiosidade, até é possível observar que a vítima parece ser uma grande amante do web-site “abola.pt”, assinalado na imagem com o marcador 1 e 2.
10. Trusted Certificate
Analisando o tráfego gerado pela vítima após largos minutos, foi possível observar que a esta também usava o serviço “Facebook”. Este é proveniente de uma ligação HTTPSe não HTTP. Como já mencionado no início do artigo, o certificado é violado (autenticidade e integridade). A vítima ao navegar neste serviço recebe no seu browser as seguintes notificações.
Naturalmente o certificado não é válido, existe alguém a escutar a ligação que o quebrou. Esta será uma notificação sempre presente no browser, mas o utilizador poderá nem sequer se aperceber, se for distraído o suficiente.
11. Curiosidades sobre comandos do Router
Como mencionado acima, no final deste artigo seriam discutidas algumas curiosidades relativamente ao Router. Com o total acesso a qualquer dispositivo das redes MEO, é possível um utilizador alterar as configurações, e até brincar um pouco com o facilitismo.
–Desligar os leds do Router.
É possível personalizar o Router, ou até fazer dele uma árvore de Natal.
(sumeo):>system qual led value=alloff
O seguinte comando desliga os leds do Router. Mais funcionalidades podem ser encontradas no manual já citado, como também em links soltos disponíveis pela Internet. O seguinte é um exemplo disso.
Fica um desafio: E porque não configurar o DNSdo Router para um servidor DNSinstalado no computador do atacante? Desta maneira é possível a criação de páginas “clone”, por exemplo, do Facebook, e controlar os acessos e os dados pessoais da vítima. Fica o desafio.
As redes sem fios são populares mas apresentam desafios de segurança importantes, quer devido a configurações iniciais muito permissivas, quer devido a vulnerabilidades tecnológicas.
Convém salientar que o presente artigo visa enriquecer o leitor, e não alimentar a prática de maus hábitos.
Boa continuação!