Segurança em Redes Wireless 802.11
Segurança em Redes Wireless 802.11
Assis/SP
2018
PEDRO LUIS PINHEIRO SOLA
Assis/SP
2018
S684s SOLA, Pedro Luis Pinheiro
54p.
CDD 005.8
SEGURANÇA EM REDES WIRELESS
Assis/SP
2018
DEDICATÓRIA
Ao professor, Fábio Eder Cardoso pela orientação e pelo constante estimulo transmitido
durante o trabalho.
Aos amigos, Carlos Roberto, Addam Caue, Pedro Foganholi, Leonardo Jubran, José
Henrique e a todos que colaboraram direta ou indiretamente na execução deste trabalho e
aos que cursaram junto durante esses quatro anos.
Aos familiares, minha mãe Marielle, meu padrasto Fabio, meu pai Emerson Luis, minha
madrasta Giselle Abrahão e minha namorada Thalia Caroline Martins, pelo suporte e
apoio durante toda essa aventura que tem sido a faculdade.
If brute force doesn't work, you aren't using
enough.
As redes sem fio estão cada vez mais sendo utilizadas por pessoas e por empresas. Há
certa preocupação em relação à confiabilidade de acesso e este trabalho tem como intuito
explanar a respeito das funcionalidades de uma rede sem fio e como sua segurança pode
ser testada e comprovada por meio de aplicativos desenvolvidos utilizando ferramentas
de segurança dando o suporte necessário para que a rede deixe de ser vulnerável e
corrigindo todos os possíveis defeitos. Redes sem fio utilizam radiofrequência para sua
comunicação, seu padrão é o 802.11 ratificado pelo IEEE (Institute of Eletrical and
Eletronic Engineers).
O presente trabalho tem como foco apresentar um estudo sobre a segurança em redes
wireless, tendo como principal agente a demonstração de como explorar vulnerabilidades
wireless em dispositivos que utilizam dos padrões 802.11bagnac, ou seja, roteadores
wireless.
As wireless networks are more and more been used by people and companies, there is a
certain concern regarding access reliability, this paper is intended to explain a relation of
the functionalities of a wireless network and how their security can be tested and proven
through applications developed with security tools, supporting a security system and all
possible overruns. Wireless networks for radiofrequency for its communication, its
standard and 802.11 ratified by the IEEE (Institute of Electronic and Electronic Engineers).
Many of the users connect to these networks to share resources, it is of utmost importance
to provide security in the communications that use this standard since everything that is
propagates, using the physical means of communication, is capturing.
The present work focuses on presenting a study on wireless network security, with the
main agent demonstrating how to exploit wireless vulnerabilities in devices that use
802.11bagnac standards, that is, wireless routers.
Figura 7: Utilizando as interfaces de rede para escanear por redes próximas .................. 41
Figura 10: Listagem dos usuários conectados em uma rede wireless ............................... 42
Figura 11: Listagem dos usuários conectados em uma rede wireless ............................... 43
AP – Acess Point
STAS – Stations
TxBF – Beamforming
1. INTRODUÇÃO ...................................................................................... 15
1.1. OBJETIVOS ............................................................................................. 15
1.2. PENTEST (PENETRATION TEST).......................................................... 16
1.2.1. Distribuições de Pentest ............................................................................. 16
2. PADRÕES DE REDES WIRELESS ...................................................... 19
2.1. PADRÃO 802.11 ...................................................................................... 19
2.2. PADRÃO 802.11B .................................................................................... 20
2.3. PADRÃO 802.11A .................................................................................... 21
2.4. 802.11G .................................................................................................... 22
2.5. 802.11N .................................................................................................... 23
2.6. 802.11AC ................................................................................................. 23
3. MODELOS DE CRIPTOGRAFIA .......................................................... 25
3.1. WEP ......................................................................................................... 25
3.2. WPA ......................................................................................................... 26
3.3. WPA2 ....................................................................................................... 27
4. KALI LINUX .......................................................................................... 28
4.1. AIRCRACK-NG ........................................................................................ 29
4.1.1. Airmon-ng ..................................................................................................... 29
4.1.2. Airodump-ng ................................................................................................. 30
4.1.3. Aireplay-ng ................................................................................................... 30
4.1.4. Packetforge-ng ............................................................................................. 33
4.1.5. Wordlist ......................................................................................................... 33
4.2. PYTHON .................................................................................................. 34
4.2.1. Biblioteca Python – Requests ..................................................................... 35
4.2.2. Biblioteca Python - urllib2 ........................................................................... 35
4.2.3. Biblioteca Python - base64.......................................................................... 35
4.2.4. Biblioteca Python – hashlib ........................................................................ 36
5. METODOLOGIA ................................................................................... 37
5.1. UTILIZAÇÃO DO CRUNCH ..................................................................... 37
5.2. UTILIZAÇÃO DO AIRCRACK-NG............................................................ 38
5.3. UTILIZAÇÃO DO SCRIPT EM PYTHON ................................................. 45
5.4. CONCLUSÃO ........................................................................................... 46
6. TRABALHOS FUTUROS ...................................................................... 47
7. REFERÊNCIAS ..................................................................................... 48
8. APENDICE ............................................................................................ 50
8.1. CÓDIGO EM PYTHON PARA DESLIGAR O WIFI, REINICIAR OU
RESETAR O ACCESS POINT ............................................................................. 50
15
1. INTRODUÇÃO
As redes sem fio têm se tornado cada vez mais utilizadas pelo público em geral e isso
acontece por diversas vantagens que esse tipo de rede provê, como por exemplo,
mobilidade, praticidade, flexibilidade, redução de custos dentre outros (ALVES, SOUZA,
2016). Porém, os dados que antes trafegaram utilizando cabos de rede, agora utilizam-se
das ondas de radiofrequência que circulam pelo ar, sendo assim ela se torna bem mais
vulnerável a ataques do que a rede cabeada.
A maior preocupação de uma rede sem fio é, sua vulnerabilidade, com esse foco, será
feito testes utilizando ferramentas do Kali Linux para complementar a segurança ao
Access Point (AP), essas ferramentas farão a varredura de dados e leitura de registros.
1.1. OBJETIVOS
Os testes foram realizados com as ferramentas contidas no Kali Linux, para que qualquer
pessoa possa realizar esses testes em seu próprio AP e ter uma maneira de checar as
vulnerabilidades do mesmo.
16
Pentest são bateria de testes metodológicos, que tem como objetivo descobrir, mapear e
expor todas as possíveis vulnerabilidades de uma rede.
Existem diversos tipos de testes que podem ser realizados através de Pentests, como,
testes em redes cabeadas, redes sem fio (Wireless), web, revisão de códigos fontes,
desenvolvimento de programas que exploram vulnerabilidades em outros softwares
(exploits) entre outras. (Moreno,2016)
O objetivo de Pentests, não é ter acesso a uma rede sem permissão, mas sim encontrar
falhas e aplicar as devidas medidas possíveis para tornar essa rede menos ou se possível
invulnerável.
Infelizmente, os mesmos testes que uma pessoa poderia efetuar em uma auditoria,
podem ser realizados por criminosos virtuais, logo essas pessoas podem ter acesso a
dados confidenciais.
Por conta do crescente número de ataques digitais, a legislação brasileira considera o ato
de invadir computadores como crime passível de punição. Lei de nr 12.737, pena de 3
meses a 1 ano com multa. (Moreno,2016)
[Link]. BackTrack1
Baseado na distribuição Ubuntu, foi muito utilizado no passado para fazer auditorias,
porém atualmente já está desatualizado, seu substituto é o Kali Linux, mesmo que seja
uma distribuição que já parou de ser atualizada, vale a pena ser citada. (Moreno,2016)
1
[Link]
17
[Link]. BackBox3
[Link]. Wifislax4
Wifislax é uma distribuição GNU / Linux para realizar auditorias rápidas e fáceis de redes
sem fio, para que você possa acessar as inúmeras ferramentas do sistema preparadas
para ajudá-lo.
Atualmente, é uma das ferramentas mais usadas para auditar redes WiFi, tanto para a
grande variedade de ferramentas incluídas para fazê-lo quanto para os inúmeros drivers
para placas de rede que vêm instaladas na distribuição.
2
[Link]
3
[Link]
4
[Link]
18
Como sempre, é importante ter em mente que esse tipo de distribuição deve ser usado
para melhorar a segurança de sua rede, não para ações ilegais como roubar senhas de
Wi-Fi ou interceptar dados, que são consideradas crimes graves pelas autoridades.
Para atender os objetivos propostos o presente trabalho foi dividido em seis capítulos.
Capitulo dois é sobre os Padrões de Redes Wireless para um entendimento maior sobre
as redes wireless e seus protocolos.
Capitulo quatro é sobre o Kali Linux que iremos utilizar como o sistema operacional no
nosso trabalho e o capitulo explica sobre ele e as ferramentas que foram utilizadas no
trabalho através dele.
Capitulo cinco será sobre a Metodologia do presente trabalho, explicando como foram
efetuadas as utilizações das ferramentas.
As redes wireless possuem diversos padrões, com forma que, cada um atenda um tipo de
necessidade. Os padrões que iremos pôr em pauta no presente trabalho serão: 802.11,
802.11b, 802.11a, 802.11g, 802.11n, 802.11ac.
O padrão 802.11 foi o primeiro padrão wireless, lançado em 1997, com uma taxa de
transferência que opera entre 1Mbps a 2Mbps, uma taxa de transferência realmente baixa
para as demandas atuais. Neste padrão as transmissões de wireless são realizadas por
radiofrequência. (MORENO, 2016)
Todos padrões de redes wireless possuem técnicas de modulação, elas são utilizadas
para dividir a frequência de operação em até 14 canais. O padrão 802.11 utiliza as
técnicas DSSS e FHSS para fazer a modularização. O DSSS é utilizado para dividir a
operação em até 14 canais e o FHSS é utilizado para transmitir informações em várias
frequências, de forma que, de tempos em tempos ele mudará a frequência transmitida,
para evitar interferência. (MORENO, 2016)
20
O Padrão 802.11b foi lançado em 1999, como uma atualização do padrão 802.11. A
principal característica que diferencia estas duas versões é a possibilidade de estabelecer
conexões nas seguintes velocidades de transmissão: 1Mb/s, 2Mb/s, 5.5 Mb/s e 11 Mb/s.
A frequência utilizada pelo padrão 801.11, é mantido no 802.11b que é de 2,412GHz a
2,484 Ghz, a tabela 2 mostra todas as frequências que esses padrões funcionam.
(MORENO, 2016)
Canal Frequência
1 2.412 Ghz
2 2.417 Ghz
3 2.422 Ghz
4 2.427 Ghz
5 2.432 Ghz
6 2.437 Ghz
7 2.442 Ghz
8 2.447 Ghz
9 2.452 Ghz
10 2.457 Ghz
11 2.462 Ghz
12 2.467 Ghz
13 2.472 Ghz
14 2.484 Ghz
A área de cobertura de uma transmissão do padrão 802.11b pode variar por vários
fatores, como, a taxa de dados necessária, a capacidade, as fontes de interferências de
radiofrequência e o meio físico contando também as características de potência,
conectividade e modelo de antena. Teoricamente, a área é vista como um círculo com
diâmetro de aproximadamente 60 metros a 11Mbps em áreas fechadas, em áreas abertas
pode alcançar até 400 metros de diâmetro a 1Mbps. Entretanto, na pratica consegue-se
verificar que em ambientes fechados a conectividade chega a 50 metros de distância do
AP mais próximo. Já em áreas abertas, com a utilização de antenas de alta potência
21
O padrão 802.11b foi o primeiro a ser adotado em larga escala, sendo, portanto, um dos
responsáveis pela popularização das redes Wi-Fi. (ALECRIM, 2013)
O padrão 802.11a foi disponibilizado no final do ano de 1999, quase na mesma época que
o padrão 802.11b, porém ele veio após o 802.11b. Sua principal característica é a
possibilidade de operar em taxas de transmissão de dados maiores que seu antecessor
nos seguintes valores: 6Mb/s, 9Mb/s 12Mb/s, 18Mb/s, 24Mb/s, 36 Mb/s, 48 Mb/s e
54Mb/s. (ALECRIM, 2013)
Outro detalhe importante é que em vez de utiliza-se DSSS (Direct Sequence Spread
Spectrum) ou FHSS (Frequency-hopping spread spectrum), o padrão 802.11ª utiliza-se de
uma técnica conhecida como OFDM (Orthogonal Frequency Division Multiplexing), nela a
22
informação a ser trafegada é dividida em vários pequenos conjuntos de dados que são
transmitidos simultaneamente em diferentes frequências, de forma que uma não interfira
uma na transmissão da outra, fazendo com que esta técnica funcione de uma maneira
bem eficiente. (MORENO, 2016)
Apesar de oferecer taxas de transmissão maiores, o padrão 802.11a não chegou a ser tão
popular quanto o padrão 802.11b.
2.4. 802.11G
O padrão 802.11g foi lançado em 2003, e é tido como o sucessor da versão 802.11b, pois
ele é totalmente compatível com a sua versão antiga. Com isso em mente um dispositivo
que opera em 802.11b pode fazer transmissões de arquivos para quaisquer dispositivos
que operem em 802.11g, sem qualquer tipo de problema, além do fato de eles possuírem
taxas de transmissão diferentes, sendo assim a taxa apenas seria limitada pelo protocolo
802.11b. (ALECRIM, 2013)
O principal atributo do padrão 802.11g é o fato de que ele pode trabalhar com taxas de
transmissão de até 54 MB/s, assim como acontece com o padrão 802.11a. Entretanto, o
802.11g opera com frequências na faixa de 2,4GHz (canais de 20 MHz) e possui
praticamente o mesmo poder de cobertura do seu antecessor, o padrão 802.11b.
2.5. 802.11N
O padrão 802.11n tem como principal característica o uso de uma técnica chamada MIMO
(Mutiple-Input Multiple Output), capaz de aumentar de maneira considerável as taxas de
transferência de dados por meio da combinação de várias vias de transmissão. Com isso
em mente é possível, por exemplo, usar dois, três ou quatro emissores e receptores para
o funcionamento da rede. Uma das configurações mais comuns neste caso é o uso de
APs (Access Points) que utilizam três antenas e STAs (Stations) com a mesma
quantidade de receptores. Somando esta característica de combinação com o
aprimoramento de suas especificações, o padrão 802.11n é capaz de fazer transmissões
de dados na faixa de 300 MB/s e, teoricamente, pode atingir taxas de até 600 MB/s. No
modo de transmissão mais simples, com uma via de transmissão, o protocolo 802.11n
pode chegar à casa dos 150 MB/s. (MORENO, 2016)
Em relação à frequência deste padrão, ela pode trabalhar com faixas de 2,4 GHz e 5GHz,
o que faz com que ele se torne compatível com os padrões anterior, inclusive com o
802.11a. Cada canal dentro dessas faixas possui por padrão uma largura de 40 MHz.
Suas técnicas de transmissão mantem as das anteriores, o OFDM, porém com algumas
determinadas alterações, devido ao uso do esquema MIMO, sendo assim, muitas vezes
chamado de MIMO-OFDM. Alguns estudos apontam que sua área de cobertura pode
ultrapassar os 400 metros. (ALECRIM, 2013)
2.6. 802.11AC
possível fazer a rede superar os 6GB/s em um modo mais avançado, que utiliza-se de
múltiplas vias de transmissões, no máximo até oito. O foco é que a indústria priorize
equipamentos com uso de até três antenas, fazendo a velocidade máxima ser de
aproximadamente até 1,3 GB/s. (MORENO, 2016)
O protocolo 802.11ac trabalha na frequência de 5 GHz, sendo que, dentro desta faixa,
cada canal pode ter, por padrão, largura de 80 MHz (160 MHz como opcional).
3. MODELOS DE CRIPTOGRAFIA
3.1. WEP
Como o WEP atua na camada de enlace entre as estações e o ponto de acesso. Sua
confidencialidade impede que pessoas não autorizadas tenham acesso à informação, e a
implementação desta é opcional. (ROCHA, 2006)
Quando está ativada, cada estação tem uma chave secreta compartilhada com o ponto de
acesso, e não há uma forma padrão de distribuição dessas senhas, sendo feita
manualmente em cada estação. Sua integridade garante que o receptor obtenha os dados
corretos, ou seja, que não haja alterações nos frames enviados pelo transmissor, nem
dados indesejados incluídos na transmissão ou removidos no meio do caminho e sua
autenticidade identifica quem está executando uma determinada ação, podendo assim
fazer um controle de acesso aos recursos disponíveis. (ROCHA, 2006)
Apesar de o WEP ser bastante utilizado para tornar a comunicação de uma rede sem fio
mais segura, muitas falhas são apontadas. Uma das vulnerabilidades desse protocolo
está associada à reutilização do vetor de inicialização (IV).
a falta de gerenciamento de chaves, pois o padrão WEP não especifica como deve ser a
distribuição das chaves. (ANDRADE, et al., 2008)
3.2. WPA
Por conta do sistema de criptografia WEP ser extremamente frágil, em 2002, o grupo da
Wify Alliance lançou o WPA. (MORENO, 2016)
O WPA atua em duas áreas. A primeira é a qual substitui o WEP, criptografando os dados
e garantindo a privacidade do tráfego, e a segunda, autentica o usuário, utilizando para
isso padrões 802.1x e EAP (Extensible Authentication Protocol). (GIMENES,2005)
A autenticação do WPA pode ser realizada por dois protocolos, EAP utilizando um
servidor Radius (Remote Authentication Dial-In User Server) para autenticação, podendo
ainda necessitar de uma infraestrutura de chaves públicas (ICP), caso se utilize
certificados digitais para autenticar usuá[Link] PSK (Pré-shared Key), utilizada em
pequenas redes domesticas ou escritórios utilizando uma chave previamente
compartilhada, sendo responsável pelo reconhecimento do aparelho. (GIMENES, 2005)
O TKIP substitui o WEP com um novo método de criptografia que é mais forte que o
algoritmo WEP e ainda pode ser utilizado usando o poder computacional presente no
hardware de equipamento wireless. (ROCHA, 2006)
Os produtos que implementaram o WPA têm suporte para WEP, TKIP e autenticação de
usuários 802.1X. (AMARAL, MAESTRELLI, 2005)
O WPA define o uso do AES (Advanced Encription Standart), como uma substituição
opcional para criptografia WEP. Pelo fato de não ser possível o suporte AES através de
atualização de firmware em equipamentos sem fio existentes, este suporte para
adaptadores de redes sem fio e nos pontos de acesso não é necessário.
O WPA veio com o intuito de corrigir os problemas de criptografia da WEP, sem o usuário
necessitar trocar de hardware, o TKIP (Temporal Key Integrity Protocol) substitui o WEP
27
com um novo algoritmo de criptografia que é mais forte que o algoritmo WEP e ainda
pode ser executado usando as facilidades de cálculo presente no hardware existente do
equipamento wireless. (ROCHA, 2006)
3.3. WPA2
O padrão WPA2 teve obteve melhorias na segurança em redes sem fio, que
aperfeiçoaram as técnicas de segurança correspondentes à proteção dos dados e aos
acessos e autenticações dos usuários dos dois padrões anteriores com uma mudança
principal, o método de criptografia, com o AES (Advanced Encryption Standard), que
também substitui o WEP por um algoritmo de criptografia bem mais forte. Como o TKIP
do WPA, o AES permite a descoberta de uma chave de criptografia de difusão ponto a
ponto inicial exclusiva para cada autenticação, bem como a alteração sincronizada da
chave de criptografia de difusão ponto a ponto para cada quadro. (GIMENES, 2005)
O protocolo WPA2 utiliza chaves de 128, 192 e 256 bits, assim sendo uma ferramenta
poderosa de criptografia com a utilização dessa nova ferramenta precisou de novos
hardwares, capaz de realizar o processo de criptografia.
Apesar do WPA2 possuir um padrão de criptografia muito mais otimizado ele não será
capaz de trabalhar com algumas placas de rede mais antigas. A Wi-Fi Alliance refere-se a
sua implementação de todo o 802.11i como WPA2. (ALVES, SOUSA, 2016)
28
4. KALI LINUX
Kali Linux5 é uma distribuição Linux baseada em Debian destinada em testes avançados
de penetração e auditoria de segurança. Dentro do sistema operacional do Kali Linux
estão incluídas centenas de ferramentas para realizar uma série de tarefas de segurança
da informação, incluindo testes de penetração, pesquisa de segurança, forense
informática e engenharia reversa, cada ferramenta é adaptada para qualquer tipo de
serviço, desde auditoria até penetração.
O Kali Linux foi lançado em 2013 pela Offensive Security, ela é uma provedora de
treinamento de segurança e de penetração em nível de classe mundial.
([Link]
O Kali foi desenvolvido como uma reconstrução completa do BackTrack Linux, mantendo
completamente o desenvolvimento de padrões Debian. ([Link]
security-introduces-kali-linux/)
O Kali Linux possui benefícios e desvantagens como qualquer outra distribuição Linux. O
usuário que irá determinar a escolha entre pen-tester, simples usuário, ou desenvolvedor.
Todas as ferramentas que este sistema operacional possuí foram avaliados em relação à
adequação e eficácia antes de serem incluídos. Entre eles estão incluídos o Metasploit
para testes de penetração de rede, Nmap para varredura de portas e vulnerabilidades,
Wireshark para monitoramento de tráfego de rede e o Aircrack-ng para testar a segurança
de redes sem fio. Estas são algumas das principais ferramentas do Kali Linux. Como seu
antecessor, o Kali Linux é completamente gratuito e sempre será. A Offensive Security
5
[Link]
29
4.1. AIRCRACK-NG
Todas suas ferramentas são utilizadas em linhas de comando, e seu principal uso é em
mbientes linux, porém ele também pode ser executado em diferentes sistemas
operacionais, como, Windows, OS X, FreeBSD, OpenBSD, NetBSD, Solaris e
eComStation2.
O Aircrack-NG foca em diferentes áreas de segurança em redes wireless, entre elas estão
o monitoramento, que faz a captura de pacotes e exportação de dados para arquivos
texto para processamento futuro por ferramentas de terceiros. O Ataque, repetição de
ataques, de autenticação, pontos de acesso falsos e outros. Os Testes, checando redes
wireless e suas compatibilidades com drivers, captura e injeção de dados; E a o Cracking
que faz a captura de senhas de todos os métodos de criptografia, WEP, WPA, WPA2.
4.1.1. Airmon-ng
O Airmon-ng é uma das ferramentas da suíte aircrack-ng, ele é utilizado para checar e
finalizar processos que podem atrapalhar a execução do programa, ele também é
utilizado para transformar interfaces wireless em interfaces de monitoramento, de forma
que essas interfaces capturem pacotes de APs. (MORENO, 2016)
6
[Link]
30
Uma placa wireless possui duas maneiras de trabalhar, modo managed ou modo monitor,
uma mesma interface não pode realizar o mesmo trabalho ao mesmo tempo, ou ela se
conecta a uma rede e utiliza-se da mesma, ou, realiza testes em modo de monitoramento.
(MORENO, 2016)
4.1.2. Airodump-ng
4.1.3. Aireplay-ng
O Aireplay-ng é uma ferramenta de ataque, que contem múltiplos vetores de ataques que
podem ser combinadas com outras ferramentas, como o Packetforge-ng e o Aircrack-ng.
Os principais métodos de ataque utilizados pelo Aireplay-ng são os, Testes de injeção,
Death, Fake Auth, Modo Interativo, ARP Replay, Chop Chop, Fragmentação. (MORENO,
2016)
Os testes de injeção não são realmente um ataque, ele apenas verifica se a interface
wireless suporta a injeção de pacotes.
31
[Link]. Deauth
O ataque de Deauth explora a fraqueza de redes wireless na forma de não existir nenhum
mecanismo de segurança que informe que pacotes Deauth devem ser enviados somente
da estação até o AP, pedindo desautenticação. (MORENO, 2016)
Neste tipo de ataque é possível desautenticar o cliente apenas uma vez ou mante-lo
desautenticado por tempo indeterminado, até que o atacante decida o momento de parar.
(MORENO, 2016)
Este tipo de ataque é utilizado em APs com o tipo de criptografia WEP, quando não há
nenhum cliente conectado à rede, ou em ataque de negação de serviço por Association
Flood, várias estações falsas associadas a um AP, fazendo com que em pouco tempo a
tabela ARP do AP fique superlotada, ocasionando a perda de sinal ou a reinicialização do
dispositivo. (MORENO, 2016)
32
Neste ataque é possível selecionar o tipo de pacote que ira interagir com a rede. O
conceito deste ataque é injetar tráfego de dados na rede, aumentando de maneira rápida
o campo Data para posteriormente quebrar a chave WEP. Para injetar dados na rede, é
necessário que o tipo do pacote seja apenas para aumentar outros pacotes, com o vetor
de inicialização duplicado. O principal tipo de pacote que aumenta o índice do vetor é o
ARP Replay. (MORENO, 2016)
O Ataque de Modo interativo vai injetar o pacote desejado na rede em questão, e o AP vai
responder com pacotes ARP Replay, aumentando o trafego na rede e consequentemente
os pacotes com índice de inicialização. Existem duas maneiras de se fazer isso, a
primeira, é utilizando o método de Fake Authentication e utilizar o modo interativo, o
segundo é utilizar o modo interativo com o endereço MAC de algum cliente conectado.
(MORENO, 2016)
O ataque de ARP Replay é bem semelhante ao modo interativo, porem o este ataque já
captura pacotes ARP Request e retransmite ARP Replay, sendo mais efetivo.
Uma forma de utilizar o ARP Replay é utilizar do endereço MAC de algum cliente já
conectado, de forma que as requisições aumentem. Caso as requisições não alterem com
o tempo, pode-se resolver isso de algumas formas, como, enviar o pacote ICMP para um
ip válido que não esteja em uso, utilizar de pacotes Deauth, para forçar o cliente a
reassociar-se a rede, gerando pacotes ARP Request/Replay ou conectar-se a um cliente
legitimo da rede e fazer solicitações ARP Request, povoando a tabela MAC. (MORENO,
2016)
A vantagem desse modo de ataque é que não é necessário nenhum usuário conectado à
rede, sendo assim, facilitando a obtenção da keystream.
Esse modo de ataque pode ser utilizado de duas formas, a primeira é utilizando o Fake
Authentication e depois o Chop Chop, outra forma é utilizando diretamente o Chop Chop
em um endereço MAC de algum cliente conectado à rede. (MORENO, 2016)
O Ataque de Fragmentação é bem similar ao ataque Chop Chop, pois ele também captura
o PRGA.
4.1.4. Packetforge-ng
A ferramenta Packetforge-ng é utilizada para a criação de pacotes. Seu uso mais comum
é parar criar pacotes customizados de ARP Replay e utiliza-lo em conjunto com o ataque
interativo para geração de pacotes com o vetor de inicialização duplicado. (MORENO,
2016)
4.1.5. Wordlist
conter trojans embutido na wordlist. O mais indicado e seguro é criar a wordlist utilizando
softwares que auxiliam na criação. (COSTA, Bruno Nogueira Lima et al, 2016)
O Kali Linux possui uma aplicação que já vem integrada ao sistema operacional chamada
crunch. Essa ferramenta pode ser utilizada para montar sua própria wordlist. (COSTA,
Bruno Nogueira Lima et al, 2016)
4.2. PYTHON
Python7 é uma linguagem de programação criada por Guido van Rossum em 1991. Os
principais objetivos da linguagem são a produtividade e legibilidade. Python é uma
linguagem que foi criada para produzir código bom e fácil de manter de maneira rápida.
As principais características que ressaltam esses aspectos é o seu baixo uso de
caracteres especiais, o uso de identação para marcar bloco, seu coletor de lixo para
gerenciar automaticamente o uso da memória e quase nenhum uso de palavras-chave
voltadas para a compilação.
Python tem uma biblioteca padrão imensa, que contém classes, métodos e funções para
realizar essencialmente qualquer tarefa, desde acesso a bancos de dados a interfaces
gráficas com o usuário, ela também possui muitas ferramentas para lidar com dados
científicos.
7
[Link]
35
As Requests8 permitem que você envie solicitações, grass-fed HTTP / 1.1, sem a
necessidade de mão-de-obra manual. Não é necessário adicionar manualmente as strings
de consulta aos seus URLs ou codificar os seus dados POST. O keep-alive e o pool de
conexões HTTP são 100% automáticos, graças ao urllib3.
Existem duas interfaces fornecidas por este módulo. A interface moderna suporta a
codificação e decodificação de objetos string ambos usando os alfabetos base-64
definidos no RFC 3548 (normal e protegido por URL e sistema de arquivos). A interface
legada fornece codificação e decodificação de e para objetos semelhantes a arquivos,
bem como strings, mas usando apenas o alfabeto padrão Base64.
8
[Link]
9
[Link]
36
Este módulo implementa uma interface comum para diferentes algoritmos de secure hash
e message digest. Incluem-se os algoritmos de secure hash, FIPS SHA1, SHA224,
SHA256, SHA384 e SHA512 (definidos no FIPS 180-2), bem como o algoritmo MD5 da
RSA (definido na Internet RFC 1321).
Os termos secure hash e message digest são intercambiáveis. Algoritmos mais antigos
eram chamados message digest. O termo moderno é secure hash.
10
[Link]
37
5. METODOLOGIA
O crunch, como foi descrito anteriormente, foi utilizado como necessidade para criar
wordlists para utilização em parceria com o Aircrack-NG.
Para verificar se o crunch está instalado e sua versão, no terminal utiliza-se apenas seu
nome “crunch”, como a Figura 1 ilustra:
O crunch também pode ser utilizado com regras, caso uma parte da senha seja conhecida
é possível criar um filtro na criação das wordlists, utilizando um parâmetro a mais, “crunch
8 8 0123456789 –t 0@@@@@@@ [Link]”, onde
“-t” 0@@@@@@@ é uma regra a qual gerará todos as palavras da lista iniciando
com 0.
A primeira ferramenta utilizada foi o Aircrack-ng, com ele foi verificado quais processos
estão ativos no momento que podem atrapalhar os comandos que serão utilizados
futuramente. Para visualizar os processos utiliza-se o comando “airmon-ng check”, como
é ilustrado na Figura 4.
39
Após verificar quais processos estão ativos utiliza-se o comando “airmon-ng check kill”
para matar todos os presentes processos, como pode ser visualizado na Figura 5.
Após os processos finalizados, verifica-se quais são as interfaces de redes ativas, para
visualizá-las, o comando utilizado é o “iwconfig”, com esse procedimento executado,
pode-se visualizar as interfaces de rede, as quais
Com os nomes das interfaces de rede em mãos, podemos utilizar um comando do Kali
que mostrará todas redes wireless que estiverem ao alcance, obter seu MAC e qual canal
ela está operando, para efetuar a busca utiliza-se o comando “iwlist (interface de rede em
modo de gerenciamento) scanning”, como pode ser visualizado a Figura 7.
41
Assim que o comando for executado, será aberto o terminal com a rede em operação,
com os usuários conectados, como demonstra a Figura 10.
Com a utilização do ataque Deauth, o cliente irá ser forçadamente desconectado da rede,
quando o ataque parar, o cliente irá automaticamente tentar se conectar à rede, no
momento que isso acontece, o aircrack captura os pacotes que trafegam na parte de
trafego, esses pacotes contem a senha criptografa, e esses pacotes serão salvos nos
arquivos que criamos antigamente, que os demos de nome “senhawifi”.
44
Com isso, foi utilizado a suíte do aircrack-ng para fazer o brute-force, o qual utilizará dois
parâmetros, um contendo o arquivo de captura de pacotes, sua extensão é .cap, e será
utilizado uma Wordlist que foi gerada pelo crunch, o comando ficará “aircrack-ng
[Link] –w [Link] “, como a Figura 14 ilustra.
Então ele começará a executar os testes repetidamente, utilizando toda a wordlist, caso a
senha esteja contida no presente wordlist, ele mostrará que a senha foi encontrada, como
apresenta na Figura 14.
O script em python possui algumas variáveis em seu inicio, como ilustra a Figura 16, cada
uma dessas variáveis irá executar o script de uma maneira diferente, sendo
O script pode executar apenas uma operação por vez, por exemplo, ele apenas pode
reiniciar o roteador sem desligar a rede sem fio e sem voltar para modelo de fabricação,
ou ele apenas pode ligar ou desligar o roteador, ou apenas voltar para o modelo de
fabricação.
O script em python pode ser executado pelos terminais, desde que a distribuição utilizada
possua o python 2.7 instalado, para fazer uso do script o comando “python
[Link]” pode ser usado em qualquer terminal como a Figura 16 ilustra.
46
5.4. CONCLUSÃO
Sabe-se que não há nenhum sistema totalmente seguro, senhas podem ser descobertas
ou “quebradas” por ferramentas de testes de vulnerabilidades como, por exemplo, Brute-
Force, isso dependerá apenas da quantidade de testes e do poder computacional da
máquina utilizada. Por conta disso, a utilização de senhas mais complexas sempre deve
ser uma prioridade em qualquer tipo de rede wireless.
Bloquear ataques ao roteador é uma contramedida complicada de ser realizada, pois são
redes que estão propagando-se pelo ar, porém existem algumas medidas que podem ser
realizadas, como, manter o firmware dele sempre atualizado, pois as empresas de
desenvolvimento estão em constante aprimoramento de seus modos se segurança. Em
sua configuração utilizar sempre as criptografias mais recentes, nunca deixar a utilização
de senhas padrão, como, login:“admin”, password:“admin”.
47
6. TRABALHOS FUTUROS
Para trabalhos futuros, fica a melhoria do script em python, podendo utilizá-lo por meio de
uma interface gráfica, a implementação de testes de brute-force e o aprendizado da
captura de pacotes contendo dados trafegando pela rede.
O trabalho foi de extrema importância para o aprendizado da comunidade, uma vez que
poderá ser publicado em eventos relacionados a segurança da informação bem como em
mídias sociais.
48
7. REFERÊNCIAS
ALVES, Lucas Pereira; SOUZA, Lucas Vieira de. Análises dos Protocolos de Segurança,
WEP, WPA e WPA2 em redes sem fio: Um estudo. In: CONGRESSO DE SISTEMAS DE
INFORMAÇÃO DO ITPAC, 1, 2016, Araguaína, Brasil. I Congresso de Sistemas de
Informação do ITPAC, 1, Outubro, 2016, p.9-14.
AMARAL, Bruno Marques; Maestrelli, Marita. Segurança em Redes Wireless 802.11. In:
CBPF-NT-002/04, p.38.
ARANA, Paul. Benefits and vulnerabilities of Wi-Fi protected access 2 (WPA2). INFS,
v. 612, p. 1-6, 2006.
COSTA, Bruno Nogueira Lima et al. Pentest para Quebra de Criptografia Wireless.
Caderno de Estudos Tecnológicos, v. 4, n. 1, 2016.
MORENO, Daniel. Pentest em Redes Sem Fio, Primeira Edição. São Paulo: Novatec
Editora Ltda., 2016.
49
ROCHA, João Wilson Vieira. Redes WLAN de Alta Velocidade II: Recomendações
Aplicáveis. Disponível em
<[Link] >. Acesso em: 19
junho e 2018.
50
8. APENDICE
import requests
import urllib2
import base64
import hashlib
usuario = 'admin'
senha = 'admin'
ip = '[Link]'
utilizar_controle_do_wifi = 's' # Para utilizar do controle do wifi, utilizar 's', caso nao queira
ativar ou desativar o wifi, utilizar 'n'
hash = hashlib.md5(senha)
hash_criptografado = [Link]()
parametro_do_cookie = base64.b64encode(parametro_do_cookie.encode('utf8'))
headers = {
'Host': ip,
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language':'en-US,en;q=0.5',
'Accept-Encoding':'gzip, deflate',
'Referer':'[Link] ip + '/',
'Cookie':'Authorization=Basic%20'+parametro_do_cookie,
'Connection':'keep-alive',
'Upgrade-Insecure-Requests':'1',
'Pragma':'no-cache',
header_control = {
'Host': ip,
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Referer': '[Link]
52
'Cookie': 'Authorization=Basic%20'+parametro_do_cookie,
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
UrlAberta = [Link](req)
codigo_html = [Link]()
controle_da_url = codigo_html[67:-27]
controle_da_url = controle_da_url[0:-9]
controle_da_url = controle_da_url +
"WlanNetworkRpm_AP.htm?operMode=0&ssid1=Netw0rk&channel=7&mode=6&chanWidt
h=2&rate=71&addrType=1&ap=1&broadcast=2&Save=Save"
controle_da_url = controle_da_url +
"WlanNetworkRpm_AP.htm?operMode=0&ssid1=Netw0rk&channel=7&mode=6&chanWidt
h=2&rate=71&addrType=1&ap=0&broadcast=2&Save=Save"
if utilizar_controle_do_wifi != 's':
##Reiniciar##
if reiniciar_roteador == True:
else:
##Resetar Roteador
if resetar_roteador == True:
controle_da_url = controle_da_url +
"[Link]?Restorefactory=Restaurar"
else:
if "[Link] in controle_da_url:
UrlAberta = [Link](req)
html = [Link]()
#print html
else: