Mudanças entre as edições de "RCO2-lab-secwifi"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 55: Linha 55:
 
#* Quanto tempo levaria para descobrir uma chave apenas na força bruta (testando todas as combinações) ? De acordo com o [http://www.aircrack-ng.org/doku.php?id=cracking_wpa tutorial sobre quebrar chaves WPA/WPA2], um computador pessoal atual consegue testar em torno de 800 chaves por segundo. Além disso, chaves usadas em WPA-PSK têm entre 8 e 63 caracteres. Use [http://lastbit.com/pswcalc.asp esta calculadora] para descobrir quanto tempo seria necessário para quebrar uma chave.
 
#* Quanto tempo levaria para descobrir uma chave apenas na força bruta (testando todas as combinações) ? De acordo com o [http://www.aircrack-ng.org/doku.php?id=cracking_wpa tutorial sobre quebrar chaves WPA/WPA2], um computador pessoal atual consegue testar em torno de 800 chaves por segundo. Além disso, chaves usadas em WPA-PSK têm entre 8 e 63 caracteres. Use [http://lastbit.com/pswcalc.asp esta calculadora] para descobrir quanto tempo seria necessário para quebrar uma chave.
 
#* '''DESAFIO:''' use o [http://www.aircrack-ng.org/doku.php?id=cracking_wpa tutorial sobre quebra de chaves WPA-PSK] para descobrir qual a (nova) chave usada no AP do laboratório. ''Dica:'' a nova chave é uma palavra dos idiomas inglês ou português, e tem entre 8 e 10 letras.
 
#* '''DESAFIO:''' use o [http://www.aircrack-ng.org/doku.php?id=cracking_wpa tutorial sobre quebra de chaves WPA-PSK] para descobrir qual a (nova) chave usada no AP do laboratório. ''Dica:'' a nova chave é uma palavra dos idiomas inglês ou português, e tem entre 8 e 10 letras.
 +
#** [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/senhas.tar.bz2 Algumas listas de palavras em vários idiomas]

Edição das 10h02min de 12 de dezembro de 2012

Objetivo

  • configurar uma rede local sem-fio (WLAN)
  • ativar mecanismos de segurança WEP e WPA de uma WLAN

Introdução

O experimento de hoje diz respeito à criação de uma WLAN com um BSS baseado em AP, e à ativação de mecanismos de segurança WEP e WPA para o acesso à rede. WEP (Wired Equivalent Privacy) se baseia em chaves compartilhadas, e sabe-se passível de ser facilmente quebrado, sendo que o próprio IEEE faz anos recomenda fortemente que não seja usado (ver link que acompanha esse roteiro). WPA (Wifi Protected Access) define um framework para autenticação e privacidade, o qual possibilita o uso de diferentes métodos para efetuar se obter um acesso seguro à rede sem-fio – entre eles, uso de IEE 802.1x com EAP. O WPA foi escrito a partir de uma versão prévia da norma IEEE 802.11i, sendo que posteriormente foi definido o WPA2, que corresponde em larga medida à versão final desse padrão.

Roteiro

  1. O AP do laboratório tem IP 192.168.1.254, e é capaz de trabalhar com WEP, WPA-PSK e WPA-EAP. A interface web do AP mostra as opções de configuração de segurança, como será mostrado pelo professor.
  2. Há 5 interfaces de rede sem-fio USB a serem usadas nos computadores. Em cada um desses computadores o serviço do Ubuntu NetworkManager deve ser ativado. Isto será feito pelo professor, pois é necessário privilégio de superusuário (o professor executará remotamente com ssh o comando: service network-manager restart. Com isso será possível comandar a configuração da interface de rede sem-fio diretamente pela interface gráfica.
  3. Para fins de comparação, o AP será configurado inicialmente com modo de segurança desativado. Usando o Network Manager conecte seu computador à rede sem-fio REDES2, e em seguida desative a interface de rede cabeada com o comando:
    sudo ifconfig eth0 down
    
    • Execute um ping 192.168.1.1, e deixe-o rodando.
    • Monitore o tráfego pela interface de rede sem-fio, usando o wireshark (sudo wireshark). O que você consegue visualizar do tráfego que circula na rede ? É possível ver o tráfego de outros computadores ?
    • Na verdade, a interface de rede não mostra os quadros de outras estações. Mas se for criada uma interface de rede do tipo monitor, todo o tráfego da rede sem-fio que chegar até sua interface de rede pode ser capturado. Para criar esse tipo de interface faça o seguinte (substitua wlan0 pelo nome da sua interface):
      sudo iw dev wlan0 interface add mon0 type monitor
      sudo ifconfig mon0 up
      
      ... e em seguida no wireshark faça a captura de pacotes nessa interface. Procure quadros do tipo Data, e veja se é possível ver seu conteúdo (se é inteligível). O que se pode concluir sobre os quadros de dados na rede sem-fio, se não há um mecanismo de segurança ativado ?
  4. O AP será configurado para proporcionar o modo de segurança com WEP, usando a chave mreth. Assim, as interfaces de rede sem-fio devem ser configuradas para usarem essa chave, quando via Network Manager se tentar conectar à rede sem-fio REDES2. Monitore o status da interface usando o comando sudo iwconfig wlan0. Rapidamente deve aparecer a informação de que ela está associada ao AP, o que indica que a chave WEP estava correta. Deve aparecer um resultado semelhante a este:
    wlan0 IEEE 802.11g ESSID:"REDES2" Nickname:""
          Mode:Managed Frequency:2.437 GHz Access Point: 00:1B:11:1C:E3:7D
          Bit Rate:36 Mb/s Tx-Power:16 dBm Sensitivity=1/1
          Retry:off RTS thr:off Fragment thr:off
          Encryption key: 6D72-6574-68
          Power Management:off
          Link Quality=59/70 Signal level=-37 dBm Noise level=-96 dBm
          Rx invalid nwid:3064 Rx invalid crypt:0 Rx invalid frag:0
          Tx excessive retries:0 Invalid misc:0 Missed beacon:0
    
  5. Execute um ping 192.168.1.1, e deixe-o rodando.
  6. Usando o wireshark faça a captura de pacotes na interface mon0. Procure quadros do tipo Data, e veja se é possível ver seu conteúdo (se é inteligível). O que se pode concluir sobre os quadros de dados com WEP na rede sem-fio ?
  7. Na introdução deste roteiro se afirmou que o WEP é um modo de segurança com graves falhas, e que não deve ser usado em instalações reais (nem em sua rede doméstica !). Para demonstrar isto será usado o software aircrack-ng (maiores detalhes), que faz a descoberta da chave WEP. Esse software está instalado no computador do professor, de onde será feita uma demonstração. Esta se baseiano tutorial Simple WEP Crack Tutorial, descrito no site oficial do aircrack-ng, e resumidamente segue abaixo:
    • Executar este comando para por a interface de rede sem-fio em modo monitor (11 é o canal onde está operando o AP do laboratório):
      sudo airmon-ng start wlan0 11
      
    • Descubra o endereço MAC do AP, e em um terminal em separado execute este comando para fazer a captura de quadros e salvá-los em arquivos:
      sudo airodump-ng -c 11 --bssid MAC_do_AP -w output mon0
      
    • A interface de rede precisa fazer uma autenticação falsa no AP para poder enviar a ele quadros forjados, que servirão para acelerar a captura de quadros e assim o processo de quebra da chave WEP. O comando a seguir faz essa autenticação:
      sudo aireplay-ng -1 0 -e REDES2 mon0
      
    • O próximo passo é injetar quadros na rede sem-fio, para forçar o AP a respondê-los e assim acelerar a taxa de de quadros capturados. Isso se faz capturando alguma mensagem ARP, e em seguida reinjetando-a na rede. O AP vai retransmiti-la, e com isso pode-se obter um novo quadro encriptado para análise. O comando abaixo executa esse procedimento, e deve ser executado em um terminal em separado:
      sudo aireplay-ng -3 -b MAC_do_AP mon0
      
      Observe que no terminal onde roda o airdump-ng a contagem de quadros coletados deve aumentar rapidamente.
    • Após alguns segundos, deve-se executar este comando:
      aircrack-ng -z -b MAC_do_AP output*.cap
      
      Este último passo deve revelar a chave WEP em uso !

      O aircrack-ng pode ser instalado no Ubuntu, e existem versões para outros sistemas operacionais (inclusive Windows). Existem outros softwares que quebram chaves WEP, mas basta existir um (e de fácil obtenção !) para descartar o WEP como um modo de proteção de redes sem-fio a ser considerado.
  8. Sendo o WEP inseguro, em ambiente corporativo ou doméstico recomenda-se o uso de WPA (WiFi Protected Access). WPA possui basicamente dois modos de autenticação e encriptação: um baseado em chave compartilhada, chamado de WPA-PSK (semelhante ao WEP), e outro baseado em IEEE 802.1x/EAP. No primeiro caso, o uso da chave foi modificado para que cada quadro use uma chave distinta, e de uma forma que seja muito difícil deduzir a próxima chave. No segundo caso, usa-se o framework IEEE 802.1x, porém limitando os métodos EAP possíveis (dentre eles, PEAP e EAP-TTLS vêm tendo maior aceitação). Assim, para um primeiro experimento deve-se usar WPA-PSK, por ser mais simples. O AP será configurado pelo professor para usar WPA-PSK, que usará a chave compartilhada fimdeano.
  9. Deixe o wireshark capturando pacotes na interface wlan0. Em seguida, usando o Network Manager conecte seu computador à rede REDES2. Observe os quadros inicialmente trocados entre seu computador e o AP. Repare que os primeiros quadros são de um protocolo chamado EAPOL, o qual é usado para fazer a negociação da chave de encriptação do WPA_PSK.
  10. A quebra da chave WPA-PSK não pode ser feita de forma tão simples (?!) quanto no caso do WEP. Isto porque no WPA-PSK a chave somente pode ser descoberta por métodos de força bruta: testando diferentes chaves até descobrir a verdadeira. Isto se chama de ataque de força bruta ou, em uma versão um pouco melhorada, ataque baseado em dicionário. O uso de dicionários, que são conjuntos de palavras, pode acelerar a descoberta da chave, se quem a configurou usou uma palavra contida no dicionário de ataque. Isto não é tarefa fácil, e ataques deste tipo usualmente demoram bastante (a não ser que a chave seja trivial !). Para chaves grandes, com muitos caracteres aleatórios (chaves PSK podem ter entre 8 e 63 caracteres), a descoberta é virtualmente impossível. Veja uma discussão sobre isto na página do aircrack-ng. Com isto, concluímos que WPA-PSK, com chaves grandes e aleatórias, pode ser usado com boa margem de segurança. Porém existem outras questões a serem levadas em conta (assunto da próxima aula).