chore: padroniza arquitetura Ciberfauna, logo na raiz, hooks de verificação e CI multi-arch no runner ARM
CI / Formatação e clippy (push) Successful in 1m9s
CI / Auditoria de dependências (push) Successful in 12s
CI / Testes (Linux) (push) Successful in 1m34s
Release / Cria a release (push) Successful in 5s
CI / Compila o app desktop (Linux) (push) Successful in 1m36s
Release / CLI (linux-aarch64) (push) Successful in 1m23s
Release / CLI (linux-x86_64) (push) Successful in 1m40s
Release / App desktop (linux-aarch64) (push) Successful in 7m32s
Release / App desktop (linux-x86_64) (push) Failing after 9m5s
Release / App desktop (windows) (push) Failing after 6m20s
CI / Formatação e clippy (push) Successful in 1m9s
CI / Auditoria de dependências (push) Successful in 12s
CI / Testes (Linux) (push) Successful in 1m34s
Release / Cria a release (push) Successful in 5s
CI / Compila o app desktop (Linux) (push) Successful in 1m36s
Release / CLI (linux-aarch64) (push) Successful in 1m23s
Release / CLI (linux-x86_64) (push) Successful in 1m40s
Release / App desktop (linux-aarch64) (push) Successful in 7m32s
Release / App desktop (linux-x86_64) (push) Failing after 9m5s
Release / App desktop (windows) (push) Failing after 6m20s
This commit is contained in:
1 parent
30a086a808
commit
659701b2d4
95 files changed
+2826
-253
No files matched your search
@@ -28,13 +28,13 @@ The CLI and the desktop app are thin clients: both call the core's `Engine`. The
|
||||
| `pcapreader.rs`, `pcapwriter.rs` | `.pcap` read and write. |
|
||||
| `audit.rs` | Local hash-chained audit trail. |
|
||||
| `doctor.rs` | Diagnostics of privileges, tools and interfaces. |
|
||||
| `update.rs` | Self-update from GitHub releases (curl + SHA-256). |
|
||||
| `update.rs` | Self-update from Gitea releases (curl + SHA-256). |
|
||||
| `error.rs`, `testutil.rs` | Shared error type; test helpers. |
|
||||
|
||||
## Platform
|
||||
|
||||
Capture and monitor mode are **Linux** (`AF_PACKET` + netlink). Parsing (`radiotap`, `dot11`, `eapol`, `handshake`), cracking (`crack`) and `.pcap` are cross-platform, being offline — which is why the tests run on Linux, Windows and macOS in CI.
|
||||
Capture and monitor mode are **Linux** (`AF_PACKET` + netlink). Parsing (`radiotap`, `dot11`, `eapol`, `handshake`), cracking (`crack`) and `.pcap` are cross-platform, being offline — which is why the tests run on Linux in CI.
|
||||
|
||||
## UI transport
|
||||
|
||||
`sabia ui` starts a server on `127.0.0.1` protected by a token generated on the spot; it serves `index.html`/`app.css`/`app.js`/`sabia.png` embedded in the binary plus a JSON API. The Tauri app uses the same files, calling the `Engine` directly via Tauri commands instead of HTTP.
|
||||
`sabia ui` starts a server on `127.0.0.1` protected by a token generated on the spot; it serves `index.html`/`app.css`/`app.js`/`logo.png` embedded in the binary plus a JSON API. The Tauri app uses the same files, calling the `Engine` directly via Tauri commands instead of HTTP.
|
||||
@@ -28,13 +28,13 @@ A CLI e o app desktop são clientes finos: ambos chamam o `Engine` do núcleo. A
|
||||
| `pcapreader.rs`, `pcapwriter.rs` | Leitura e escrita de `.pcap`. |
|
||||
| `audit.rs` | Trilha de auditoria local encadeada por hash. |
|
||||
| `doctor.rs` | Diagnóstico de privilégios, ferramentas e interfaces. |
|
||||
| `update.rs` | Auto-atualização por releases do GitHub (curl + SHA-256). |
|
||||
| `update.rs` | Auto-atualização por releases do Gitea (curl + SHA-256). |
|
||||
| `error.rs`, `testutil.rs` | Tipo de erro compartilhado; ajudantes de teste. |
|
||||
|
||||
## Plataforma
|
||||
|
||||
Captura e modo monitor são **Linux** (`AF_PACKET` + netlink). Parsing (`radiotap`, `dot11`, `eapol`, `handshake`), quebra (`crack`) e `.pcap` são multiplataforma, por serem offline — por isso os testes rodam em Linux, Windows e macOS no CI.
|
||||
Captura e modo monitor são **Linux** (`AF_PACKET` + netlink). Parsing (`radiotap`, `dot11`, `eapol`, `handshake`), quebra (`crack`) e `.pcap` são multiplataforma, por serem offline — por isso os testes rodam em Linux no CI.
|
||||
|
||||
## Transporte da UI
|
||||
|
||||
`sabia ui` sobe um servidor em `127.0.0.1` protegido por um token gerado na hora; serve `index.html`/`app.css`/`app.js`/`sabia.png` embutidos no binário e uma API JSON. O app Tauri usa os mesmos arquivos, chamando o `Engine` direto por comandos Tauri em vez de HTTP.
|
||||
`sabia ui` sobe um servidor em `127.0.0.1` protegido por um token gerado na hora; serve `index.html`/`app.css`/`app.js`/`logo.png` embutidos no binário e uma API JSON. O app Tauri usa os mesmos arquivos, chamando o `Engine` direto por comandos Tauri em vez de HTTP.
|
||||
@@ -0,0 +1,67 @@
|
||||
# O que o Sabiá suporta
|
||||
|
||||
[English](../support.md) · **Português**
|
||||
|
||||
Matriz do que existe hoje (versão 1.0.3). Para o que vem a seguir, veja o [ROADMAP](../../ROADMAP.pt-BR.md).
|
||||
|
||||
## Plataformas
|
||||
|
||||
| | Descoberta e captura | Análise e quebra offline | App desktop |
|
||||
|---|---|---|---|
|
||||
| Linux | ✅ root, adaptador em modo monitor | ✅ | ✅ AppImage e deb |
|
||||
| Windows | ❌ | ✅ `.pcap`, dicionário/regras/máscara | ✅ instalador |
|
||||
| macOS | ❌ | ✅ `.pcap`, dicionário/regras/máscara | ❌ sem build |
|
||||
|
||||
A captura ao vivo usa `AF_PACKET` e netlink; exige Linux, root (ou `CAP_NET_ADMIN`/`CAP_NET_RAW`) e uma placa com modo monitor. Injeção (`deauth`, Evil Twin) exige uma placa que também injete. O app desktop pede elevação ao abrir.
|
||||
|
||||
## Descoberta
|
||||
|
||||
- Varredura dos canais de **2.4, 5 e 6 GHz**, limitada pela placa e pelo _regulatory domain_.
|
||||
- **Pontos de acesso e clientes** com SSID, BSSID, canal, sinal, tipo de segurança, detalhes de WPS e fabricante.
|
||||
- **Modo monitor** ligado/desligado por netlink/`iw`, com recuperação automática se o NetworkManager retomar a interface.
|
||||
- **Canais suportados** informados por rádio.
|
||||
|
||||
## Captura e análise
|
||||
|
||||
| Item | Suporte |
|
||||
|---|---|
|
||||
| 4-way handshake (EAPOL) | ✅ detectado e guardado para quebra offline |
|
||||
| PMKID | ✅ detectado e guardado, inclusive caça sem cliente |
|
||||
| Escrita e leitura de `.pcap` | ✅ compatível com as outras ferramentas 802.11 |
|
||||
| Decifração CCMP | ✅ para um cliente cuja PSK já é conhecida |
|
||||
| Parsers radiotap / 802.11 / EAPOL | ✅ |
|
||||
|
||||
## Quebra (WPA/WPA2-PSK)
|
||||
|
||||
| Modo | Suporte |
|
||||
|---|---|
|
||||
| Dicionário | ✅ rockyou + Probable-Wordlists por padrão (9,7 milhões de senhas) |
|
||||
| Regras de mutação | ✅ estilo hashcat |
|
||||
| Máscara/força bruta | ✅ `?d?l?u?s?a` |
|
||||
| Verificação | ✅ PMK por PBKDF2-HMAC-SHA1 + MIC (4-way) ou PMKID |
|
||||
| Exportação | ✅ `.hc22000` para hashcat/John |
|
||||
|
||||
WPA3/SAE **não** cai por dicionário de handshake; o escopo da quebra é WPA/WPA2-PSK.
|
||||
|
||||
## Ataques autorizados
|
||||
|
||||
- **Desautenticação** direcionada ou contínua, com `--yes` / confirmação explícita de autorização.
|
||||
- **Teste de PMF** e **caça de PMKID sem cliente**.
|
||||
- **WPS PIN / Pixie Dust** com o `reaver` embutido (GPL-2) ou `bully` quando instalado.
|
||||
- **Evil Twin PSK**: clona um AP visto com portal cativo; a senha só é aceita depois de conferida contra o handshake real já capturado.
|
||||
- **Evil Twin Enterprise** (802.1X/EAP): captura credenciais automaticamente, sem portal. Exige `hostapd-wpe` e uma segunda interface Wi-Fi em modo AP.
|
||||
|
||||
## Relatórios, auditoria e diagnóstico
|
||||
|
||||
- **Relatório de auditoria paginado** (capa, sumário, achados, pontuação de canais, trilha de auditoria), gerado localmente.
|
||||
- **Trilha de auditoria encadeada por hash** para toda ativação de modo monitor e sessão de captura (`sabia audit show`).
|
||||
- **`sabia doctor`** confere privilégios, ferramentas e interfaces antes da captura.
|
||||
|
||||
## O que o Sabiá não faz
|
||||
|
||||
- Quebrar handshake WPA3/SAE, ou recuperar senha sem handshake/PMKID capturado e uma candidata correspondente.
|
||||
- Capturar no Windows ou no macOS; nessas plataformas só há análise offline.
|
||||
- Dispensar a confirmação de autorização para `deauth`, WPS ou Evil Twin.
|
||||
- Garantir cobertura de 5/6 GHz: depende da placa, do _regulatory domain_ e do driver.
|
||||
- Fazer um cliente enterprise confiar num certificado autoassinado quando ele valida a cadeia (comum em perfil corporativo gerenciado).
|
||||
- Acelerar a quebra por GPU ainda; a quebra é feita na CPU.
|
||||
@@ -0,0 +1,67 @@
|
||||
# What Sabiá supports
|
||||
|
||||
[English](support.md) · [Português](pt-BR/suporte.md)
|
||||
|
||||
Matrix of what exists today (version 1.0.3). For what comes next, see the [ROADMAP](../ROADMAP.md).
|
||||
|
||||
## Platforms
|
||||
|
||||
| | Discovery and capture | Offline analysis and cracking | Desktop app |
|
||||
|---|---|---|---|
|
||||
| Linux | ✅ root, adapter in monitor mode | ✅ | ✅ AppImage and deb |
|
||||
| Windows | ❌ | ✅ `.pcap`, wordlist/rules/mask | ✅ installer |
|
||||
| macOS | ❌ | ✅ `.pcap`, wordlist/rules/mask | ❌ no build |
|
||||
|
||||
Live capture uses `AF_PACKET` and netlink; it needs Linux, root (or `CAP_NET_ADMIN`/`CAP_NET_RAW`) and an adapter that supports monitor mode. Injection (`deauth`, Evil Twin) needs an adapter that also supports injection. The desktop app asks for elevation on startup.
|
||||
|
||||
## Discovery
|
||||
|
||||
- **2.4, 5 and 6 GHz** channel sweep, limited by the adapter and the regulatory domain.
|
||||
- **Access points and clients** with SSID, BSSID, channel, signal, security type, WPS details and vendor.
|
||||
- **Monitor mode** on/off through netlink/`iw`, with automatic recovery if NetworkManager takes the interface back.
|
||||
- **Supported channels** reported per radio.
|
||||
|
||||
## Capture and analysis
|
||||
|
||||
| Item | Support |
|
||||
|---|---|
|
||||
| 4-way handshake (EAPOL) | ✅ detected and stored for offline cracking |
|
||||
| PMKID | ✅ detected and stored, including clientless PMKID hunting |
|
||||
| `.pcap` write and read | ✅ compatible with other 802.11 tools |
|
||||
| CCMP decryption | ✅ for a client whose PSK is already known |
|
||||
| Radiotap / 802.11 / EAPOL parsing | ✅ |
|
||||
|
||||
## Cracking (WPA/WPA2-PSK)
|
||||
|
||||
| Mode | Support |
|
||||
|---|---|
|
||||
| Dictionary | ✅ rockyou + Probable-Wordlists by default (9.7 million passwords) |
|
||||
| Mutation rules | ✅ hashcat-style rules |
|
||||
| Mask/brute force | ✅ `?d?l?u?s?a` |
|
||||
| Verification | ✅ PBKDF2-HMAC-SHA1 PMK + MIC (4-way) or PMKID |
|
||||
| Export | ✅ `.hc22000` for hashcat/John |
|
||||
|
||||
WPA3/SAE does **not** fall to a handshake dictionary attack; the cracking scope is WPA/WPA2-PSK.
|
||||
|
||||
## Authorized attacks
|
||||
|
||||
- **Deauthentication** directed or continuous, with `--yes` / explicit authorization checkbox.
|
||||
- **PMF test** and **clientless PMKID hunt**.
|
||||
- **WPS PIN / Pixie Dust** using the bundled `reaver` (GPL-2) or `bully` when installed.
|
||||
- **Evil Twin PSK**: clones a seen AP with a captive portal; the password is only accepted after being checked against the real captured handshake.
|
||||
- **Evil Twin Enterprise** (802.1X/EAP): captures credentials automatically, without a portal. It needs `hostapd-wpe` and a second Wi-Fi interface in AP mode.
|
||||
|
||||
## Reports, audit and diagnostics
|
||||
|
||||
- **Paginated audit report** (cover, table of contents, findings, channel score, audit trail), generated locally.
|
||||
- **Hash-chained audit trail** for every monitor-mode activation and capture session (`sabia audit show`).
|
||||
- **`sabia doctor`** checks privileges, tools and interfaces before capture.
|
||||
|
||||
## What Sabiá does not do
|
||||
|
||||
- Crack WPA3/SAE handshakes, or recover a password without a captured handshake/PMKID and a matching candidate.
|
||||
- Capture on Windows or macOS; those platforms are offline analysis only.
|
||||
- Bypass the authorization requirement for deauth, WPS or Evil Twin.
|
||||
- Guarantee 5/6 GHz coverage: it depends on the adapter, regulatory domain and driver.
|
||||
- Make an enterprise client trust a self-signed certificate when the client validates the chain (common in managed corporate profiles).
|
||||
- Provide GPU acceleration yet; cracking is CPU-bound.
|
||||
Reference in new issue
Block a user