9.1 KiB
Sabiá
Auditoria de Wi-Fi livre e gratuita.
Terminal e interface gráfica · captura no Linux, análise offline também em Windows · uso autorizado.
Terminal · Interface · Arquitetura · Suporte · Roadmap · Changelog
English · Português
O Sabiá junta, numa única varredura, o que ferramentas como airodump-ng, hcxdumptool, aircrack-ng e wifite fazem separadamente — em um só binário Rust, sem depender de libpcap:
- Descoberta de redes: percorre os canais de 2.4, 5 e 6 GHz e lista os pontos de acesso e os clientes associados, com SSID, BSSID, canal, sinal, tipo de segurança, detalhes de WPS e fabricante.
- Modo monitor sem scripts: liga e desliga o modo monitor da placa direto pelo netlink/
iw, com recuperação automática se o NetworkManager tentar retomar a interface, e mostra os canais que o rádio suporta. - Captura de handshake: reconhece o 4-way handshake (EAPOL) e o PMKID no ar e guarda só o que é preciso para a quebra offline; decifra tráfego CCMP de um cliente assim que a senha dele é conhecida.
- Quebra, de três jeitos: dicionário (9,7 milhões de senhas por padrão, rockyou + Probable-Wordlists), regras de mutação estilo hashcat e força bruta por máscara (
?d?l?u?s?a) — recalcula a PMK com PBKDF2-HMAC-SHA1 e confere o MIC (4-way) ou o PMKID — para WPA/WPA2-PSK. Exporta em.hc22000para levar o handshake direto ao hashcat/John. - pcap de ida e volta: grava os quadros capturados em
.pcape analisa um.pcapoffline (redes, clientes e handshakes), compatível com as outras ferramentas. - Desautenticação e WPS: deauth direcional/contínuo, teste de PMF, caça de PMKID sem cliente, e ataque WPS PIN/Pixie Dust (reaver embutido, ou bully quando instalado) — tudo atrás de confirmação explícita de autorização (
--yes/checkbox). - Evil Twin: clona um AP já visto com portal cativo para WPA/WPA2-PSK — a senha só é aceita depois de conferida contra o handshake real já capturado, nunca "aceita qualquer coisa" — mais uma variante Enterprise (802.1X/EAP) que captura credenciais automaticamente, sem portal.
- Relatório de auditoria: relatório paginado e imprimível (capa, sumário, achados, pontuação de canais, trilha de auditoria) gerado localmente.
- Trilha de auditoria: toda ativação de modo monitor e sessão de captura fica registrada numa trilha local encadeada por hash.
- Diagnóstico: o
doctorconfere privilégios, ferramentas e interfaces antes de você começar.
Uso autorizado
O Sabiá é uma ferramenta de auditoria — para testar a segurança de redes suas ou de redes que você tem autorização explícita para avaliar.
- Capturar handshakes, enviar desautenticação ou quebrar senhas de redes de terceiros sem permissão é ilegal na maioria dos países. A responsabilidade é de quem usa.
- A desautenticação (
deauth) exige a flag--yes, uma afirmação de que você tem autorização para testar aquela rede. - Toda ativação de modo monitor e sessão de captura é registrada na trilha de auditoria local (
sabia audit show), com encadeamento por hash para detectar adulteração. - Nada seu é enviado para fora. O único acesso à rede por padrão é a verificação de atualização ao abrir o app (desligável).
- Senhas de dicionário e handshakes ficam só na sua máquina.
Instalação
Baixe o pacote do seu sistema em Releases:
| CLI | App gráfico | |
|---|---|---|
| Windows | — | instalador .exe |
| Linux | sabia-*-linux-{x86_64,aarch64}.tar.gz |
.AppImage / .deb |
O CLI é só para Linux; o app desktop sai para Linux e Windows. Cada pacote do
CLI tem um .sha256 ao lado. Compilar do código: cargo build --release -p sabia-cli (Rust 1.80+, Linux).
Atualizações: o app desktop consulta o Gitea ao abrir; havendo versão nova, um botão oferece Atualizar agora. O CLI atualiza do mesmo jeito (sabia update); ele baixa o binário certo para a plataforma, confere o SHA-256 e troca o executável em uso — você não precisa baixar nada na mão. A consulta é uma única requisição à API de releases e nada seu é enviado.
Os binários ainda não são assinados: o SmartScreen do Windows vai avisar. Confira o SHA-256.
Captura e modo monitor exigem Linux e privilégio de root — a única plataforma para a qual o CLI é compilado (CAP_NET_ADMIN/CAP_NET_RAW): a captura crua usa AF_PACKET e o controle de interface usa netlink. A análise de .pcap e a quebra offline rodam também em Windows e macOS. O app desktop pede elevação de administrador sozinho ao abrir.
Começando
sabia doctor # privilégios, ferramentas e interfaces
sabia iface list # interfaces Wi-Fi e seus modos
sudo sabia iface monitor wlan0 on # liga o modo monitor
sudo sabia scan wlan0 --band all --out ar.pcap # percorre os canais e grava o ar
sabia analyze ar.pcap # lê um .pcap offline
sabia crack ar.pcap --wordlist lista.txt # quebra o handshake por dicionário
Teste autorizado de desautenticação e todos os outros comandos (audit, update, ui) estão em docs/pt-BR/cli.md.
Interface gráfica
App desktop (Tauri) com sidebar de interfaces, painel de captura com linha de sinal animada e uma tabela de redes com barras de sinal e selos de segurança por cor. O mesmo front-end roda no navegador com sabia ui. Mais detalhes em docs/pt-BR/interface.md.
- Seleção da interface, ativação de modo monitor e início/parada de captura por botão.
- Tabela de redes vistas em tempo real, com sinal, canal e segurança.
- Aviso de uso autorizado sempre à vista e elevação automática de privilégio ao abrir.
- Botão de atualização em um clique, temas Auto, Claro e Escuro e interface em português e inglês.
Limites conhecidos
- Captura só no Linux, com placa que suporte modo monitor (e injeção, para
deauth); o CLI não é compilado para outras plataformas. Em Windows o app desktop do Sabiá faz só análise de.pcape quebra offline. - WPA3/SAE não cai por dicionário de handshake — a quebra cobre WPA/WPA2-PSK (4-way e PMKID).
- 5 e 6 GHz dependem da placa e do regulatory domain; alguns canais ficam passivos (sem probe).
- Certificado autoassinado do Evil Twin Enterprise: clientes que validam a cadeia de certificado da rede (comum em perfil corporativo/MDM atualizado) não confiam nele — é a defesa correta funcionando, não um bug.
- Windows: o código compila e é testado em CI, mas a captura ao vivo não roda lá; o app desktop faz só análise offline. Não há build para macOS: o Tauri precisa do SDK do macOS e de assinatura, os dois presos a hardware Apple e a uma conta Apple Developer, que o CI deste projeto (um único runner Linux) não tem.
Para onde vai
Resumo do ROADMAP:
| Feito | Modo monitor por netlink (com recuperação do NetworkManager), varredura 2.4/5/6 GHz, captura de 4-way e PMKID, decriptação CCMP, quebra por dicionário/regras/máscara (WPA/WPA2-PSK), exportação .hc22000, escrita e leitura de .pcap, deauth/PMF/PMKID autorizados, ataque WPS, Evil Twin (PSK + Enterprise), pontuação de canais e achados, relatório de auditoria paginado, trilha de auditoria por hash, doctor, CLI + app desktop, atualização em um clique |
| Próximo | Aceleração por GPU na quebra, captura em Windows (Npcap) |
| Fora de plano | Um build para macOS — veja Limites conhecidos |
| Depois | WPA3/SAE downgrade, validação em hardware variado, binários de release assinados |
Desenvolvimento
crates/sabia-core núcleo: interfaces, netlink, radiotap, 802.11, EAPOL, handshake, captura, crack, auditoria, update
crates/sabia-cli binário `sabia` (CLI + servidor local da UI)
apps/gui interface (ui/ = HTML, CSS e JS; src-tauri/ = app desktop)
scripts/ apoio de CI (instalação de dependências em cache, checagem de i18n)
docs/ terminal, interface e arquitetura
cargo test --workspace
cargo clippy --workspace --all-targets
node scripts/check-ui-i18n.mjs # cobertura da tradução da interface
Veja CONTRIBUTING.pt-BR.md e docs/pt-BR/arquitetura.md. Versões seguem SemVer; mudanças em CHANGELOG.pt-BR.md. Para publicar: git tag vX.Y.Z && git push --tags (o workflow release compila e publica tudo). Vulnerabilidades: SECURITY.pt-BR.md.
Licença
MIT ou Apache-2.0, à sua escolha.
