Interceptar informações confidenciais? Obtenha acesso não autorizado a vários aplicativos e sistemas? Interromper a operação normal? Tudo isso e muito mais realizam ataques como Man in the Middle.

Hoje estamos iniciando uma série de artigos dedicados aos ataques do tipo "intermediário" (e vários relacionados) contra protocolos e canais de transmissão típicos encontrados em praticamente qualquer empresa. Para começar, considere os níveis básicos: físico e canal.
Interessado em? Bem-vindo ao gato.
Pouco de teoria
Man in the Middle (também conhecido como ataque do tipo "intermediário"), no caso geral, é um tipo de ataque que visa violar a confidencialidade e, em alguns casos, a integridade das informações. Descreva esquematicamente um ataque "típico" da seguinte maneira:

A figura principal são as linhas de laranja e vermelho. Laranja é o caminho de dados pretendido, vermelho é o caminho real. O meio de transmissão ou protocolo não é importante neste caso. Alice pode ser, por exemplo, um cliente Wi-Fi e Bob pode ser um ponto de acesso Wi-Fi. De uma forma ou de outra, sempre há terceiros que executam ações com as informações transmitidas.
Por que perdemos o canal de transmissão? Porque todos os níveis do modelo de rede OSI estão sujeitos a esse ataque em um grau ou outro. Vamos confirmar isso ainda mais.
Passamos a considerar os ataques do primeiro e do segundo níveis OSI - físico e de canal.
Prática
CobreVamos começar com a coisa mais simples: obter dados de um par trançado. Este não é exatamente o MitM, é um sniffing clássico, mas, neste caso, é um "pré-requisito" para ataques mais graves. De fato, para obter dados de um cabo de par trançado, digamos, 100Base-T, basta ter um roteador extra no qual você pode instalar algum DD-WRT / OpenWRT ou qualquer outro analógico. Algum tempo atrás, isso já foi mencionado
aqui .
Uma maneira mais confiável é usar dispositivos especiais. Mas ele tem desvantagens:
- Com segurança física adequada (ACS, videovigilância) e bom conhecimento dos funcionários sobre ações, no caso de aparecimento de objetos "suspeitos", o risco de detectar esses dispositivos é extremamente alto.
- Um invasor obtém acesso apenas aos dados que trafegam pelo cabo ao qual está conectado. Se o cabo estiver conectado à cabine do guarda, provavelmente o criminoso poderá observar imagens de várias câmeras e sessões periódicas no Youtube, mas não dados financeiros da SAP.
- Terceiro, e mais importante, criptografia de tráfego. De fato, agora quase qualquer servidor, qualquer serviço funciona através do TLS ou usa algum analógico para proteção criptográfica dos dados transmitidos. Sem uma chave, não decifraremos os dados transmitidos. E no caso de usar o TLS 1.3 ou TLS 1.2 nos algoritmos Diffie-Hellman, mesmo isso não ajudará.
Tudo isso leva ao fato de que esse farejamento pode não trazer os resultados desejados para o atacante. Isso exigirá uma conexão mais "flexível", ou seja, "incorporação" na linha de dados. Por exemplo, assim, um pouco arrogante:

Este método tem muitas desvantagens. Por exemplo, é fácil detectar na presença de vários meios de proteção ou olhos incrédulos, suspeitando da aparência de algo novo no local de trabalho. Mas ele também tem uma vantagem: controle total e a capacidade de modificar os dados transmitidos. Simularemos um ataque na vida real. São necessárias duas coisas: minha máquina de trabalho, na qual este texto está escrito, meu laptop com o
Arch a bordo, embora qualquer distribuição Linux deva funcionar. As conexões “minha máquina de trabalho” - “laptop” e “laptop” - “rede local” serão feitas via cabo, para o qual um adaptador de rede USB está conectado ao laptop. Usaremos o
brctl para configurar a ponte, embora essa funcionalidade tenha sido anunciada mesmo pelo
NetworkManager .
Configure a ponte:
Se, ao mesmo tempo, você quiser obter um endereço IP, defina algum
dhclient em br0 ou use as mãos para definir um IP estático (# ip ad adicione XXXX / X dev br0).
Assim, uma interface de ponte foi criada no laptop, um computador está conectado à interface USB, a interface principal vai para a rede local. Lançamos qualquer software para interceptar tráfego (por conveniência, usarei o
Wireshark com uma GUI) e observe o seguinte:
Figura 1. Wireshark em açãoComo você pode ver, aqui está todo o despejo de tráfego da máquina com o endereço 192.168.139.206 (para os testes que criei uma rede de teste). Na configuração atual (sem
fixação por
MAC , por exemplo), ninguém notará minha presença na rede. Esse ataque permite que você obtenha muitas informações, incluindo logins / senhas, por exemplo, para o site
diary.ru :
Figura 2. OpaDe fato, tudo é um pouco mais complicado.
O diary.ru é um dos sites raros que não redireciona o usuário para HTTPS criptografado. É mais difícil lidar com HTTPS do que com tráfego aberto. E a maior parte do tráfego que eu peguei é criptografada, o que é realmente bom para o usuário, mas não é muito bom para mim no momento.
Como se proteger? Existem várias opções, cada uma com suas próprias características:
- A fixação de MAC não ajuda: os MACs falsificam tudo para quem não é preguiçoso. No mesmo Linux, você pode usar o macchanger e no Windows através do Gerenciador de dispositivos;
- A autenticação 802.1X é excelente. Mas existem algumas nuances: no modo mais simples de detecção, ele não protege, pois o invasor permanece "invisível" para a conexão e, do ponto de vista do comutador, apenas o dispositivo sob ataque está conectado à porta de rede. Outra coisa, no caso de um impacto no tráfego, a chance de revelar sua presença aumenta seriamente, já que agora o tráfego começa a fluir para a rede através do switch de você, para o qual várias medidas de segurança podem reagir. Tudo depende do equipamento usado (SIEM ou algo semelhante) e das habilidades do pessoal de segurança da empresa;
- As soluções de análise de comportamento do usuário e da entidade (UEBA) permitem rastrear algo suspeito na rede. Como no caso do 802.1X, com o sniffing normal você permanece invisível, mas quando você gera tráfego, eles o deixam. Não é usado com tanta frequência e tudo depende novamente das habilidades dos guardas de segurança.
Surge a pergunta: o que devo fazer se o computador que quero acessar estiver localizado, por exemplo, em um ambiente interno e o cabo estiver sob câmeras ou oculto? Nada complicado, basta recorrer aos ataques mais simples de falsificação. Ao solicitar o endereço MAC de um host específico, o host atacante começa a "enviar spam" à rede com pacotes ARP, nos quais seu MAC é especificado como o endereço de pesquisa, forçando o atacante a se conectar ao nosso host.
Você deve primeiro selecionar um destino. No meu caso, será meu colega. Agora usaremos uma
ettercap muito antiga, mas bastante funcional. Determinaremos o endereço IP do colega de qualquer maneira e designaremos o alvo do ataque. Por exemplo, quero descobrir o que DNS meu colega estava procurando. Depois disso, direciono 2 endereços IP para o ettercap: o endereço do servidor DNS e, de fato, o endereço da vítima. E ...
Figura 3. Captura de consultas DNSPercebe-se que meu colega está procurando informações no site da Cisco e, ao mesmo tempo, seu sistema envia solicitações de "serviço" para identificar vários sites da MS.
Há boas notícias. Uma grande lista de equipamentos oferece suporte à proteção contra falsificação de ARP, o que pode negar esses ataques. E se a empresa usa SOC ou SIEM, você pode tentar encontrar o invasor em perseguição.
ÓticaAs linhas de comunicação por fibra óptica são outro canal de comunicação extremamente comum em qualquer empresa. O que é proteção contra o MitM?
A situação é dupla. Se pegarmos o cabo mais simples, sem cascas reforçadas de proteção especiais, então, para cheirar simples, basta dobrá-lo. Um dispositivo especial é "pendurado" em uma dobra. Parte da luz vai além do cabo para o nosso dispositivo, do qual coletamos todo o lixão.
É bom que a maior parte do tráfego seja criptografada. Mas e se não? De fato, é difícil se defender. É mais fácil isolar a ótica de maneira que seja difícil chegar perto dela. Outra maneira é usar um cabo "protegido" mais caro, que inclui medidas de proteção especiais que permitem detectar uma violação da bainha do cabo. Mas com destreza adequada, você pode conectar-se a ele e recolocar o cabo geralmente é uma coisa extremamente desagradável. Uma maneira eficaz é usar equipamento especial que responderá a uma alteração no nível do sinal quando ocorrer uma dobra de fibra. O preço de emissão é alto. Bem, talvez a melhor solução seja usar a criptografia do tráfego transmitido.
Se queremos influenciar o tráfego de alguma forma, tudo fica mais complicado. A maneira mais eficaz é a barra lateral, na qual equipamentos especiais são construídos no meio. A desvantagem desse método é que precisamos cortar o cabo por algum tempo (grande o suficiente) com todas as conseqüências resultantes, o que pode confundir o pessoal de segurança da empresa. Porém, com um trabalho bem-sucedido, na maioria dos casos, poderemos influenciar uma grande quantidade de tráfego, pois a fibra raramente é colocada nos computadores dos usuários. Na maioria das vezes, esse é um canal de transferência de dados, por exemplo, entre filiais individuais de empresas.
Um artigo que cobre um número um pouco maior de conexões de fibra também está disponível
aqui .
E o Wi-Fi?E tudo a mesma coisa e ainda mais fácil! Vamos começar com WPA2-PSK (conexão com senha). Para o "sigilo" do ataque, é importante atender a um requisito: você precisa saber uma senha real, isso permitirá que os dispositivos configurados se conectem automaticamente à rede, sem problemas na conexão com a rede "maliciosa". Portanto, aumentamos o ponto de acesso Wi-Fi com a senha idêntica e aguardamos as conexões. Se você não quiser esperar, pode começar a enviar pacotes deauth, o que forçará os usuários a se desconectar dos pontos de acesso atuais, e alguns deles para os quais um ponto de acesso malicioso será mais poderoso, forçarão você a se conectar a você. Para criar um ponto, usei o
hostapd , uma ferramenta poderosa para criar várias redes em várias configurações. Conectei a interface Wi-Fi à ponte br0 para que os usuários não notassem que algo estava errado e pudessem continuar trabalhando com serviços dentro da rede local. Estamos aguardando algum tempo e aproveitamos os resultados.
Figura 4. Observando o dump do iPhoneO WPA2 Enterprise (com autenticação por meio de um serviço externo, como o RADIUS) é muito melhor em termos de segurança. Se o PSK clássico pode nem ter acesso à rede local da empresa (por exemplo, se for uma rede de convidados), para que o Enterprise funcione, você deve ter acesso ao servidor de autenticação, que pode ser usado com o mesmo
NPS do Windows . Além disso, para que o ponto de acesso funcione, é necessário um
certificado com uma chave privada , o que é muito problemático de obter. Obviamente, você pode emitir um autoassinado, mas isso pode causar alguns problemas, pois, em um mundo ideal, o dispositivo cliente deve verificar este certificado. Em geral, é possível configurar um ponto de acesso e fazer com que os clientes se conectem a ele, mas com grandes reservas. Muito provavelmente, o atacante ainda será capaz de capturar.
Como proteger a rede Wi-Fi? Use o WPA2 Enterprise (de preferência com certificados) e configure o dispositivo do cliente para verificar obrigatoriamente o certificado do ponto de acesso; emular o ponto de acesso Evil Twin será muito mais difícil. Configure cuidadosamente seu servidor de autenticação. Se possível, use os recursos do seu equipamento existente, por exemplo, o Sistema de prevenção de intrusões sem fio da Cisco, cuja essência neste caso é procurar pontos de acesso mal-intencionados e impedir que vários clientes se conectem a eles.
Em vez de uma conclusão
Para resumir um breve resumo. Como você pode ver, de uma forma ou de outra, os canais de transmissão de dados mais comuns são suscetíveis a ataques do MitM. Como se proteger?
- use criptografia; não é tão difícil e muito eficaz;
- a introdução de quaisquer redes de sistemas de informação (e as mesmas redes Wi-Fi) não deve ocorrer sob o lema “Se funcionar!”, especialmente se informações realmente importantes circulam no sistema, é necessário considerar o processo do ponto de vista da proteção de informações;
- Use equipamento de proteção ou a funcionalidade do equipamento usado. Cisco WIPS, vários IPS / IDS, UEBA, etc. Isso permitirá que, se você não interromper o trabalho do atacante, detecte-o e tome medidas para capturar o criminoso.
Mas e se o atacante for uma pessoa "confiável"? Um funcionário da empresa com acesso legítimo à rede local, mas com pensamentos de sabotagem? O que ele pode fazer para analisar o tráfego criptografado e, o mais importante, como ele pode se proteger disso? Falaremos sobre isso nos artigos a seguir, retornando novamente às nossas consultas DNS e ao tráfego HTTPS.