Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wifi_db — Script para analisar capturas do Aircrack-ng em um banco de dados SQLite e extrair informações úteis como handshakes, identidades MGT, relações interessantes entre APs, clientes e seus Probes, informações WPS e uma visão global de todos os APs vistos. | Kitploit
Ferramentas/GitHubGitHub/r4ulcl/wifi_db
Quebra de SenhasAuditoria de Wi-FiAnálise ForenseColeta de InformaçõesSegurança Sem Fio
GitHubr4ulcl/wifi_db

wifi_db

Script para analisar capturas do Aircrack-ng em um banco de dados SQLite e extrair informações úteis como handshakes, identidades MGT, relações interessantes entre APs, clientes e seus Probes, informações WPS e uma visão global de todos os APs vistos.

Ver Repositório
13811há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

wifi_db

Último lançamento Licença Último commit (master) Último commit (dev) Linguagem principal

Build da imagem Docker Build da imagem Docker (dev) CodeFactor Linhas de código Tamanho da imagem Docker

Estrelas Forks Issues abertas Contribuidores Downloads Docker

wifi_db

Script para analisar capturas do Aircrack-ng em um banco de dados SQLite e extrair informações úteis como handshakes (no formato 22000 do hashcat), identidades empresariais (MGT) e pares desafio/resposta EAP-MD5, os certificados X.509 e a configuração de segurança RSN/WPA de cada rede, as capacidades 802.11r/k/v, Multiple BSSID e Channel Switch anunciadas pelos APs, relações interessantes entre APs, clientes e seus Probes, informações WPS e uma visão geral de todos os APs vistos.

Sumário

  • Funcionalidades
  • Instalação
  • Uso
  • Banco de Dados
  • Visualizações
  • TODO
  • Licença

Funcionalidades

  • Exibe se uma rede está oculta (cloaked) mesmo que você tenha o ESSID.
  • Mostra uma tabela detalhada de clientes conectados e seus respectivos APs.
  • Identifica probes de clientes conectados a APs, fornecendo insights sobre possíveis riscos de segurança usando APs falsos (Rogue APs).
  • Extrai handshakes para uso com o hashcat, facilitando a quebra de senhas.
  • Exibe informações de identidade de redes empresariais, incluindo o método EAP usado para autenticação.
  • Extrai os certificados X.509 trocados em autenticações EAP-TLS/PEAP/TTLS empresariais (802.1X) (certificados do AP/servidor e do cliente), armazenando todos os campos dos certificados por BSSID do AP na tabela Certificate.
  • Detalha a segurança RSN/WPA de cada AP (versão WPA, suites AKM, cifras par/grupo, flag empresarial e proteção de quadros de gerenciamento) a partir de beacons na tabela AP.
  • Captura pares desafio/resposta EAP-MD5 para quebra offline (hashcat -m 4800) na tabela EAPMD5.
  • Detecta endereços MAC de clientes aleatorizados (administrados localmente) e identifica clientes pelos elementos de informação dos seus probe requests (armazenados na tabela Probe).
  • Gera um resumo (visão SummaryAP) dos APs agrupados por ESSID e criptografia, mostrando as contagens de APs e clientes, a versão WPA e o estado PMF, e cada fabricante por grupo, para dar uma visão geral rápida do status de segurança das redes próximas (e identificar SSIDs com segurança mista/rebaixada).
  • Registra a configuração Wi-Fi Protected Setup (WPS) de cada AP diretamente na sua linha da tabela AP.
  • Registra todas as instâncias em que um cliente ou AP foi visto com dados de GPS e timestamp, permitindo análise baseada em localização.

Instalação

Do DockerHub (RECOMENDADO)``` bash

docker pull r4ulcl/wifi_db

root@kitploit:~
### Instalação manual

#### Sistemas baseados em Debian (Ubuntu, Kali, Parrot, etc.)

Dependências:

- python3 
- python3-pip
- tshark
- hcxtools``` bash
sudo apt install tshark
sudo apt install python3 python3-pip

sudo apt install pkg-config libcurl4-openssl-dev libssl-dev zlib1g-dev make gcc


git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make 
sudo make install
cd ..

Instalação (usando um ambiente virtual)``` bash

Download repo

git clone https://github.com/r4ulcl/wifi_db cd wifi_db

Create and activate a venv

sudo apt update ; sudo apt install python3-venv python3 -m venv wifi_db_env source wifi_db_env/bin/activate

Install dependencies

pip3 install -r requirements.txt

root@kitploit:~
> O venv deve ser ativado (`source wifi_db_env/bin/activate`) em cada novo
> shell antes de executar `wifi_db.py`. Use `deactivate` para sair.

#### Arch

Dependências:

- python3 
- python3-pip
- tshark
- hcxtools``` bash
sudo pacman -S wireshark-qt
sudo pacman -S python-pip python

git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make 
sudo make install
cd ..

Instalação (usando um ambiente virtual)``` bash

Download repo

git clone https://github.com/r4ulcl/wifi_db cd wifi_db

Create and activate a venv

python3 -m venv wifi_db_env source wifi_db_env/bin/activate

Install dependencies

pip3 install -r requirements.txt

root@kitploit:~
> O venv deve ser ativado (`source wifi_db_env/bin/activate`) em cada novo
> shell antes de executar `wifi_db.py`. Use `deactivate` para sair.



## Uso

### Exemplo de uso no [WiFiChallenge Lab](https://lab.wifichallenge.com/)

- https://r4ulcl.com/posts/wifi_db-in-wifichallenge-lab/

### Escanear com airodump-ng

Execute airodump-ng salvando a saída com -w:``` bash
sudo airodump-ng wlan0mon -w scan --manufacturer --wps --gpsd

Criar o banco de dados SQLite usando Docker``` bash

#Folder with captures CAPTURESFOLDER=/home/user/wifi

Output database

touch db.SQLITE chmod a+rw db.SQLITE

docker run -t -v $PWD/db.SQLITE:/app/db.SQLITE -v $CAPTURESFOLDER:/captures/ r4ulcl/wifi_db

root@kitploit:~
- `-v $PWD/db.SQLITE:/app/db.SQLITE`: Para salvar a saída no arquivo db.SQLITE na pasta atual
- `-v $CAPTURESFOLDER:/captures/`: Para compartilhar a pasta com as capturas com o docker

![usage docker](https://assets.kitploit.com/production/public/readmes/5785/7f0cc15851782e919c9d3d59c3135dab4c0a428ba7a51c7110bc75ff4c02520c.png)



### Criar o banco de dados SQLite usando instalação manual

Assim que a captura for criada, podemos criar o banco de dados importando a captura. Para isso, coloque o nome da captura sem formato. Lembre-se de ativar primeiro o ambiente virtual (`source wifi_db_env/bin/activate`).``` bash
python3 wifi_db.py scan-01

No caso de termos múltiplas capturas, podemos carregar a pasta na qual elas estão diretamente. E com -d podemos renomear o banco de dados de saída.``` bash python3 wifi_db.py -d database.sqlite scan-folder

root@kitploit:~
![usage](https://assets.kitploit.com/production/public/readmes/5785/bac089e7e256d3a1522e1d2b1424586274fd3d6c1787e77b14cc95c4b5588ca9.png)


### Abrir banco de dados

O banco de dados pode ser aberto com:
- [sqlitebrowser](https://sqlitebrowser.org/)


![sqlitebrowser](https://assets.kitploit.com/production/public/readmes/5785/1d8b844f7940649b2851495d8ac2eb0bc23c028f198c9cb6ee42931c10957f25.png)

Abaixo está um exemplo de uma tabela ProbeClientsConnected.

![sqlitebrowser-probes](https://assets.kitploit.com/production/public/readmes/5785/88d6c378a23f297ac6fe2dd2c8c682b20acbd0408f19d65db2129466c9c4a57e.png)


### Argumentos``` bash
usage: wifi_db.py [-h] [-v] [--debug] [-o] [-t LAT] [-n LON] [--source [{aircrack-ng,kismet,wigle}]] [-d DATABASE] capture [capture ...]

positional arguments:
  capture               capture folder or file with extensions .csv, .kismet.csv, .kismet.netxml, or .log.csv. If no extension is provided, all types will
                        be added. This option supports the use of wildcards (*) to select multiple files or folders.

options:
  -h, --help            show this help message and exit
  -v, --verbose         increase output verbosity
  --debug               increase output verbosity to debug
  -o, --obfuscated      Obfuscate MAC and BSSID with AA:BB:CC:XX:XX:XX-defghi (WARNING: replace all database)
  -t LAT, --lat LAT     insert a fake lat in the new elements
  -n LON, --lon LON     insert a fake lon in the new elements
  --source [{aircrack-ng,kismet,wigle}]
                        source from capture data (default: aircrack-ng)
  -d DATABASE, --database DATABASE
                        output database, if exist append to the given database (default name: db.SQLITE)

Kismet

TODO

Wigle

TODO

Base de dados

A wifi_db contém várias tabelas para armazenar informações relacionadas ao tráfego de rede sem fio capturado pelo airodump-ng. As tabelas são as seguintes:

  • AP: Esta tabela armazena informações sobre os pontos de acesso (APs) detetados durante as capturas, incluindo o endereço MAC (bssid), nome da rede (ssid), se a rede está oculta (cloaked), fabricante (manuf), canal (channel), frequência (frequency), operadora (carrier), tipo de encriptação (encryption) e total de pacotes recebidos deste AP (packetsTotal). Também contém as flags de capacidade/requisito de proteção de quadros de gestão (mfpc, mfpr) e os detalhes de segurança RSN/WPA analisados a partir de beacons, que são atributos 1:1 do AP e, portanto, residem na própria linha do AP: a wpa_version negociada (WPA2, WPA3, transição WPA2/WPA3, OWE), os suites de autenticação e gestão de chaves (, por exemplo, PSK, SAE, 802.1X), as e (CCMP-128, GCMP-256, TKIP, etc.), uma flag ativada quando um AKM 802.1X está presente, o estado de proteção de quadros de gestão (: Necessário, Capaz ou Desativado), o campo de bits bruto e a sua descrição legível (, por exemplo, → ). Da mesma forma, contém a configuração Wi-Fi Protected Setup (WPS), outro atributo 1:1 do AP: o nome de rede anunciado (), versão WPS (), nome do dispositivo (), nome do modelo (), número do modelo (), métodos de configuração () juntamente com a sua descrição legível (, por exemplo, → ) e métodos de configuração por teclado (). Finalmente, armazena as capacidades de gestão 802.11 analisadas a partir de beacons e probe responses: a flag Fast BSS Transition 802.11r () e o seu , a flag Radio Resource Measurement 802.11k (), a flag BSS Transition Management 802.11v (), a publicidade Multiple BSSID () e o seu , a flag Channel Switch Announcement () e o seu canal alvo (), e , ativado quando o nome da rede foi recuperado a partir de uma probe response / pedido de (re)associação em vez de um beacon. A tabela utiliza o endereço MAC como chave primária.

Views

  • ProbeClients: Esta view seleciona o endereço MAC da sonda, o fabricante e tipo do dispositivo cliente, o número total de pacotes transmitidos pelo cliente e o SSID da sonda. Junta as tabelas Probe e Client pelo endereço MAC e ordena os resultados por SSID.

  • ConnectedAP: Esta view seleciona o BSSID do ponto de acesso ligado, o SSID do ponto de acesso, o endereço MAC do dispositivo cliente ligado e o fabricante do dispositivo cliente. Junta as tabelas Connected, AP e Client pelos BSSID e endereço MAC, respetivamente, e ordena os resultados por BSSID.

  • ProbeClientsConnected: Esta view seleciona o BSSID e SSID do ponto de acesso ligado, o endereço MAC da sonda, o fabricante e tipo do dispositivo cliente, o número total de pacotes transmitidos pelo cliente e o SSID da sonda. Junta as tabelas Probe, Client e ConnectedAP pelo endereço MAC da sonda e filtra os resultados para excluir sondas que estão ligadas ao mesmo SSID que estão a sondar. Os resultados são ordenados pelo SSID da sonda.

TODO

  • Aircrack-ng

  • Tudo num único ficheiro (e separadamente)

  • Kismet

  • Wigle

  • instalação

  • analisar todos os ficheiros na pasta -f --folder

  • Corrigir erros estendidos, tildes, etc (corrigido no aircrack-ng 1.6)

  • Suporte para múltiplos ficheiros bash: "capture*-1*"

  • Script para eliminar cliente ou AP da BD (mac). - (Whitelist)

  • Whitelist para não adicionar mac à BD (ficheiro whitelist.txt, adicionar macs, criar BD)

  • Substituir se houver nova informação (old ESSID='', New ESSID='WIFI')

  • Tabela Handshakes e PMKID

  • Formato hash hashcat 22000

  • Tabela de ficheiros, se o ficheiro existir, saltar (caminho completo)


Este programa é uma continuação de parte de: https://github.com/T1GR3S/airo-heat

Autor

  • Raúl Calvo Laorden (@r4ulcl)

Apoie este projeto

Buymeacoffee

Licença

GNU General Public License v3.0

Baixar ferramenta
  • Carrega arquivos com pasta ou arquivo de captura. Esta opção suporta o uso de curingas (*) para selecionar múltiplos arquivos ou pastas.
  • Versão Docker no Docker Hub para evitar dependências.
  • Modo ofuscado para demonstrações e conferências.
  • Possibilidade de adicionar dados GPS estáticos.
  • Informa o status de Proteção de Quadros de Gerenciamento (802.11w / PMF) de cada AP: as flags mfpc (capable) e mfpr (required) lidas bitwise das capacidades RSN, e o estado pmf derivado (Required, Capable quando é opcional ou Disabled), armazenados na tabela AP.
  • Detecta suporte a roaming rápido e gerenciamento anunciado por cada AP: 802.11r Fast BSS Transition (ft_80211r, com o mobility_domain_id), 802.11k Radio Resource Measurement / relatórios de vizinhança (rrm_80211k) e 802.11v BSS Transition Management (bss_transition_80211v).
  • Sinaliza pontos de acesso que anunciam um conjunto Multiple BSSID (mbssid, com o max_bssid_indicator) e que enviam anúncios de troca de canal (Channel Switch Announcements) (csa, com o canal alvo csa_new_channel).
  • Revela SSIDs ocultos a partir de probe responses e (re)association requests, preenchendo o nome do AP mesmo quando o beacon o esconde (ssid_revealed marca nomes aprendidos dessa forma).
  • akm_suites
    pairwise_ciphers
    group_cipher
    enterprise
    pmf
    rsn_capabilities
    rsn_capabilities_text
    0x00c0
    MFPR, MFPC
    wlan_ssid
    wps_version
    wps_device_name
    wps_model_name
    wps_model_number
    wps_config_methods
    wps_config_methods_text
    0x218c
    Label, PushButton, Keypad, Virtual Display PIN
    wps_config_methods_keypad
    ft_80211r
    mobility_domain_id
    rrm_80211k
    bss_transition_80211v
    mbssid
    max_bssid_indicator
    csa
    csa_new_channel
    ssid_revealed
  • Client: Esta tabela armazena informações sobre os clientes sem fio detetados durante as capturas, incluindo o endereço MAC (mac), nome da rede (ssid), fabricante (manuf), tipo de dispositivo (type), total de pacotes recebidos deste cliente (packetsTotal) e uma flag randomized ativada quando o MAC é administrado localmente (um endereço aleatório/privado). A tabela utiliza o endereço MAC como chave primária.

  • SeenClient: Esta tabela armazena informações sobre os clientes vistos durante as capturas, incluindo o endereço MAC (mac), hora da deteção (time), ferramenta utilizada para capturar os dados (tool), intensidade do sinal (signal_rssi), latitude (lat), longitude (lon), altitude (alt). A tabela utiliza a combinação de endereço MAC e hora de deteção como chave primária e tem uma relação de chave estrangeira com a tabela Client.

  • Connected: Esta tabela armazena informações sobre os clientes sem fio que estão ligados a um ponto de acesso, incluindo o endereço MAC do ponto de acesso (bssid) e do cliente (mac). A tabela utiliza uma combinação dos endereços MAC do ponto de acesso e do cliente como chave primária e tem relações de chave estrangeira com as tabelas AP e Client.

  • SeenAp: Esta tabela armazena informações sobre os pontos de acesso vistos durante as capturas, incluindo o endereço MAC (bssid), hora da deteção (time), ferramenta utilizada para capturar os dados (tool), intensidade do sinal (signal_rssi), latitude (lat), longitude (lon), altitude (alt) e timestamp (bsstimestamp). A tabela utiliza a combinação do endereço MAC do ponto de acesso e da hora de deteção como chave primária e tem uma relação de chave estrangeira com a tabela AP.

  • Probe: Esta tabela armazena informações sobre os pedidos de sonda enviados pelos clientes, incluindo o endereço MAC do cliente (mac), nome da rede (ssid) e hora da sonda (time). Também contém a impressão digital do pedido de sonda, que é um atributo 1:1 da sonda e, portanto, reside na linha Probe: a lista ordenada de elementos de informação (tags) que o cliente incluiu no pedido (ie_order) e o seu hash (fingerprint), característico de um modelo de dispositivo/SO, mais o ficheiro de captura de origem (file). As colunas de impressão digital são preenchidas para pedidos de sonda analisados a partir de ficheiros .cap (o ssid está vazio para pedidos de sonda de difusão); as sondas analisadas a partir de CSV/netxml deixam-nas vazias. A tabela utiliza uma combinação do endereço MAC do cliente e do nome da rede como chave primária e tem uma relação de chave estrangeira com a tabela Client.

  • Handshake: Esta tabela armazena informações sobre os handshakes capturados durante as capturas, incluindo o endereço MAC do ponto de acesso (bssid), do cliente (mac), o nome do ficheiro (file) e o formato hashcat (hashcat). A tabela utiliza uma combinação dos endereços MAC do ponto de acesso e do cliente, e do nome do ficheiro como chave primária, e tem relações de chave estrangeira com as tabelas AP e Client.

  • Identity: Esta tabela representa identidades e métodos EAP (Extensible Authentication Protocol) utilizados na autenticação sem fio. Os campos bssid e mac são chaves estrangeiras que referenciam as tabelas AP e Client, respetivamente. Outros campos incluem a identity e o method utilizados no processo de autenticação, e o realm (a parte após @ numa identidade user@realm, útil para as identidades externas anónimas vistas em PEAP/TTLS).

  • Certificate: Esta tabela armazena os certificados X.509 trocados em autenticações empresariais (WPA-Enterprise / 802.1X) EAP-TLS/PEAP/TTLS, tanto o certificado do servidor enviado pelo ponto de acesso como o certificado do cliente enviado pelo supplicant. Cada linha está associada ao ponto de acesso através do campo bssid (uma chave estrangeira que referencia a tabela AP) e ao cliente através do campo mac; o campo cert_type indica de quem é o certificado (AP, Client ou Unknown quando a direção EAP não pode ser determinada). Também guarda o ficheiro de captura de origem (file). A tabela armazena todos os campos relevantes do certificado: a posição na cadeia de certificados (cert_index), version, serial_number, signature_algorithm, nomes distintos completos de issuer e subject, datas de validade (not_before, not_after), os componentes de subject (subject_cn, subject_o, subject_ou) e issuer (issuer_cn, issuer_o, issuer_ou) discriminados, o public_key_algorithm, public_key_size, public_key_curve (EC) e public_key_exponent (RSA), e as impressões digitais sha1_fingerprint e sha256_fingerprint. Também extrai as extensões X.509 mais relevantes: Subject Alternative Names (subject_alt_names), key_usage, ext_key_usage, Basic Constraints (is_ca, path_length), uma flag self_signed, os Authority e Subject Key Identifiers (authority_key_id, subject_key_id), URLs CRL e OCSP (crl_urls, ocsp_urls) e o tempo de vida do certificado em dias (validity_days). A tabela utiliza a combinação de bssid e sha256_fingerprint como chave primária.

  • EAPMD5: Esta tabela armazena pares desafio/resposta EAP-MD5 capturados de autenticações empresariais. O EAP-MD5 transmite um desafio estilo CHAP e uma resposta MD5 em texto claro (fora de qualquer túnel TLS), pelo que o par pode ser intercetado e quebrado offline (hashcat -m 4800 ou eapmd5pass) para recuperar a palavra-passe. Cada linha regista as chaves estrangeiras bssid (AP) e mac (cliente), a identity, o identificador EAP (eap_id) que liga o pedido e a resposta, o challenge, a response, uma linha hashcat pronta a usar e o ficheiro de origem (file). Utiliza a combinação de bssid, mac e eap_id como chave primária.

  • HandshakeAP: Esta view seleciona o BSSID do ponto de acesso, o SSID do ponto de acesso, o endereço MAC do dispositivo cliente que realizou o handshake, o fabricante do dispositivo cliente, o ficheiro que contém o handshake e a saída hashcat. Junta as tabelas Handshake, AP e Client pelos BSSID e endereço MAC, respetivamente, e ordena os resultados por BSSID.

  • HandshakeAPUnique: Esta view seleciona o BSSID do ponto de acesso, o SSID do ponto de acesso, o endereço MAC do dispositivo cliente que realizou o handshake, o fabricante do dispositivo cliente, o ficheiro que contém o handshake e a saída hashcat. Junta as tabelas Handshake, AP e Client pelos BSSID e endereço MAC, respetivamente, e filtra os resultados para excluir handshakes que não foram quebrados pelo hashcat. Os resultados são agrupados por SSID e ordenados por BSSID.

  • IdentityAP: Esta view seleciona o BSSID do ponto de acesso, o SSID do ponto de acesso, o endereço MAC do dispositivo cliente que realizou o pedido de identidade, o fabricante do dispositivo cliente, a string de identidade e o método utilizado para o pedido de identidade. Junta as tabelas Identity, AP e Client pelos BSSID e endereço MAC, respetivamente, e ordena os resultados por BSSID.

  • CertificateAP: Esta view seleciona o BSSID e SSID do ponto de acesso juntamente com o tipo de certificado (cert_type), os nomes comuns do subject e issuer, o subject e issuer completos, as datas de validade, o algoritmo e tamanho da chave pública, a flag self_signed e a sha256_fingerprint. Junta as tabelas Certificate e AP pelo BSSID e ordena os resultados por BSSID.

  • SecurityAP: Esta view seleciona o BSSID e SSID do ponto de acesso juntamente com a wpa_version, os akm_suites, as pairwise_ciphers, a group_cipher, a flag enterprise e as colunas de proteção de quadros de gestão (mfpc, mfpr). Lê estas colunas diretamente da tabela AP (limitada aos APs que têm detalhes de segurança) e ordena os resultados por BSSID.

  • CapabilitiesAP: Esta view seleciona o BSSID e SSID do ponto de acesso juntamente com as suas capacidades de gestão 802.11 (ft_80211r, mobility_domain_id, rrm_80211k, bss_transition_80211v, mbssid, max_bssid_indicator, csa, csa_new_channel). Lê estas colunas diretamente da tabela AP, limitada aos APs que anunciam pelo menos uma delas, e ordena os resultados por BSSID.

  • SummaryAP: Esta view resume os pontos de acesso agrupados por SSID e encriptação, de modo que o mesmo SSID com definições de segurança diferentes aparece como linhas separadas (útil para detetar configurações mistas ou rebaixadas). Para cada grupo seleciona o SSID, a contagem de pontos de acesso distintos (APs count), o tipo de encriptação, a versão WPA (wpa_version) e o estado de proteção de quadros de gestão (pmf), todos os fabricantes vistos no grupo (manuf, separados por vírgulas), se o SSID está oculto e a contagem de clientes ligados distintos (Clients count). Exclui APs sem encriptação registada e ordena os resultados pela contagem de APs em ordem decrescente.

  • Obter palavras-passe HTTP POST

  • Consultas DNS