Em 2014, o governo da Federação Russa nº 758 nº 801 iniciou sua operação, obrigando os proprietários de redes Wi-Fi públicas a configurar a autenticação do usuário nos roteadores por meio de dados de passaporte, sms ou portal do estado. serviços. A falta de vontade dos proprietários de café de fazer alarde no
portal Captive contribuiu para alguns provedores na distribuição de seus pontos de acesso com autorização sms paga. Eu queria verificar se é possível ignorar essa autorização por sms.

Isenção de responsabilidade
Este artigo foi escrito para fins educacionais. O autor em nenhum caso incentiva os leitores a violar as leis da Federação Russa. Por favor, não repita as etapas descritas neste artigo sem ler primeiro o capítulo 28 do Código Penal da Federação Russa. Todas as marcas registradas e nomes de redes Wi-Fi neste artigo são fictícios e todas as correspondências são aleatórias.
Direto ao ponto ...
Para encontrar uma vítima adequada, peguei um laptop com o Debian a bordo e fui para a pizzaria mais próxima. Perto havia alguns shoppings e vários outros restaurantes, o que me garantiu encontrar uma “vítima” adequada. Conectei-me a uma das redes disponíveis para mim e, em seguida, abri um navegador para acessar o cobiçado hub pornô
habr.com e foi isso que vi:

Este ponto de acesso foi controlado por um dos provedores russos. Foi-me oferecido o uso dessa rede como convidado na velocidade mínima, ganho um prêmio por 99 rublos ou (se eu sou um cliente desse provedor) fazer login na minha conta pessoal. E, é claro, segui o caminho não incluído nesta lista (caso contrário, por que eu começaria a escrever este artigo).
Por experiência própria, eu sabia que, se você se autentica em um ponto de acesso desse provedor, ao conectar o mesmo dispositivo a outro ponto de acesso, não precisa se autenticar (mais tarde, verificou-se que esse é o caso de todos os provedores que fornecem autorização por sms). A autenticação não era necessária mesmo quando um navegador diferente era usado. Assim, o provedor de alguma forma se lembra do nosso "hardware". A primeira coisa que me ocorreu foi que o provedor se lembra do endereço mac do nosso dispositivo. E isso significa que, se definirmos o endereço mac de alguém que já passou na identificação, poderemos usar a rede com segurança. E, como veremos mais adiante, a intuição não me falhou.
Para o ataque, decidi usar os utilitários do pacote aircrack-ng e o adaptador WiFi TL-WN722N com uma antena externa para obter mais cobertura. Para começar, conectei o adaptador e, usando o airodump-ng, coloquei no modo monitor. Descrevi esse processo brevemente, com mais detalhes, você pode ler
aqui .
sudo -s
Temos a conclusão:
... wlx60e32719503f: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 2a:36:62:d5:ec:63 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ...
wlx60e32719503f é o nosso adaptador
Matamos os processos que usam o adaptador e o colocamos no modo de monitor.
airmon-ng check kill airmon-ng start wlx60e32719503f

Vemos que uma nova interface de rede apareceu - wlan0mon. Execute
airodump-ng wlan0mon
Estamos aguardando alguns minutos e recebemos esse sinal

Estamos interessados nos campos BSSID (endereço MAC do ponto de acesso), CH (canal) e ESSID (nome da rede). Encontrei a rede de interesse no campo ESSID (é o sexto em uma linha). Pegamos na tabela o endereço mac do ponto de acesso (CC: B2: **: **: **: FC), o canal (canal 4) no qual ele trabalha e os transferimos para airodump-ng:
airodump-ng wlan0mon -c 4 --bssid CC:B2:**:**:**:FC
Estamos aguardando algum tempo e agora temos a seguinte conclusão:

A primeira tabela possui apenas uma linha. Esta é a nossa rede atacada. Na segunda tabela, vemos uma lista de clientes dessa rede. Estamos interessados no campo STATION. Estes são os endereços MAC do cliente, nós os salvamos em um arquivo de texto. Precisamos substituir nosso endereço mac por um deles. Eu escolhi o mac do penúltimo cliente (1C: CD: **: **: **: 43), pois esse cliente é o mais ativo na rede e, portanto, deve ter sido autenticado.
Como todos sabem (e eu espero que você saiba), será difícil para dois dispositivos com os mesmos endereços Mac se dar bem na mesma rede. E agora temos 2 opções.
Você pode usar o utilitário aireplay-ng para desautenticar nosso cliente da rede
aireplay-ng -0 1000 -a CC:B2:**:**:**:FC -c 1C:CD:**:**:**:43 wlan0mon
- "-a CC: B2: **: **: **: FC" é o ponto de acesso atacado
- "-c 1C: CD: **: **: **: 43" é o cliente que desconectaremos
- "-0 1000" - aqui indicamos o tipo de ataque (zero é desautenticação) e o número de pacotes de desautenticação para desconectar o cliente se ele se conectar novamente.
Mas decidi não prejudicar a pessoa, mas seguir de uma maneira mais humana - esperar o cliente sair (há apenas tempo para comer pizza).
Felizmente, esse cliente saiu rapidamente. Agora só precisamos colocar seu endereço mac para nós. Existem muitas maneiras de mudar o endereço mac para linux. O mais fácil é especificar o endereço mac desejado diretamente nas configurações de rede.

O endereço do Mac é indicado, agora podemos nos conectar ao ponto e verificar o acesso à Internet com o comando ping.

Eu tentei pesquisar no google e em vários outros sites com sucesso.
Conclusão
Assim, foi possível descobrir que a autorização por SMS pode ser facilmente contornada substituindo o endereço MAC pelo endereço MAC de um cliente que já foi autenticado. Em conclusão, quero dizer novamente: "Este artigo foi escrito para fins educacionais, o autor de forma alguma encoraja os leitores a violar as leis da Federação Russa".