Quebrando o WEP

Como a questão da segurança em redes wireless é muito divulgada, quase todas as redes já utilizam algum tipo de proteção, seja através do uso do WEP ou do WPA, seja através de uma lista de acesso dos endereços MAC autorizados a se conectarem à rede. Entretanto, é fácil burlar a maioria destas proteções e quebrar a encriptação do WEP (inclusive do WEP de 128 bits), além de descobrir passphrases WPA fáceis, usando ferramentas simples.

Muitos pontos de acesso antigos utilizam versões vulneráveis do WEP, que são muito rápidas de quebrar. Mesmo as versões “não vulneráveis” do WEP podem ser quebradas via força bruta, sempre que seja possível capturar um volume suficiente de tráfego da rede.

Você pode simular uma invasão na sua própria rede, para verificar qual seria o volume de trabalho necessário para invadí-la. Para isso, você vai precisar de pelo menos dois micros ou notebooks. Um deles vai ser usado como um cliente de rede normal e pode usar qualquer placa de rede, enquanto o segundo (que usaremos para simular o ataque) precisa ter uma placa compatível com o Kismet.

Configure o seu ponto de acesso ativando o WEP e desativando o Broadcast do SSID. Ou seja, faça uma configuração relativamente segura, mas depois faça de conta que esqueceu tudo. :)

Comece abrindo o Kismet no notebook “invasor”. Deixe que ele detecte as redes próximas; pressione “s” para ajustar a ordem dos nomes na lista, selecione sua rede e pressione “shift + L” para que ele trave a varredura na sua rede e deixe de bisbilhotar as redes dos vizinhos.

Inicialmente, sua rede será detectada como “no ssid”, já que o broadcast do SSID foi desativado no ponto de acesso. Mas, assim que qualquer micro se conecta ao ponto de acesso, o Kismet descobre o SSID correto. Pressione “i” para ver os detalhes da rede e anote o endereço MAC do ponto de acesso (BSSID), que precisaremos para iniciar o passo seguinte.

Agora que já sabemos o SSID e o MAC do ponto de acesso, falta quebrar o WEP. Para isso precisaremos do Aircrack, uma suíte de aplicativos para verificação de redes wireless, que pode ser encontrada no http://freshmeat.net/projects/aircrack/. Nos derivados do Debian, ele pode ser instalado via apt-get:

# apt-get install aircrack

Outra opção, mais simples, é baixar o live-CD do BackTrack Remote Exploit, uma distribuição Linux live-CD, baseada no Slax, que inclui um conjunto cuidadosamente escolhido de ferramentas de verificação de segurança e drivers modificados para suportar o modo monitor em diversas placas. Basta dar boot com o CD e você terá todas as ferramentas necessárias a disposição.

Para você entender a importância de usar o SSH o outros protocolos seguros ao usar uma rede wireless, vou falar um pouco mais sobre como quebrar chaves de encriptação, para que você possa entender os ataques usados pelos que estão do outro lado.

Muitos pontos de acesso antigos utilizam versões vulneráveis do WEP, que são muito rápidas de quebrar. Mesmo as versões “não vulneráveis” do WEP podem ser quebradas via força bruta, sempre que seja possível capturar um volume suficiente de tráfego da rede.

Você pode simular uma invasão na sua própria rede, para verificar qual seria o volume de trabalho necessário para invadí-la. Para isso, você vai precisar de pelo menos dois micros ou notebooks. Um deles vai ser usado como um cliente de rede normal e pode usar qualquer placa de rede, enquanto o segundo (que usaremos para simular o ataque) precisa ter uma placa compatível com o Kismet.

Configure o seu ponto de acesso ativando o WEP e desativando o Broadcast do SSID. Ou seja, faça uma configuração relativamente segura, mas depois faça de conta que esqueceu tudo. :)

Comece abrindo o Kismet no notebook “invasor”. Deixe que ele detecte as redes próximas; pressione “s” para ajustar a ordem dos nomes na lista, selecione sua rede e pressione “shift + L” para que ele trave a varredura na sua rede e deixe de bisbilhotar as redes dos vizinhos.

Inicialmente, sua rede será detectada como “no ssid”, já que o broadcast do SSID foi desativado no ponto de acesso. Mas, assim que qualquer micro se conecta ao ponto de acesso, o Kismet descobre o SSID correto. Pressione “i” para ver os detalhes da rede e anote o endereço MAC do ponto de acesso (BSSID), que precisaremos para iniciar o passo seguinte.


Endereço MAC do ponto de acesso, dentro dos detalhes da rede

Agora que já sabemos o SSID e o MAC do ponto de acesso, falta quebrar o WEP. Para isso precisaremos do Aircrack, uma suíte de aplicativos para verificação de redes wireless, que pode ser encontrada no http://freshmeat.net/projects/aircrack/. Nos derivados do Debian, ele pode ser instalado via apt-get:

# apt-get install aircrack

Outra opção, mais simples, é baixar o live-CD do BackTrack Remote Exploit, uma distribuição Linux live-CD, baseada no Slax, que inclui um conjunto cuidadosamente escolhido de ferramentas de verificação de segurança e drivers modificados para suportar o modo monitor em diversas placas. Basta dar boot com o CD e você terá todas as ferramentas necessárias a disposição.

O arquivo ISO está disponível no: http://www.remote-exploit.org/backtrack.html.

Voltando ao teste, o primeiro passo é capturar pacotes da rede usando o airodump (que faz parte da suíte aircrack). A sintaxe do comando é “airodump interface arquivo-de-log mac-do-ponto-de-acesso” (o comando precisa ser executado como root), como em:

# airodump ath0 logrede 00:50:50:81:41:56

Você pode também indicar um canal (neste caso, ele escuta todas as redes que estejam transmitindo no canal indicado), como em:

# airodump ath0 logrede 14

Isto gerará o arquivo “logrede.cap”, que contém um dump de todos os pacotes capturados. Nesse ponto você precisa esperar algum tempo até conseguir um volume razoável de pacotes. Para acelerar isso, faça com que o micro que está servindo de isca baixe alguns arquivos grandes a partir de outro micro da rede.

Abra outro terminal e use o aircrack para tentar quebrar a chave de encriptação. Você pode fazer isso sem interromper a captura do airodump, daí a idéia de usar dois terminais separados.

Ao usar o aircrack, é preciso especificar o comprimento da chave WEP (64 ou 128 bits) e o arquivo gerado pelo airodump, como em:

# aircrack -n 64 logrede.cap

ou:
# aircrack -n 128 logrede.cap

Caso o arquivo contenha pacotes destinados a mais de um ponto de acesso, ele pergunta qual verificar. No caso, indique sua rede.

O aircrack usa um ataque de força bruta para tentar descobrir a chave de encriptação da rede. A base do ataque são os IV’s (vetores de inicialização), a parte de 24 bits da chave de encriptação, que é trocada periodicamente. O volume de IV’s gerados varia de acordo com a rede (por isso existem redes mais vulneráveis do que outras), mas, na maioria dos casos, é possível quebrar a encriptação de uma rede de 128 bits caso você consiga capturar de 500 mil a um milhão de IV’s, enquanto uma chave de 64 bits pode ser quebrada com pouco mais de 200 mil. Caso seja usada uma chave fácil de adivinhar, os números são drasticamente reduzidos, permitindo em muitos casos que a chave seja quebrada com a captura de alguns poucos milhares de IV’s.

Como todo processo de força bruta, o tempo necessário é aleatório. O aircrack pode descobrir a chave correta tanto logo no início da captura, quanto só depois de capturar mais de um milhão de IV’s. Por isso é interessante deixar o terminal de captura do airodump aberto e ir executando o aircrack periodicamente, até que ele descubra a chave. Quanto maior o volume de dados capturados, maior a possibilidade dele descobrir a chave.

Uma forma de aumentar a eficiência do ataque, ou seja, aumentar a chance de descobrir a chave usando o mesmo número de IV’s, é aumentar o “fudge factor”, o que faz com que o aircrack teste um número maior de combinações. Isso, naturalmente, aumenta proporcionalmente o tempo necessário para o teste.

O default do aircrack é um fudge factor 2. Você pode alterar o valor usando a opção “-f”, como em:

# aircrack -f 4 -n 128 logrede.cap

É comum começar fazendo um teste com o valor default, depois com fudge 4, como no exemplo, e a partir daí ir dobrando até descobrir a chave (ou a demora se tornar inviável).

Com um grande volume de IV’s, uma chave WEP de 64 bits é um alvo fácil. Neste caso a quebra demorou apenas 21 segundos:

Como é necessário capturar um grande volume de dados e muitas redes são usadas apenas para acessar a Internet e outras tarefas leves, capturar o volume de pacotes necessário poderia demorar dias.

Um invasor com um nível mediano de conhecimento, provavelmente não se contentaria em esperar tanto tempo. Ao invés disso, ele poderia usar um ataque de flood para induzir tráfego na sua rede, de forma a acelerar o processo, transformando os muitos dias em apenas alguns minutos.

Um exemplo de ferramenta usada para este tipo de ataque é o aireplay, mais um integrante da equipe do aircrack. O comando abaixo lança um “chopchop atack” (o tipo de ataque mais eficiente para quebrar chaves WEP) contra o ponto de acesso referente ao endereço MAC especificado, através da interface ath0:

# aireplay -b 00:50:50:81:81:01 -x 512 ath0 -4

Neste ataque, o aireplay captura um weak packet, emitido por algum dos outros micros conectados ao ponto de acesso, e o repete indefinidamente, obrigando o ponto de acesso a responder e assim aumentar rapidamente a contagem de IV’s, o que permite quebrar a chave WEP muito mais rapidamente. Este é o tipo de ataque mais efetivo, pois derruba a última grande barreira contra a quebra do WEP, que era justamente a demora em capturar um grande volume de pacotes.

O “-x 512” especifica o número de pacotes que serão enviados por segundo. Aumentar o número permite quebrar a chave mais rapidamente, mas, por outro lado, vai reduzir o desempenho da rede, o que pode levar o administrador a perceber o ataque (a menos que ele seja feito em um momento de ociosidade da rede).

Como pode ver, o WEP dificulta o acesso à rede, mas quebrá-lo é apenas questão de tempo. Para melhorar a segurança da sua rede, o ideal é combinar várias camadas de segurança e monitorar os acessos, fazendo com que o tempo e trabalho necessário para invadir a rede seja maior (o que vai afastar os curiosos e invasores casuais) e vai lhe dar tempo para detectar e investigar casos mais graves.

Outra dica que dificulta um pouco o acesso, é habilitar a restrição de acesso à rede com base no endereço MAC, geralmente disponível através da opção “Access Control” do ponto de acesso. Ao ativar esta opção, você cria uma lista com os endereços MAC das placas autorizadas e o ponto de acesso restringe o acesso de qualquer outra.

Programas como o airodump e o próprio Kismet permitem descobrir o endereço MAC dos micros que estão acessando determinada rede muito facilmente, e o endereço MAC da placa de rede pode ser forjado (no Linux, por exemplo, você pode falsear usando o comando “ifconfig wlan0 hw ether 00:11:D8:76:59:2E”, onde você substitui o “wlan0” pela interface e o “00:11:D8:76:59:2E” pelo endereço MAC desejado). A questão é que, ao forjar o endereço, o invasor vai derrubar o micro com a placa que foi clonada, uma dica para que você perceba que algo está errado.

O próximo passo seria isolar sua rede wireless do restante da rede, fazendo com que o invasor possa acessar a Internet, mas não tenha como acessar compartilhamentos e outros recursos da rede. O mais simples neste caso é instalar uma placa de rede adicional no servidor da rede (ou em qualquer outro micro na ausência dele), onde é conectado o ponto de acesso. Compartilhe a conexão com a placa do AP, mas utilize duas faixas de IP’s separados, com um firewall ativo, configurado para bloquear tentativas de conexão provenientes dos micros dentro da rede wireless.

Fonte: Link

Anúncios

~ por 3c0linux em julho 28, 2010.

 
%d blogueiros gostam disto: