mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-wifi/REA
This commit is contained in:
parent
676d33c952
commit
d8c3effe41
@ -25,6 +25,7 @@
|
||||
- [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)
|
||||
- [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md)
|
||||
- [Enable Nexmon Monitor And Injection On Android](generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md)
|
||||
- [Evil Twin EAP-TLS](generic-methodologies-and-resources/pentesting-wifi/evil-twin-eap-tls.md)
|
||||
- [Phishing Methodology](generic-methodologies-and-resources/phishing-methodology/README.md)
|
||||
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Comandos básicos de Wifi
|
||||
## Comandos básicos do Wifi
|
||||
```bash
|
||||
ip link show #List available interfaces
|
||||
iwconfig #List available interfaces
|
||||
@ -19,6 +19,12 @@ iwlist wlan0 scan #Scan available wifis
|
||||
```
|
||||
## Ferramentas
|
||||
|
||||
### Hijacker & NexMon (Wi-Fi interno do Android)
|
||||
|
||||
{{#ref}}
|
||||
enable-nexmon-monitor-and-injection-on-android.md
|
||||
{{#endref}}
|
||||
|
||||
### EAPHammer
|
||||
```
|
||||
git clone https://github.com/s0lst1c3/eaphammer.git
|
||||
@ -59,12 +65,12 @@ Esta ferramenta automatiza ataques **WPS/WEP/WPA-PSK**. Ela irá automaticamente
|
||||
- Escanear redes possíveis - E permitir que você selecione a(s) vítima(s)
|
||||
- Se WEP - Lançar 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 PINs nulos ou PINs gerados/banco de dados.
|
||||
- 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 PINs nulos ou PINs gerados por banco de dados.
|
||||
- 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.
|
||||
|
||||
## Resumo de Ataques
|
||||
## Resumo dos Ataques
|
||||
|
||||
- **DoS**
|
||||
- Desautenticação/desassociação -- Desconectar todos (ou um ESSID/Cliente específico)
|
||||
@ -104,7 +110,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
||||
- -0 significa desautenticação
|
||||
- 1 é o número de desautenticações a serem enviadas (você pode enviar várias se desejar); 0 significa enviá-las continuamente
|
||||
- -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 ser desautenticado; se isso for omitido, então a desautenticação de broadcast é enviada (nem sempre funciona)
|
||||
- -c 00:0F:B5:34:30:30 é o endereço MAC do cliente a ser desautenticado; se isso for omitido, então a desautenticação em broadcast é enviada (nem sempre funciona)
|
||||
- ath0 é o nome da interface
|
||||
|
||||
### Pacotes de Desassociação
|
||||
@ -120,7 +126,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
||||
# 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 com mdk4**
|
||||
### **Mais ataques DOS pelo mdk4**
|
||||
|
||||
**Em** [**aqui**](https://en.kali.tools/?p=864)**.**
|
||||
|
||||
@ -146,11 +152,11 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
|
||||
```
|
||||
**MODO DE ATAQUE p: Probing de SSID e Bruteforcing**
|
||||
|
||||
Probing de Pontos de Acesso (APs) verifica se um SSID está devidamente revelado e confirma o alcance do AP. Esta técnica, combinada com **bruteforcing de SSIDs ocultos** com ou sem uma lista de palavras, ajuda a identificar e acessar redes ocultas.
|
||||
Probing de Pontos de Acesso (APs) verifica se um SSID está devidamente revelado e confirma o alcance do AP. Esta técnica, combinada com **bruteforcing de SSIDs ocultos** com ou sem uma lista de palavras, ajuda na identificação e acesso a redes ocultas.
|
||||
|
||||
**MODO DE ATAQUE m: Exploração de Contramedidas Michael**
|
||||
**MODO DE ATAQUE m: Exploração de Contramedidas de Michael**
|
||||
|
||||
Enviar pacotes aleatórios ou duplicados para diferentes filas de QoS pode acionar as Contramedidas Michael em **APs TKIP**, levando a uma interrupção do AP por um minuto. Este método é uma tática eficiente de ataque **DoS** (Negação de Serviço).
|
||||
Enviar pacotes aleatórios ou duplicados para diferentes filas de QoS pode acionar as Contramedidas de Michael em **APs TKIP**, levando a uma interrupção do AP por um minuto. Este método é uma tática eficiente de ataque **DoS** (Negação de Serviço).
|
||||
```bash
|
||||
# -t <BSSID> of a TKIP AP
|
||||
# -j use inteligent replay to create the DoS
|
||||
@ -176,7 +182,7 @@ mkd4 -e <SSID> -c <channel> [-z]
|
||||
```
|
||||
**MODO DE ATAQUE f: Fuzzing de Pacotes**
|
||||
|
||||
Um fuzzer de pacotes com diversas fontes de pacotes e um conjunto abrangente de modificadores para manipulação de pacotes.
|
||||
Um fuzzing de pacotes com diversas fontes de pacotes e um conjunto abrangente de modificadores para manipulação de pacotes.
|
||||
|
||||
### **Airggedon**
|
||||
|
||||
@ -186,7 +192,7 @@ _**Airgeddon**_ oferece a maioria dos ataques propostos nos comentários anterio
|
||||
|
||||
## WPS
|
||||
|
||||
WPS (Wi-Fi Protected Setup) simplifica o processo de conexão de dispositivos a um roteador, aumentando a velocidade e a facilidade de configuração para redes criptografadas com **WPA** ou **WPA2** Pessoal. É ineficaz para a segurança WEP, que é facilmente comprometida. O WPS utiliza um PIN de 8 dígitos, validado em duas partes, tornando-o suscetível a ataques de força bruta devido ao seu número limitado de combinações (11.000 possibilidades).
|
||||
WPS (Wi-Fi Protected Setup) simplifica o processo de conexão de dispositivos a um roteador, aumentando a velocidade e a facilidade de configuração para redes criptografadas com **WPA** ou **WPA2** Pessoal. É ineficaz para a segurança WEP, que é facilmente comprometida. O WPS utiliza um PIN de 8 dígitos, validado em duas metades, tornando-se suscetível a ataques de força bruta devido ao seu número limitado de combinações (11.000 possibilidades).
|
||||
|
||||
### WPS Bruteforce
|
||||
|
||||
@ -197,7 +203,7 @@ Existem 2 ferramentas principais para realizar essa ação: Reaver e Bully.
|
||||
|
||||
O ataque explora a **vulnerabilidade do PIN WPS**, particularmente sua exposição dos primeiros quatro dígitos e o papel do último dígito como um checksum, facilitando o ataque de força bruta. No entanto, defesas contra ataques de força bruta, como **bloquear endereços MAC** de atacantes agressivos, exigem **rotação de endereços MAC** para continuar o ataque.
|
||||
|
||||
Após obter o PIN WPS com ferramentas como Bully ou Reaver, o atacante pode deduzir o PSK WPA/WPA2, garantindo **acesso persistente à rede**.
|
||||
Após obter o PIN WPS com ferramentas como Bully ou Reaver, o atacante pode deduzir o WPA/WPA2 PSK, garantindo **acesso persistente à rede**.
|
||||
```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
|
||||
@ -254,17 +260,17 @@ Tão quebrado e não utilizado atualmente. Apenas saiba que _**airgeddon**_ tem
|
||||
|
||||
### PMKID
|
||||
|
||||
Em 2018, **hashcat** [revelou](https://hashcat.net/forum/thread-7717.html) um novo método de ataque, único porque precisa apenas de **um único pacote** e não requer que nenhum cliente esteja conectado ao AP alvo—apenas interação entre o atacante e o AP.
|
||||
Em 2018, **hashcat** [revelou](https://hashcat.net/forum/thread-7717.html) um novo método de ataque, único porque precisa de **um único pacote** e não requer que nenhum cliente esteja conectado ao AP alvo—apenas interação entre o atacante e o AP.
|
||||
|
||||
Muitos roteadores modernos adicionam um **campo opcional** ao **primeiro quadro EAPOL** durante a associação, conhecido como `Robust Security Network`. Isso inclui o `PMKID`.
|
||||
|
||||
Como explica o post original, o **PMKID** é criado usando dados conhecidos:
|
||||
Como explica a postagem original, o **PMKID** é criado usando dados conhecidos:
|
||||
```bash
|
||||
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
|
||||
```
|
||||
Dado que o "Nome PMK" é constante, sabemos o BSSID do AP e da estação, e o `PMK` é idêntico ao de um handshake completo de 4 vias, **hashcat** pode usar essas informações para quebrar o PSK e recuperar a senha!
|
||||
|
||||
Para **coletar** essas informações e **bruteforce** localmente a senha, você pode fazer:
|
||||
Para **coletar** essas informações e **bruteforçar** localmente a senha, você pode fazer:
|
||||
```bash
|
||||
airmon-ng check kill
|
||||
airmon-ng start wlan0
|
||||
@ -283,7 +289,7 @@ 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
|
||||
```
|
||||
Por favor, note que o formato de um hash correto contém **4 partes**, como: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838`. Se o seu **contiver apenas** **3 partes**, então, é **inválido** (a captura do PMKID não foi válida).
|
||||
Por favor, note que o formato de um hash correto contém **4 partes**, como: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838`. Se o seu **contém apenas** **3 partes**, então, é **inválido** (a captura do PMKID não foi válida).
|
||||
|
||||
Note que `hcxdumptool` **também captura handshakes** (algo como isso aparecerá: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Você pode **transformar** os **handshakes** para o formato **hashcat**/**john** usando `cap2hccapx`.
|
||||
```bash
|
||||
@ -295,12 +301,12 @@ aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
||||
```
|
||||
_Eu notei que alguns handshakes capturados com esta ferramenta não puderam ser quebrados mesmo sabendo a senha correta. Eu recomendaria capturar handshakes também de forma tradicional, se possível, ou capturar vários deles usando esta ferramenta._
|
||||
|
||||
### Captura de handshake
|
||||
### Captura de Handshake
|
||||
|
||||
Um ataque a redes **WPA/WPA2** pode ser executado capturando um **handshake** e tentando **quebrar** a senha **offline**. Este processo envolve monitorar a comunicação de uma rede específica e **BSSID** em um **canal** particular. Aqui está um guia simplificado:
|
||||
|
||||
1. Identifique o **BSSID**, **canal** e um **cliente conectado** da rede alvo.
|
||||
2. Use `airodump-ng` para monitorar o tráfego da rede no canal e BSSID especificados, esperando capturar um handshake. O comando ficará assim:
|
||||
2. Use `airodump-ng` para monitorar o tráfego da rede no canal e BSSID especificados, na esperança de capturar um handshake. O comando será assim:
|
||||
```bash
|
||||
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
||||
```
|
||||
@ -346,7 +352,7 @@ Em **configurações de WiFi empresarial, você encontrará vários métodos de
|
||||
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
|
||||
```
|
||||
1. **EAP-GTC (Generic Token Card)**:
|
||||
- Este método suporta tokens de hardware e senhas de uso único dentro do EAP-PEAP. Ao contrário do MSCHAPv2, não utiliza um desafio de par e envia senhas em texto claro para o ponto de acesso, apresentando um risco para ataques de downgrade.
|
||||
- Este método suporta tokens de hardware e senhas de uso único dentro do EAP-PEAP. Ao contrário do MSCHAPv2, não utiliza um desafio de par e envia senhas em texto claro para o ponto de acesso, representando um risco para ataques de downgrade.
|
||||
2. **EAP-MD5 (Message Digest 5)**:
|
||||
- Envolve o envio do hash MD5 da senha do cliente. **Não é recomendado** devido à vulnerabilidade a ataques de dicionário, falta de autenticação do servidor e incapacidade de gerar chaves WEP específicas para a sessão.
|
||||
3. **EAP-TLS (Transport Layer Security)**:
|
||||
@ -362,7 +368,7 @@ Você pode encontrar mais informações sobre esses métodos de autenticação [
|
||||
|
||||
### 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ê estiver usando **EAP**, as **mensagens de "Identidade"** devem ser **suportadas**, e o **nome de usuário** será enviado em **claro** nas mensagens de **"Resposta de Identidade"**.
|
||||
Lendo [https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27), parece que se você estiver usando **EAP**, as **mensagens "Identidade"** devem ser **suportadas**, e o **nome de usuário** será enviado em **claro** nas mensagens de **"Resposta de Identidade"**.
|
||||
|
||||
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 "**Resposta, Identidade**", o **nome de usuário** do cliente aparecerá.
|
||||
@ -383,7 +389,7 @@ No EAP-PEAP, uma vez que o túnel TLS é estabelecido entre o servidor PEAP e o
|
||||
|
||||
O EAP-TTLS segue um procedimento ligeiramente diferente. Com o EAP-TTLS, o cliente normalmente se autentica usando PAP ou CHAP, protegido pelo túnel TLS. Neste caso, o cliente inclui um atributo User-Name e um atributo Password ou CHAP-Password na mensagem TLS inicial enviada após o estabelecimento do túnel.
|
||||
|
||||
Independentemente do protocolo escolhido, o servidor PEAP/TTLS obtém conhecimento da verdadeira identidade do usuário após o túnel TLS ter sido estabelecido. A verdadeira identidade pode ser representada como user@realm ou simplesmente user. Se o servidor PEAP/TTLS também for responsável por autenticar o usuário, agora possui a identidade do usuário e prossegue com o método de autenticação protegido pelo túnel TLS. Alternativamente, o servidor PEAP/TTLS pode encaminhar uma nova solicitação RADIUS para o servidor RADIUS doméstico do usuário. Esta nova solicitação RADIUS omite a camada do protocolo PEAP ou TTLS. Nos casos em que o método de autenticação protegido é EAP, as mensagens EAP internas são transmitidas para o servidor RADIUS doméstico sem a embalagem EAP-PEAP ou EAP-TTLS. O atributo User-Name da mensagem RADIUS de saída contém a verdadeira identidade do usuário, substituindo o User-Name anônimo da solicitação RADIUS de entrada. Quando o método de autenticação protegido é PAP ou CHAP (suportado apenas pelo TTLS), o User-Name e outros atributos de autenticação extraídos da carga útil TLS são substituídos na mensagem RADIUS de saída, deslocando o User-Name anônimo e os atributos EAP-Message TTLS encontrados na solicitação RADIUS de entrada.
|
||||
Independentemente do protocolo escolhido, o servidor PEAP/TTLS obtém conhecimento da verdadeira identidade do usuário após o túnel TLS ter sido estabelecido. A verdadeira identidade pode ser representada como user@realm ou simplesmente user. Se o servidor PEAP/TTLS também for responsável por autenticar o usuário, agora possui a identidade do usuário e prossegue com o método de autenticação protegido pelo túnel TLS. Alternativamente, o servidor PEAP/TTLS pode encaminhar uma nova solicitação RADIUS para o servidor RADIUS doméstico do usuário. Esta nova solicitação RADIUS omite a camada de protocolo PEAP ou TTLS. Nos casos em que o método de autenticação protegido é EAP, as mensagens EAP internas são transmitidas para o servidor RADIUS doméstico sem a embalagem EAP-PEAP ou EAP-TTLS. O atributo User-Name da mensagem RADIUS de saída contém a verdadeira identidade do usuário, substituindo o User-Name anônimo da solicitação RADIUS de entrada. Quando o método de autenticação protegido é PAP ou CHAP (suportado apenas pelo TTLS), o User-Name e outros atributos de autenticação extraídos da carga útil TLS são substituídos na mensagem RADIUS de saída, deslocando o User-Name anônimo e os atributos TTLS EAP-Message encontrados na solicitação RADIUS de entrada.
|
||||
|
||||
Para mais informações, consulte [https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm)
|
||||
|
||||
@ -423,7 +429,7 @@ Você também pode realizar este ataque usando `eaphammer`:
|
||||
### Probing Ativo
|
||||
|
||||
- O probing ativo envolve estações enviando solicitações de probe para descobrir APs próximos e suas características.
|
||||
- Solicitações de probe direcionadas têm como alvo um ESSID específico, ajudando a detectar se uma rede particular está ao alcance, mesmo que seja uma rede oculta.
|
||||
- Solicitações de probe direcionadas visam um ESSID específico, ajudando a detectar se uma rede particular está ao alcance, mesmo que seja uma rede oculta.
|
||||
- Solicitações de probe de broadcast têm um campo SSID nulo e são enviadas a todos os APs próximos, permitindo que a estação verifique qualquer rede preferida sem divulgar o conteúdo de sua PNL.
|
||||
|
||||
## AP Simples com redirecionamento para a Internet
|
||||
@ -498,7 +504,7 @@ Um ataque de evil twin explora a maneira como os clientes WiFi reconhecem redes,
|
||||
|
||||
- **Dificuldade em Diferenciação**: Dispositivos têm dificuldade em distinguir entre pontos de acesso legítimos e maliciosos quando compartilham o mesmo ESSID e tipo de criptografia. Redes do mundo real frequentemente usam múltiplos pontos de acesso com o mesmo ESSID para estender a cobertura de forma contínua.
|
||||
- **Manipulação de Conexão e Roaming do Cliente**: O protocolo 802.11 permite que dispositivos se movam entre pontos de acesso dentro do mesmo ESS. Ataques podem explorar isso atraindo um dispositivo a desconectar de sua estação base atual e conectar-se a uma maliciosa. Isso pode ser alcançado oferecendo um sinal mais forte ou interrompendo a conexão com o ponto de acesso legítimo através de métodos como pacotes de desautenticação ou jamming.
|
||||
- **Desafios na Execução**: Executar com sucesso um ataque de evil twin em ambientes com múltiplos pontos de acesso bem posicionados pode ser desafiador. Desautenticar um único ponto de acesso legítimo frequentemente resulta no dispositivo se conectando a outro ponto de acesso legítimo, a menos que o atacante consiga desautenticar todos os pontos de acesso próximos ou posicionar estrategicamente o ponto de acesso malicioso.
|
||||
- **Desafios na Execução**: Executar com sucesso um ataque de evil twin em ambientes com múltiplos pontos de acesso bem posicionados pode ser desafiador. Desautenticar um único ponto de acesso legítimo frequentemente resulta no dispositivo se conectar a outro ponto de acesso legítimo, a menos que o atacante consiga desautenticar todos os pontos de acesso próximos ou posicionar estrategicamente o ponto de acesso malicioso.
|
||||
|
||||
Você pode criar um Open Evil Twin muito básico (sem capacidades de rotear tráfego para a Internet) fazendo:
|
||||
```bash
|
||||
@ -512,7 +518,7 @@ Ou usando Airgeddon: `Options: 5,6,7,8,9 (dentro do menu de ataque Evil Twin).`
|
||||
|
||||
.png>)
|
||||
|
||||
Por favor, note que por padrão, se um ESSID no PNL estiver salvo como protegido por WPA, o dispositivo não se conectará automaticamente a um Evil Twin aberto. Você pode tentar DoS no AP real e esperar que o usuário se conecte manualmente ao seu Evil Twin aberto, ou você pode DoS no AP real e usar um WPA Evil Twin para capturar o handshake (usando este método, você não poderá fazer a vítima se conectar a você, pois não sabe o PSK, mas pode capturar o handshake e tentar quebrá-lo).
|
||||
Por favor, note que por padrão, se um ESSID no PNL estiver salvo como protegido por WPA, o dispositivo não se conectará automaticamente a um Evil Twin aberto. Você pode tentar DoS no AP real e esperar que o usuário se conecte manualmente ao seu Evil Twin aberto, ou você pode DoS no AP real e usar um WPA Evil Twin para capturar o handshake (usando este método, você não poderá fazer a vítima se conectar a você, pois não conhece o PSK, mas pode capturar o handshake e tentar quebrá-lo).
|
||||
|
||||
_Alguns sistemas operacionais e antivírus avisarão o usuário que se conectar a uma rede aberta é perigoso..._
|
||||
|
||||
@ -524,7 +530,7 @@ Você pode criar um **Evil Twin usando WPA/2** e se os dispositivos estiverem co
|
||||
```
|
||||
### Enterprise Evil Twin
|
||||
|
||||
Para entender esses ataques, eu recomendaria ler antes a breve [explicação do WPA Enterprise](#wpa-enterprise-mgt).
|
||||
Para entender esses ataques, eu recomendaria ler antes o breve [WPA Enterprise explanation](#wpa-enterprise-mgt).
|
||||
|
||||
**Usando hostapd-wpe**
|
||||
|
||||
@ -549,7 +555,7 @@ Por padrão, o EAPHammer propõe esses métodos de autenticação (note que GTC
|
||||
```
|
||||
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
||||
```
|
||||
Esta é a metodologia padrão para evitar longos tempos de conexão. No entanto, você também pode especificar os métodos de autenticação do servidor do mais fraco para o mais forte:
|
||||
Esta é a metodologia padrão para evitar longos tempos de conexão. No entanto, você também pode especificar ao servidor os métodos de autenticação do mais fraco para o mais forte:
|
||||
```
|
||||
--negotiate weakest
|
||||
```
|
||||
@ -557,11 +563,11 @@ Ou você também pode usar:
|
||||
|
||||
- `--negotiate gtc-downgrade` para usar uma implementação de downgrade GTC altamente eficiente (senhas em texto claro)
|
||||
- `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` para especificar manualmente os métodos oferecidos (oferecer os mesmos métodos de autenticação na mesma ordem que a organização tornará o ataque muito mais difícil de detectar).
|
||||
- [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||
- [Encontre mais informações na wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||
|
||||
**Usando Airgeddon**
|
||||
|
||||
`Airgeddon` pode usar certificados gerados anteriormente para oferecer autenticação EAP em redes WPA/WPA2-Enterprise. A rede falsa irá rebaixar o protocolo de conexão para EAP-MD5, permitindo **capturar o usuário e o MD5 da senha**. Depois, o atacante pode tentar quebrar a senha.\
|
||||
`Airgeddon` pode usar certificados gerados anteriormente para oferecer autenticação EAP em redes WPA/WPA2-Enterprise. A rede falsa irá rebaixar o protocolo de conexão para EAP-MD5, de modo que será capaz de **capturar o usuário e o MD5 da senha**. Depois, o atacante pode tentar quebrar a senha.\
|
||||
`Airgeddon` oferece a possibilidade de um **ataque Evil Twin contínuo (barulhento)** ou **apenas criar o ataque Evil até que alguém se conecte (suave).**
|
||||
|
||||
.png>)
|
||||
@ -571,7 +577,7 @@ Ou você também pode usar:
|
||||
_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, permitindo que você **descriptografe** o tráfego mais tarde **conhecendo a chave privada do servidor**.
|
||||
Isso fará com que `hostapd-wpe` **troque chaves usando RSA** em vez de DH, para que você possa **descriptografar** o tráfego depois **sabendo 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.
|
||||
|
||||
@ -581,7 +587,7 @@ Adicione uma nova entrada e preencha o formulário com estes valores: **Endereç
|
||||
|
||||
.png>)
|
||||
|
||||
E olhe na nova **aba "Decrypted TLS"**:
|
||||
E veja a nova **aba "Decrypted TLS"**:
|
||||
|
||||
.png>)
|
||||
|
||||
@ -620,11 +626,11 @@ name3
|
||||
```
|
||||
### KARMA
|
||||
|
||||
Este método permite que um **atacante crie um ponto de acesso (AP) malicioso que responde a todas as solicitações de sondagem** de dispositivos que buscam se conectar a redes. Esta técnica **enganha os dispositivos para se conectarem ao AP do atacante** ao imitar as redes que os dispositivos estão procurando. Uma vez que um dispositivo envia uma solicitação de conexão para este AP falso, ele completa a conexão, levando o dispositivo a se conectar erroneamente à rede do atacante.
|
||||
Este método permite que um **atacante crie um ponto de acesso (AP) malicioso que responde a todas as solicitações de sondagem** de dispositivos que buscam se conectar a redes. Esta técnica **enganha os dispositivos a se conectarem ao AP do atacante** ao imitar as redes que os dispositivos estão procurando. Uma vez que um dispositivo envia uma solicitação de conexão a este AP falso, ele completa a conexão, levando o dispositivo a se conectar erroneamente à rede do atacante.
|
||||
|
||||
### MANA
|
||||
|
||||
Então, **os dispositivos começaram a ignorar respostas de rede não sólidas**, reduzindo a eficácia do ataque karma original. No entanto, um novo método, conhecido como **ataque MANA**, foi introduzido por Ian de Villiers e Dominic White. Este método envolve o AP falso **capturando as Listas de Redes Preferidas (PNL) dos dispositivos ao responder às suas solicitações de sondagem de transmissão** com nomes de rede (SSIDs) previamente sólidos pelos dispositivos. Este ataque sofisticado contorna as proteções contra o ataque karma original explorando a maneira como os dispositivos lembram e priorizam redes conhecidas.
|
||||
Então, **os dispositivos começaram a ignorar respostas de rede não sólidas**, reduzindo a eficácia do ataque karma original. No entanto, um novo método, conhecido como **ataque MANA**, foi introduzido por Ian de Villiers e Dominic White. Este método envolve o AP falso **capturando as Listas de Redes Preferidas (PNL) dos dispositivos ao responder às suas solicitações de sondagem de transmissão** com nomes de redes (SSIDs) previamente sólidos pelos dispositivos. Este ataque sofisticado contorna as proteções contra o ataque karma original explorando a maneira como os dispositivos lembram e priorizam redes conhecidas.
|
||||
|
||||
O ataque MANA opera monitorando tanto solicitações de sondagem direcionadas quanto de transmissão de dispositivos. Para solicitações direcionadas, ele registra o endereço MAC do dispositivo e o nome da rede solicitada, adicionando essas informações a uma lista. Quando uma solicitação de transmissão é recebida, o AP responde com informações que correspondem a qualquer uma das redes na lista do dispositivo, atraindo o dispositivo a se conectar ao AP falso.
|
||||
```bash
|
||||
|
@ -0,0 +1,128 @@
|
||||
# Habilitar Modo Monitor e Injeção de Pacotes NexMon no Android (chips Broadcom)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Visão Geral
|
||||
A maioria dos telefones Android modernos incorpora um chipset Wi-Fi Broadcom/Cypress que é enviado sem modo monitor 802.11 ou capacidades de injeção de quadros. O framework de código aberto NexMon modifica o firmware proprietário para adicionar esses recursos e os expõe através de uma biblioteca compartilhada (`libnexmon.so`) e um helper CLI (`nexutil`). Ao pré-carregar essa biblioteca no driver Wi-Fi padrão, um dispositivo com root pode capturar tráfego 802.11 bruto e injetar quadros arbitrários – eliminando a necessidade de um adaptador USB externo.
|
||||
|
||||
Esta página documenta um fluxo de trabalho rápido que usa um Samsung Galaxy S10 totalmente corrigido (BCM4375B1) como exemplo, utilizando:
|
||||
|
||||
* Módulo Magisk NexMon contendo o firmware corrigido + `libnexmon.so`
|
||||
* Aplicativo Android Hijacker para automatizar a alternância do modo monitor
|
||||
* Chroot Kali NetHunter opcional para executar ferramentas sem fio clássicas (aircrack-ng, wifite, mdk4 …) diretamente contra a interface interna
|
||||
|
||||
A mesma técnica se aplica a qualquer dispositivo que tenha um patch NexMon disponível publicamente (Pixel 1, Nexus 6P, Galaxy S7/S8, etc.).
|
||||
|
||||
---
|
||||
|
||||
## Pré-requisitos
|
||||
* Dispositivo Android com um chipset Broadcom/Cypress suportado (por exemplo, BCM4358/59/43596/4375B1)
|
||||
* Root com Magisk ≥ 24
|
||||
* BusyBox (a maioria das ROMs/NetHunter já o inclui)
|
||||
* ZIP Magisk NexMon ou patch auto-compilado fornecendo:
|
||||
* `/system/lib*/libnexmon.so`
|
||||
* `/system/xbin/nexutil`
|
||||
* Hijacker ≥ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
|
||||
* (Opcional) Kali NetHunter ou qualquer chroot Linux onde você pretende executar ferramentas sem fio
|
||||
|
||||
---
|
||||
|
||||
## Flashing o patch NexMon (Magisk)
|
||||
1. Baixe o ZIP para o seu dispositivo/firmware exato (exemplo: `nexmon-s10.zip`).
|
||||
2. Abra o Magisk -> Módulos -> Instalar do armazenamento -> selecione o ZIP e reinicie.
|
||||
O módulo copia `libnexmon.so` para `/data/adb/modules/<module>/lib*/` e garante que os rótulos SELinux estejam corretos.
|
||||
3. Verifique a instalação:
|
||||
```bash
|
||||
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
|
||||
sha1sum $(which nexutil)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configurando o Hijacker
|
||||
O Hijacker pode alternar o modo monitor automaticamente antes de executar `airodump`, `wifite`, etc. Em **Configurações -> Avançado** adicione as seguintes entradas (edite o caminho da biblioteca se seu módulo for diferente):
|
||||
```
|
||||
Prefix:
|
||||
LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so
|
||||
|
||||
Enable monitor mode:
|
||||
svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2
|
||||
|
||||
Disable monitor mode:
|
||||
nexutil -m0; svc wifi enable
|
||||
```
|
||||
Ative “Iniciar modo monitor ao iniciar airodump” para que cada varredura do Hijacker aconteça no modo monitor nativo (`wlan0` em vez de `wlan0mon`).
|
||||
|
||||
Se o Hijacker mostrar erros ao iniciar, crie o diretório necessário no armazenamento compartilhado e reabra o aplicativo:
|
||||
```bash
|
||||
mkdir -p /storage/emulated/0/Hijacker
|
||||
```
|
||||
### O que significam essas flags do `nexutil`?
|
||||
* **`-s0x613`** Escreve a variável de firmware 0x613 (FCAP_FRAME_INJECTION) → `1` (habilita TX de quadros arbitrários).
|
||||
* **`-i`** Coloca a interface em modo monitor (o cabeçalho radiotap será adicionado).
|
||||
* **`-v2`** Define o nível de verbosidade; `2` imprime confirmação e versão do firmware.
|
||||
* **`-m0`** Restaura o modo gerenciado (usado no comando *disable*).
|
||||
|
||||
Após executar *Enable monitor mode*, você deve ver a interface em estado de monitor e ser capaz de capturar quadros brutos com:
|
||||
```bash
|
||||
airodump-ng --band abg wlan0
|
||||
```
|
||||
---
|
||||
|
||||
## Linha única manual (sem Hijacker)
|
||||
```bash
|
||||
# Enable monitor + injection
|
||||
svc wifi disable && ifconfig wlan0 up && nexutil -s0x613 -i -v2
|
||||
|
||||
# Disable and return to normal Wi-Fi
|
||||
nexutil -m0 && svc wifi enable
|
||||
```
|
||||
Se você só precisa de sniffing passivo, omita a flag `-s0x613`.
|
||||
|
||||
---
|
||||
|
||||
## Usando `libnexmon` dentro do Kali NetHunter / chroot
|
||||
As ferramentas de espaço do usuário padrão no Kali não conhecem o NexMon, mas você pode forçá-las a usá-lo via `LD_PRELOAD`:
|
||||
|
||||
1. Copie o objeto compartilhado pré-construído para o chroot:
|
||||
```bash
|
||||
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
|
||||
```
|
||||
2. Ative o modo monitor a partir do **host Android** (comando acima ou através do Hijacker).
|
||||
3. Inicie qualquer ferramenta sem fio dentro do Kali com o preload:
|
||||
```bash
|
||||
sudo su
|
||||
export LD_PRELOAD=/lib/kalilibnexmon.so
|
||||
wifite -i wlan0 # ou aircrack-ng, mdk4 …
|
||||
```
|
||||
4. Quando terminar, desative o modo monitor como de costume no Android.
|
||||
|
||||
Como o firmware já lida com a injeção de radiotap, as ferramentas de espaço do usuário se comportam exatamente como em um adaptador Atheros externo.
|
||||
|
||||
---
|
||||
|
||||
## Ataques Típicos Possíveis
|
||||
Uma vez que monitor + TX está ativo, você pode:
|
||||
* Capturar handshakes WPA(2/3-SAE) ou PMKID com `wifite`, `hcxdumptool`, `airodump-ng`.
|
||||
* Injetar quadros de desautenticação / desassociação para forçar clientes a reconectar.
|
||||
* Criar quadros de gerenciamento/dados arbitrários com `mdk4`, `aireplay-ng`, Scapy, etc.
|
||||
* Construir APs falsos ou realizar ataques KARMA/MANA diretamente do telefone.
|
||||
|
||||
O desempenho no Galaxy S10 é comparável a NICs USB externos (~20 dBm TX, 2-3 M pps RX).
|
||||
|
||||
---
|
||||
|
||||
## Solução de Problemas
|
||||
* `Device or resource busy` – certifique-se de que o **serviço Wi-Fi do Android está desativado** (`svc wifi disable`) antes de ativar o modo monitor.
|
||||
* `nexutil: ioctl(PRIV_MAGIC) failed` – a biblioteca não está pré-carregada; verifique o caminho de `LD_PRELOAD`.
|
||||
* A injeção de quadros funciona, mas nenhum pacote capturado – alguns ROMs bloqueiam canais; tente `nexutil -c <channel>` ou `iwconfig wlan0 channel <n>`.
|
||||
* SELinux bloqueando a biblioteca – defina o dispositivo como *Permissivo* ou corrija o contexto do módulo: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||||
|
||||
---
|
||||
|
||||
## Referências
|
||||
* [Hijacker on the Samsung Galaxy S10 with wireless injection](https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305)
|
||||
* [NexMon – firmware patching framework](https://github.com/seemoo-lab/nexmon)
|
||||
* [Hijacker (aircrack-ng GUI for Android)](https://github.com/chrisk44/Hijacker)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user