Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
wifi_db — Скрипт для парсинга захватов Aircrack-ng в базу данных SQLite и извлечения полезной информации, такой как handshakes, MGT-идентичности, интересные связи между AP, клиентами и их зондами (Probes), данные WPS, а также общий обзор всех обнаруженных AP. | Kitploit
Инструменты/GitHubGitHub/r4ulcl/wifi_db
Взлом паролейАудит Wi-FiФорензикаСбор информацииБезопасность беспроводных сетей
GitHubr4ulcl/wifi_db

wifi_db

Скрипт для парсинга захватов Aircrack-ng в базу данных SQLite и извлечения полезной информации, такой как handshakes, MGT-идентичности, интересные связи между AP, клиентами и их зондами (Probes), данные WPS, а также общий обзор всех обнаруженных AP.

Репозиторий
1381162 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

wifi_db

Последний релиз Лицензия Последний коммит (master) Последний коммит (dev) Основной язык

Сборка Docker-образа Сборка Docker-образа (dev) CodeFactor Строки кода Размер Docker-образа

Звёзды Форки Открытые проблемы Участники Загрузки Docker

wifi_db

Скрипт для разбора захватов Aircrack-ng в базу данных SQLite и извлечения полезной информации, такой как рукопожатия (в формате 22000 hashcat), корпоративные (MGT) идентификаторы и пары вызов/ответ EAP-MD5, сертификаты X.509 и конфигурация безопасности RSN/WPA каждой сети, возможности 802.11r/k/v, Multiple BSSID и Channel Switch, объявляемые точками доступа, интересные взаимосвязи между AP, клиентами и их пробами, информация WPS, а также общий обзор всех видимых AP.

Оглавление

  • Возможности
  • Установка
  • Использование
  • База данных
  • Представления
  • TODO
  • Лицензия

Возможности

  • Показывает, скрыта ли сеть (cloaked), даже если у вас есть ESSID.
  • Отображает подробную таблицу подключённых клиентов и их соответствующих точек доступа.
  • Определяет клиентские пробы, подключённые к AP, предоставляя информацию о потенциальных рисках безопасности при использовании ложных точек доступа (Rogue AP).
  • Извлекает рукопожатия для использования с hashcat, облегчая подбор паролей.
  • Отображает информацию об идентификаторах из корпоративных сетей, включая метод EAP, используемый для аутентификации.
  • Извлекает сертификаты X.509, которыми обмениваются при корпоративной аутентификации (802.1X) EAP-TLS/PEAP/TTLS (как сертификаты AP/сервера, так и клиента), сохраняя все поля сертификата для каждого BSSID точки доступа в таблице Certificate.
  • Разбирает безопасность RSN/WPA каждой AP (версия WPA, наборы AKM, парные/групповые шифры, корпоративный флаг и защита управляющих кадров) из маячков в таблицу AP.
  • Захватывает пары вызов/ответ EAP-MD5 для офлайн-взлома (hashcat -m 4800) в таблицу EAPMD5.
  • Обнаруживает рандомизированные (локально администрируемые) MAC-адреса клиентов и идентифицирует клиентов по информационным элементам их пробных запросов (сохраняется в таблице Probe).
  • Генерирует сводку (Представление SummaryAP) точек доступа, сгруппированных по ESSID и шифрованию, показывающую количество AP и клиентов, версию WPA и состояние PMF, а также всех производителей в группе, чтобы дать быстрый обзор состояния безопасности близлежащих сетей (и выявить SSID со смешанной/пониженной безопасностью).
  • Записывает конфигурацию Wi-Fi Protected Setup (WPS) каждой AP непосредственно в её строке AP.

Установка

Из DockerHub (РЕКОМЕНДУЕТСЯ)``` bash

docker pull r4ulcl/wifi_db

root@kitploit:~
### Ручная установка

#### Системы на базе Debian (Ubuntu, Kali, Parrot и т.д.)

Зависимости:

- 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 ..

\n\nУстановка (с использованием виртуального окружения)\n``` 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:~
> Виртуальная среда должна быть активирована (`source wifi_db_env/bin/activate`) в каждом новом терминале перед запуском `wifi_db.py`. Используйте `deactivate` для выхода из неё.

#### Arch

Зависимости:

- 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 ..

Установка (с использованием виртуального окружения)``` 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:~
> Виртуальная среда venv должна быть активирована (`source wifi_db_env/bin/activate`) в каждом новом
> shell перед запуском `wifi_db.py`. Используйте `deactivate` для выхода из неё.



## Использование

### Пример использования в [WiFiChallenge Lab](https://lab.wifichallenge.com/)

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

### Сканирование с помощью airodump-ng

Запустите airodump-ng, сохраняя вывод с помощью -w:``` bash
sudo airodump-ng wlan0mon -w scan --manufacturer --wps --gpsd

Создайте базу данных SQLite с помощью 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`: Сохранить вывод в файл db.SQLITE в текущей папке
- `-v $CAPTURESFOLDER:/captures/`: Чтобы поделиться папкой с захватами с Docker

![использование docker](https://assets.kitploit.com/production/public/readmes/5785/7f0cc15851782e919c9d3d59c3135dab4c0a428ba7a51c7110bc75ff4c02520c.png)



### Создание базы данных SQLite с помощью ручной установки

После создания захвата мы можем создать базу данных, импортировав захват. Для этого укажите имя захвата без формата. Не забудьте сначала активировать виртуальную среду (`source wifi_db_env/bin/activate`).``` bash
python3 wifi_db.py scan-01

В случае, если у нас есть несколько захватов, мы можем загрузить папку, в которой они находятся напрямую. А с помощью -d мы можем переименовать выходную базу данных.``` bash python3 wifi_db.py -d database.sqlite scan-folder

root@kitploit:~
![использование](https://assets.kitploit.com/production/public/readmes/5785/bac089e7e256d3a1522e1d2b1424586274fd3d6c1787e77b14cc95c4b5588ca9.png)


### Открытие базы данных

Базу данных можно открыть с помощью:
- [sqlitebrowser](https://sqlitebrowser.org/)


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

Ниже приведен пример таблицы ProbeClientsConnected.

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


### Аргументы``` 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

База данных

wifi_db содержит несколько таблиц для хранения информации, связанной с трафиком беспроводных сетей, захваченным airodump-ng. Таблицы следующие:

  • AP: В этой таблице хранится информация о точках доступа (AP), обнаруженных во время захвата, включая их MAC-адрес (bssid), имя сети (ssid), скрыта ли сеть (cloaked), производитель (manuf), канал (channel), частота (frequency), оператор (carrier), тип шифрования (encryption) и общее количество пакетов, полученных от этой точки доступа (packetsTotal). Также содержатся флаги поддержки/требования защиты управляющих кадров (mfpc, mfpr) и данные безопасности RSN/WPA, извлеченные из beacon-пакетов, которые являются атрибутами точки доступа 1:1 и поэтому хранятся в строке самой AP: negotiated wpa_version (WPA2, WPA3, WPA2/WPA3 transition, OWE), наборы аутентификации и управления ключами (, например, PSK, SAE, 802.1X), парные () и групповой () шифры (CCMP-128, GCMP-256, TKIP и т.д.), флаг (устанавливается при наличии AKM 802.1X), состояние защиты управляющих кадров (: Required, Capable или Disabled), необработанное битовое поле и его человекочитаемая расшифровка (, например, → ). Аналогично хранится конфигурация Wi-Fi Protected Setup (WPS) — еще один атрибут AP 1:1: объявленное имя сети (), версия WPS (), имя устройства (), название модели (), номер модели (), методы конфигурации () вместе с их человекочитаемой расшифровкой (, например, → ) и методы конфигурации с клавиатуры (). Наконец, хранятся возможности управления 802.11, извлеченные из beacon-пакетов и probe-ответов: флаг быстрого перехода BSS 802.11r () и его , флаг измерения радиоресурсов 802.11k (), флаг управления переходом BSS 802.11v (), реклама множественных BSSID () и его , флаг объявления смены канала () и его целевой канал (), а также (устанавливается, если имя сети было восстановлено из probe-ответа / запроса (re)association, а не из beacon-пакета). В таблице MAC-адрес используется в качестве первичного ключа.

Представления

  • ProbeClients: Это представление выбирает MAC-адрес probe, производителя и тип клиентского устройства, общее количество пакетов, переданных клиентом, и SSID probe. Оно объединяет таблицы Probe и Client по MAC-адресу и сортирует результаты по SSID.

  • ConnectedAP: Это представление выбирает BSSID подключенной точки доступа, SSID точки доступа, MAC-адрес подключенного клиентского устройства и производителя клиентского устройства. Оно объединяет таблицы Connected, AP и Client по BSSID и MAC-адресу соответственно и сортирует результаты по BSSID.

  • ProbeClientsConnected: Это представление выбирает BSSID и SSID подключенной точки доступа, MAC-адрес probe, производителя и тип клиентского устройства, общее количество пакетов, переданных клиентом, и SSID probe. Оно объединяет таблицы Probe, Client и ConnectedAP по MAC-адресу probe и фильтрует результаты, исключая probe, подключенные к тому же SSID, который они прощупывают. Результаты сортируются по SSID probe.

TODO

  • Aircrack-ng

  • Всё в одном файле (и по отдельности)

  • Kismet

  • Wigle

  • установка

  • парсинг всех файлов в папке -f --folder

  • Исправление расширенных ошибок, тильд и т.д. (исправлено в aircrack-ng 1.6)

  • Поддержка множественных файлов в bash: "capture*-1*"

  • Скрипт для удаления клиента или точки доступа из БД (mac). - (Белый список)

  • Белый список для запрета добавления mac в БД (файл whitelist.txt, добавьте mac, создайте БД)

  • Перезапись, если появляется новая информация (старый ESSID='', новый ESSID='WIFI')

  • Таблица рукопожатий и PMKID

  • Формат хэша Hashcat 22000

  • Таблица файлов: если файл существует, пропустить (полный путь)


Эта программа является продолжением части: https://github.com/T1GR3S/airo-heat

Автор

  • Raúl Calvo Laorden (@r4ulcl)

Поддержите этот проект

Buymeacoffee

Лицензия

GNU General Public License v3.0

Скачать инструмент
  • Регистрирует все случаи, когда клиент или AP были замечены с данными GPS и меткой времени, позволяя проводить анализ на основе местоположения.
  • Загружает файлы с папкой или файлом захвата. Эта опция поддерживает использование подстановочных знаков (*) для выбора нескольких файлов или папок.
  • Docker-версия в Docker Hub для устранения проблем с зависимостями.
  • Обфусцированный режим для демонстраций и конференций.
  • Возможность добавления статических данных GPS.
  • Сообщает статус защиты управляющих кадров (802.11w / PMF) для каждой AP: флаги mfpc (поддерживается) и mfpr (требуется), считываемые побитово из возможностей RSN, а также производное состояние pmf (Required, Capable (необязательно) или Disabled), сохраняемые в таблице AP.
  • Определяет возможности быстрого роуминга и управления, объявляемые каждой AP: 802.11r Fast BSS Transition (ft_80211r с mobility_domain_id), 802.11k Radio Resource Measurement/отчёты о соседях (rrm_80211k) и 802.11v BSS Transition Management (bss_transition_80211v).
  • Отмечает точки доступа, которые объявляют набор Multiple BSSID (mbssid с max_bssid_indicator) и отправляют объявления о смене канала (csa с целевым каналом csa_new_channel).
  • Раскрывает скрытые (cloaked) SSID из ответов на зондирование и запросов (повторной) ассоциации, заполняя имя AP даже если маяк его скрывает (ssid_revealed отмечает имена, полученные таким образом).
  • 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: В этой таблице хранится информация о беспроводных клиентах, обнаруженных во время захвата, включая их MAC-адрес (mac), имя сети (ssid), производителя (manuf), тип устройства (type), общее количество пакетов, полученных от этого клиента (packetsTotal), и флаг randomized (устанавливается, если MAC адрес локально администрируемый — рандомизированный/частный адрес). В таблице MAC-адрес используется в качестве первичного ключа.

  • SeenClient: В этой таблице хранится информация о клиентах, наблюдаемых во время захватов, включая их MAC-адрес (mac), время обнаружения (time), инструмент, использованный для захвата данных (tool), уровень сигнала (signal_rssi), широту (lat), долготу (lon), высоту (alt). Таблица использует комбинацию MAC-адреса и времени обнаружения в качестве первичного ключа и имеет внешний ключ к таблице Client.

  • Connected: В этой таблице хранится информация о беспроводных клиентах, подключенных к точке доступа, включая MAC-адрес точки доступа (bssid) и клиента (mac). Таблица использует комбинацию MAC-адресов точки доступа и клиента в качестве первичного ключа и имеет внешние ключи к таблицам AP и Client.

  • SeenAp: В этой таблице хранится информация о точках доступа, наблюдаемых во время захватов, включая их MAC-адрес (bssid), время обнаружения (time), инструмент, использованный для захвата данных (tool), уровень сигнала (signal_rssi), широту (lat), долготу (lon), высоту (alt) и временную метку (bsstimestamp). Таблица использует комбинацию MAC-адреса точки доступа и времени обнаружения в качестве первичного ключа и имеет внешний ключ к таблице AP.

  • Probe: В этой таблице хранится информация о probe-запросах, отправленных клиентами, включая MAC-адрес клиента (mac), имя сети (ssid) и время отправки probe (time). Она также содержит отпечаток probe-запроса (fingerprint), который является атрибутом probe 1:1 и поэтому хранится в строке Probe: упорядоченный список информационных элементов (тегов), включенных клиентом в запрос (ie_order), и его хэш (fingerprint), характерный для модели устройства/ОС, а также исходный захваченный файл (file). Столбцы fingerprint заполняются для probe-запросов, извлеченных из файлов .cap (ssid пуст для широковещательных probe-запросов); probe из CSV/netxml оставляют их пустыми. Таблица использует комбинацию MAC-адреса клиента и имени сети в качестве первичного ключа и имеет внешний ключ к таблице Client.

  • Handshake: В этой таблице хранится информация о рукопожатиях, захваченных во время захватов, включая MAC-адрес точки доступа (bssid), клиента (mac), имя файла (file) и формат hashcat (hashcat). Таблица использует комбинацию MAC-адресов точки доступа и клиента, а также имени файла в качестве первичного ключа и имеет внешние ключи к таблицам AP и Client.

  • Identity: Эта таблица представляет идентификаторы и методы EAP (Extensible Authentication Protocol), используемые при беспроводной аутентификации. Поля bssid и mac являются внешними ключами, ссылающимися на таблицы AP и Client соответственно. Другие поля включают identity и method, используемые в процессе аутентификации, а также realm (часть после @ в идентификаторе вида user@realm, полезная для анонимных внешних идентификаторов, используемых в PEAP/TTLS).

  • Certificate: Эта таблица хранит сертификаты X.509, которыми обмениваются при аутентификации в корпоративных сетях (WPA-Enterprise / 802.1X) по протоколам EAP-TLS/PEAP/TTLS — как сертификат сервера, отправленный точкой доступа, так и сертификат клиента, отправленный суппликантом. Каждая строка связана с точкой доступа через поле bssid (внешний ключ к таблице AP) и с клиентом через поле mac; поле cert_type указывает, чей это сертификат (AP, Client или Unknown, когда направление EAP не может быть определено). Также сохраняется исходный захваченный файл (file). Таблица хранит все соответствующие поля сертификата: положение в цепочке сертификатов (cert_index), version, serial_number, signature_algorithm, полные отличительные имена issuer и subject, даты действия (not_before, not_after), разобранные компоненты subject (subject_cn, subject_o, subject_ou) и issuer (issuer_cn, issuer_o, issuer_ou), public_key_algorithm, public_key_size, public_key_curve (EC) и public_key_exponent (RSA), а также sha1_fingerprint и sha256_fingerprint. Также извлекаются наиболее релевантные расширения X.509: альтернативные имена subject (subject_alt_names), key_usage, ext_key_usage, базовые ограничения (is_ca, path_length), флаг self_signed, идентификаторы ключей authority и subject (authority_key_id, subject_key_id), URL-адреса CRL и OCSP (crl_urls, ocsp_urls), а также время жизни сертификата в днях (validity_days). Таблица использует комбинацию bssid и sha256_fingerprint в качестве первичного ключа.

  • EAPMD5: Эта таблица хранит пары вызов/ответ EAP-MD5, захваченные из корпоративных аутентификаций. EAP-MD5 передает вызов в стиле CHAP и ответ MD5 в открытом виде (вне какого-либо TLS-туннеля), поэтому пару можно перехватить и взломать офлайн (hashcat -m 4800 или eapmd5pass) для восстановления пароля. Каждая строка записывает внешние ключи bssid (AP) и mac (клиент), identity, идентификатор EAP (eap_id), связывающий запрос и ответ, challenge, response, готовую к использованию строку hashcat и исходный файл (file). Первичный ключ — комбинация bssid, mac и eap_id.

  • HandshakeAP: Это представление выбирает BSSID точки доступа, SSID точки доступа, MAC-адрес клиентского устройства, выполнившего рукопожатие, производителя клиентского устройства, файл, содержащий рукопожатие, и вывод hashcat. Оно объединяет таблицы Handshake, AP и Client по BSSID и MAC-адресу соответственно и сортирует результаты по BSSID.

  • HandshakeAPUnique: Это представление выбирает BSSID точки доступа, SSID точки доступа, MAC-адрес клиентского устройства, выполнившего рукопожатие, производителя клиентского устройства, файл, содержащий рукопожатие, и вывод hashcat. Оно объединяет таблицы Handshake, AP и Client по BSSID и MAC-адресу соответственно и фильтрует результаты, исключая рукопожатия, не взломанные с помощью hashcat. Результаты группируются по SSID и сортируются по BSSID.

  • IdentityAP: Это представление выбирает BSSID точки доступа, SSID точки доступа, MAC-адрес клиентского устройства, выполнившего запрос identity, производителя клиентского устройства, строку identity и метод, использованный для запроса identity. Оно объединяет таблицы Identity, AP и Client по BSSID и MAC-адресу соответственно и сортирует результаты по BSSID.

  • CertificateAP: Это представление выбирает BSSID и SSID точки доступа вместе с типом сертификата (cert_type), общими именами subject и issuer, полными subject и issuer, датами действия, алгоритмом и размером открытого ключа, флагом self_signed и sha256_fingerprint. Оно объединяет таблицы Certificate и AP по BSSID и сортирует результаты по BSSID.

  • SecurityAP: Это представление выбирает BSSID и SSID точки доступа вместе с wpa_version, akm_suites, pairwise_ciphers, group_cipher, флагом enterprise и столбцами защиты управляющих кадров (mfpc, mfpr). Оно считывает эти столбцы непосредственно из таблицы AP (ограничиваясь точками доступа, у которых есть данные безопасности) и сортирует результаты по BSSID.

  • CapabilitiesAP: Это представление выбирает BSSID и SSID точки доступа вместе с ее возможностями управления 802.11 (ft_80211r, mobility_domain_id, rrm_80211k, bss_transition_80211v, mbssid, max_bssid_indicator, csa, csa_new_channel). Оно считывает эти столбцы непосредственно из таблицы AP, ограничиваясь точками доступа, рекламирующими хотя бы одну из этих возможностей, и сортирует результаты по BSSID.

  • SummaryAP: Это представление суммирует точки доступа, сгруппированные по SSID и шифрованию, поэтому один и тот же SSID с разными настройками безопасности отображается в виде отдельных строк (удобно для поиска смешанных или пониженных конфигураций). Для каждой группы оно выбирает SSID, количество различных точек доступа (APs count), тип шифрования, версию WPA (wpa_version) и состояние защиты управляющих кадров (pmf), каждого из производителей, встречающихся в группе (manuf, через запятую), скрыт ли SSID, и количество различных подключенных клиентов (Clients count). Исключаются точки доступа без записанного шифрования, результаты сортируются по убыванию количества точек доступа.

  • Получение паролей из HTTP POST

  • DNS-запросы