
MacStealer: Bypass de Isolamento de Cliente Wi-Fi
Este repositório contém o MacStealer. Ele pode testar redes Wi-Fi quanto a bypasses de isolamento de cliente (CVE-2022-47522). Nosso ataque pode interceptar (roubar) tráfego destinado a outros clientes na camada MAC, mesmo que os clientes estejam impedidos de se comunicar entre si. Essa vulnerabilidade afeta redes Wi-Fi com insiders maliciosos, onde nosso ataque pode contornar o isolamento de cliente, que às vezes também é conhecido como isolamento de AP. O ataque também pode ser usado para contornar a inspeção dinâmica de ARP (DAI) e, provavelmente, também pode ser usado para contornar outros métodos que impedem que clientes ataquem uns aos outros. O ataque também é conhecido como ataque de sobreposição de contexto de segurança (security context override attack); consulte a Seção 5 do nosso artigo do USENIX Security '23 (repositório).
Exemplos concretos de redes possivelmente afetadas são:
Redes corporativas onde os usuários podem não confiar uns nos outros e onde técnicas como isolamento de cliente ou inspeção de ARP são usadas para impedir que usuários ataquem uns aos outros. Por exemplo, redes de empresas com contas tanto para convidados quanto para funcionários, redes como eduroam e govroam, etc.
Hotspots públicos protegidos por Passpoint (antigamente Hotspot 2.0). Esses são hotspots aos quais você pode se conectar de forma automática e segura. Por exemplo, eles podem autenticá-lo perfeitamente usando o cartão SIM do seu celular.
Redes WPA2 ou WPA3 domésticas com isolamento de cliente habilitado. Isso inclui redes com um SSID separado para convidados ou para dispositivos inseguros (IoT). Também inclui redes onde várias senhas são usadas para isolar ainda mais os dispositivos, o que também é conhecido como Multi-PSK, Identity PSK, PSK por estação, ou EasyPSK. Consulte a discussão sobre o modelo de ameaça para obter mais informações.
Hotspots públicos baseados em WPA3 SAE-PK. Esses são hotspots protegidos por uma senha pública compartilhada, mas onde um adversário não pode abusar dessa senha publicamente conhecida.
Ressaltamos que nosso ataque não consegue contornar VLANs. Em outras palavras, com base nos experimentos atuais, nosso ataque não pode ser usado para explorar um dispositivo em outra VLAN.
O repositório de outros resultados do nosso USENIX Security '23 também está disponível.
A ideia central por trás do ataque é que a forma como os clientes são autenticados não tem relação com a forma como os pacotes são roteados para o cliente Wi-Fi correto. Ou seja, a autenticação é feita com base em senhas, nomes de usuário, identidades 802.1X e/ou certificados, mas, uma vez que o cliente se conecta, o roteamento dos pacotes é feito com base em endereços MAC. Um insider malicioso pode abusar disso para interceptar dados destinados a um cliente Wi-Fi desconectando uma vítima e então se conectando usando o endereço MAC da vítima (usando as credenciais do adversário). Quaisquer pacotes que ainda estivessem a caminho da vítima, como dados de um site que a vítima ainda estava carregando, agora serão recebidos pelo adversário.
Mais precisamente, o ataque consiste em três etapas:
Fazer a vítima solicitar dados: O adversário primeiro espera até que a vítima (cliente)
estabeleça uma conexão Wi-Fi com o Access Point (AP) vulnerável. Assumimos que a vítima
enviará então uma solicitação a um servidor na Internet. Por exemplo, a vítima pode enviar uma
solicitação HTTP para o site (em texto claro) example.com. O objetivo do adversário é
interceptar a resposta que será enviada pelo site.
Conectar-se usando o endereço MAC da vítima: Depois que a vítima solicita dados, por exemplo
enviando um pacote de solicitação HTTP, o adversário desconecta à força a vítima da
rede antes que a resposta chegue ao
AP vulnerável. Em nosso exemplo, isso significa que a vítima é desconectada antes que a resposta de
example.com chegue ao AP. Uma vez que a vítima é desconectada, o adversário falsifica
o endereço MAC da vítima e se conecta à rede usando suas próprias credenciais. Isso significa
que o adversário é um insider malicioso que pode se conectar à rede usando suas próprias
credenciais, por exemplo, usando seu próprio nome de usuário e senha em uma rede Wi-Fi corporativa.
Interceptar a resposta: Uma vez que o adversário se conectou usando o endereço MAC da vítima,
o AP associará as chaves de criptografia recém-geradas do adversário ao endereço MAC da vítima.
Como resultado, quando a resposta do servidor chegar à rede Wi-Fi, ou qualquer tráfego de entrada
destinado à vítima em geral, o roteador encaminhará esses pacotes de entrada para o endereço MAC da
vítima. Em nosso exemplo, isso significa que a resposta de example.com é encaminhada pelo roteador
para o endereço MAC da vítima. No entanto, o adversário agora está usando esse endereço MAC. Isso
significa que o AP criptografará a resposta usando as chaves do adversário. Em outras palavras, o
adversário agora receberá qualquer tráfego pendente que ainda esteja a caminho da vítima.
Ressaltamos que o tráfego interceptado pode ser protegido por criptografia de camadas superiores, como TLS e HTTPS. No entanto, mesmo que a criptografia de camadas superiores esteja sendo usada, nosso ataque ainda revela o endereço IP com o qual uma vítima está se comunicando. Isso, por sua vez, revela os sites que uma vítima está visitando, o que pode ser informação sensível por si só.
Por padrão, o ataque não intercepta tráfego enviado pela vítima, mas apenas tráfego enviado para a vítima. No entanto, um adversário pode tentar ataques subsequentes para também interceptar o tráfego enviado pela vítima. Em particular, ao interceptar uma resposta DNS destinada à vítima, o adversário pode falsificar uma resposta DNS e interceptar todo o tráfego IP tanto enviado para a vítima quanto enviado pela vítima.
Executar o ataque acima só faz sentido quando o isolamento de cliente está habilitado na rede alvo. Caso contrário, se o isolamento de cliente estiver desabilitado, um insider malicioso pode simplesmente atacar diretamente outros clientes usando técnicas como ARP spoofing (consulte os testes de isolamento de cliente).
O ataque é idêntico contra redes corporativas WPA1, WPA2 e WPA3. Isso porque o ataque não explora nenhuma propriedade criptográfica do Wi-Fi, mas sim abusa da forma como uma rede determina para qual cliente os pacotes devem ser enviados, ou seja, roteados.
Para obter detalhes adicionais sobre o ataque, consulte o ataque de sobreposição de contexto de segurança (Seção 5) em nosso artigo Framing Frames: Bypassing Wi-Fi Encryption by Manipulating Transmit Queues.