Olá Pessoal,
Estamos de volta para detalhar um pouco mais sobre o processo iniciado em nosso post anterior, relacionado sobre o ambiente de WIFI. Entretanto, a idéia agora seria explicar sobre os pacotes que viajam pelo nosso meio, bem como interpretar de forma clara a funcionalidade de cada processo.
Vale lembrar que todos esses dados exemplificados abaixo foram capturados através de um processo de monitoração ( escuta do ambiente ), ou seja, esses dados não são visiveis quando você já esta conectado em seu SSID.
Caso você queira visualizar os pacotes reais de trafego ( http, ftp, etc ), você irá seguir o processo idêntico quando você executa seu sniffer em uma rede cabeada, porém selecionando agora apenas sua interface WIFI. 🙂
Autenticação
A autenticação é o processo de comprovação da identidade de uma estação para outra estação ou AP. Em um sistema sem autenticação do usuário ( sistema aberto ), todas as estações são autenticadas sem qualquer verificação.
Como exemplo temos a estação ” A ” envia um quadro de gerenciamento de autenticação que contém a identidade de ” A “, para a estação ” B “. A estação ” B ” responde com um quadro que indica o reconhecimento ( ACK ), endereçado a A.
Na arquitetura de rede fechada, as estações devem conhecer o SSID do AP a fim de se conectarem ao AP, onde pode ser conhecido como ” Hidden SSID “, ou também podemos ter o exemplo de que o SSID pode ser visível para qualquer dispositvo ” BSSID “. A autenticação da chave compartilhada usa um desafio e uma resposta padrão juntamente com uma chave secreta compartilhada.
Logo abaixo, podemos observar os estágios sobre esse processo, lembrando-se que você estar autenticado não é significado que você esta associado ao seu AP. Outra menção, que nesta figura também iremos observar sobre ” Association “
Para que possamos comprovar, logo abaixo temos a captura do pacote para visualizar o que temos em cada cabeçalho no momento de ” Autenticação “. Eu removi alguns ítens para que não fique confuso, entretanto você também vão observar nessa captura que temos a visualização do QoS para essa conectividade.
Associação
Os dados podem ser trocados entre a estação e o AP somente após uma estação ser associada a um AP ( Modo Tradicional ) ou com outra estação no modo ” ad hoc “. Todos os APs transmitem frames ” Beacon ” algumas vezes por segundo que contêm o SSID, tempo, capacidades, taxas suportadas, bem como as estações podem optar por associar-se a um AP em relação a sua intensidade de sinal de cada AP, etc.
A associação é um processo de duas etapas. Uma estação que atualmente não está autenticada e não associada escuta os frames ” Beacon “. A estação seleciona um BSS para se associar, após isso a estação e o AP se autenticam mutuamente, trocando as estruturas de gerenciamento de autenticação. O cliente agora está autenticado, mas não associado.
Na segunda etapa, a estação envia um quadro de Pedido de Associação, ao qual o AP responde com um quadro de Resposta de Associação que inclui um ID de Associação para a estação. A estação é agora autenticada e associada.
Para exemplificar podemos visualizar abaixo o estado de solicitação, na qual o esta sendo solicitado especificamente para um SSID ” ap34b “, e logo abaixo também já podemos visualizar sobre a capacidades de largura de banda pode suportar.
Como exposto, temos agora a nossa resposta a nossa solicitação.
De-Authentication
Esse processo pode ser considerado ou co-relacionado como ” Man-in-the-Middle “, pois a proposto é enviar pacotes para o AP alertando que o cliente com o seu específico ” mac source address ” foi desautenticado e por essa característica o cliente vai solicitar novamente o processo de autenticação entre cliente->AP.
O que ocorre, é a execução de um ” flood ” de pacotes para justamente fazer com o cliente fique tentando se autenticar e como mencionado podemos relacionar o ” man-in-the-middle ” e capturar esses pacotes que estão trafegando pelo nosso meio. Logo abaixo podemos ter um exemplo do que é mencionado.
Como sempre precisamos demonstrar sobre essa caracteristicas visualizando nosso pacote sempre observando que estamos tendo nossa origem e destino.
Acredito que vocês devem estar perguntando sobre o filto aplicado no Wireshark. Pois bem, existem as flags que podemos controlar desta forma fica mais facil a visualização. Como facilidade segue o parâmetro e logo abaixo temos uma tabela com os principais valores para o filtro.
(wlan.fc.type == 0) && (wlan.fc.type_subtype == 12)
Segue nossa tabela abaixo:
Frame Type/Subtype | Filter |
Management Frames | wlan.fc.type eq 0 |
Control Frames | wlan.fc.type eq 1 |
Data Frames | wlan.fc.type eq 2 |
Association Request | wlan.fc.type_subtype eq 0 |
Association Response | wlan.fc.type_subtype eq 1 |
Reassociation Request | wlan.fc.type_subtype eq 2 |
Reassociation Response | wlan.fc.type_subtype eq 3 |
Probe Request | wlan.fc.type_subtype eq 4 |
Probe Response | wlan.fc.type_subtype eq 5 |
Beacon | wlan.fc.type_subtype eq 8 |
Announcement Traffic Indication MAP (ATIM) | wlan.fc.type_subtype eq 9 |
Disassociate | wlan.fc.type_subtype eq 10 |
Authentication | wlan.fc.type_subtype eq 11 |
Deauthentication | wlan.fc.type_subtype eq 12 |
Action Frames | wlan.fc.type_subtype eq 13 |
Request to Send | wlan.fc.type_subtype eq 27 |
Clear to Send | wlan.fc.type_subtype eq 28 |
ACK | wlan.fc.type_subtype eq 29 |
Beacon
A definição para um ” Beacon Frame ” é de fato aquele pacote que fica sendo anunciado pelos APs ou até mesmo esses equipamentos de IoT ( Internet of Thing ) periodicamente para a rede, ou seja, para aquele ambiente que temos sinal sendo publicado para a infraestrutura.
Basicamente ele é um pacote de gerenciamento do 802.11, que contm todas as informações dos BSS ( Basic Service Set ), que por consequencia irá levar o nome de nosso famoso SSID, desta forma qualquer device escutando esses beacons irá interpretar que tem esse caminho para associar-se aquela infraestrutura.
Abaixo temos um exemplo de um pacote capturado com a flag de ” Beacon “, onde podemos observar sobre o anúncio do nome do SSID, bem como pegar que o endereço destino é de fato um broadcast. Logo na sequencia o periodo que estes beacon estão sendo transmitidos.
EAPOL ( Extensible Authentication Protocol Over LAN )
Enfim, chegamos no protocolo que é utilizado para que possamos carregar nossa autenticação não somente do WIFI, mas é um protocolo usado por outras tecnologias.
A autenticação 802.1X envolve três partes: um suplicante, um autenticador e um servidor de autenticação. O suplicante é um dispositivo cliente (como um laptop) que deseja associar-se à LAN/WLAN. O termo ” supplicant ” também é usado de forma intercambiável para se referir ao software executado no cliente que fornece credenciais ao autenticador. O autenticador é um dispositivo de rede que fornece um link de dados entre o cliente e a rede e pode permitir ou bloquear o tráfego de rede entre os dois, como um switch Ethernet ou ponto de acesso sem fio; e o servidor de autenticação é normalmente um servidor confiável que pode receber e responder a solicitações de acesso à rede, e pode dizer ao autenticador se a conexão deve ser permitida, e várias configurações que devem se aplicar à conexão ou configuração desse cliente.
Logo abaixo, temos um exemplo sobre esses processo observando os frames que são trafegados.
Trazendo para nosso exemplo, após completar os processo de ” Association Request ” e ” Association Response “, já mencionados acima teremos de fato a troca das chaves que esta associado aos pacotes capturados abaixo:
Podem observar que temos a menção de 4 ” Key Message ” que é a troca existente utilizada no procolo para garantir essa comunicação e obviamente garantir a utilização das chaves definidas neste processo.
Para facilitar no filtro em seu arquivo Wireshark pode-se utilizar a menção:
eapol.keydes.type == 2
Conclusão
Hoje vocês puderam entender um pouco mais sobre os pacotes que trafegam por este meio, com o intuito de avaliar quais os parâmetros principais são utilizados para identificar sua rede e obviamente executar sua autenticação.
Vale lembrar que não foi aprofundado sobre os protocolos de criptografia utilizados para esse processo de autenticação, mas por alguns screenshot espero que vocês possam ter observado esses detalhes.
O que vocês acharam? Muito teórico os ítens abordados? Você acredita que pode trazer um entendimento melhor do funcionamento para agregar segurança em sua rede? Responda em nossos comentários e deixe-me saber o que você esta achando/observando/pensando. 🙂
Em nosso próximo post vou mencionar sobre esse quesito da segurança, já que estamos expostos para que nossos pacotes sejam capturados de qualquer forma em um ambiente que pode estar exposto a qualquer indivíduo.
Abs,
Rodrigo
Comentários Recentes