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

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

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

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

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

Категории

Все категории
Loading categories
Politician — Современная библиотека для аудита WiFi на ESP32, использующая продвинутые техники 802.11. Захватывает рукопожатия WPA/WPA2/WPA3 через извлечение PMKID и инъекцию CSA (в обход PMF). Собирает корпоративные учётные данные, поддерживает двухдиапазонный режим (2.4 ГГц/5 ГГц на ESP32-C6), экспортирует в PCAPNG/Hashcat. Чистый C++ API с 9 примерами. | Kitploit
Инструменты/GitHubGitHub/0ldev/politician
Безопасность встроенных системВзлом паролейАудит Wi-FiБезопасность IoTСбор информацииФаззингБезопасность беспроводных сетейТестирование на ПроникновениеАппаратная Безопасность
GitHub0ldev/politician

Politician

9361351 месяц назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Современная библиотека для аудита WiFi на ESP32, использующая продвинутые техники 802.11. Захватывает рукопожатия WPA/WPA2/WPA3 через извлечение PMKID и инъекцию CSA (в обход PMF). Собирает корпоративные учётные данные, поддерживает двухдиапазонный режим (2.4 ГГц/5 ГГц на ESP32-C6), экспортирует в PCAPNG/Hashcat. Чистый C++ API с 9 примерами.

Репозиторий
Сайт
Поделиться

Politician

Продвинутая библиотека для аудита безопасности WiFi на микроконтроллерах ESP32

License: MIT PlatformIO

Politician — это встраиваемая библиотека на C++, предназначенная для аудита безопасности WiFi на платформах ESP32. Она предоставляет чистый, современный API для захвата рукопожатий WPA/WPA2/WPA3 и сбора корпоративных учётных данных с использованием продвинутых методов протокола 802.11.

Ключевые возможности

  • Захват PMKID: Извлечение PMKID из ответов ассоциации без отключения клиента
  • Инъекция CSA (Channel Switch Announcement): Современная альтернатива атакам деаутентификации
  • Сбор корпоративных учётных данных: Захват EAP-Identity фреймов из сетей 802.1X
  • Обнаружение скрытых сетей: Автоматическое раскрытие SSID через перехват probe-ответов
  • Идентификация устройств: Пассивное распознавание более 150 брендов потребительских IoT/умного дома по MAC OUI и сигнатурам IE без подключения к сети
  • Стимуляция клиентов: Пробуждение спящих мобильных устройств с помощью QoS Null Data фреймов
  • Обнаружение WPA3/PMF: Интеллектуальная фильтрация для пропуска сетей с включёнными Protected Management Frames
  • Форматы экспорта: Файлы захвата PCAPNG; опциональный текстовый экспорт HC22000 для прямой загрузки в Hashcat

Архитектура

Библиотека построена на неблокирующем конечном автомате, который управляет переключением каналов, выбором целей, выполнением атак и обработкой захваченных данных. Все операции находятся в пространстве имён politician.

Основные компоненты

КомпонентОписание
PoliticianОсновной класс движка, управляющий жизненным циклом аудита
PoliticianFormatСериализация захвата в PCAPNG; вспомогательный текстовый экспорт HC22000
PoliticianStorageОпциональное логирование на SD-карту и сохранение в NVS
PoliticianStressОтдельная доставка DoS/нарушающих полезных нагрузок (опционально)
PoliticianTypesОсновные структуры данных и перечисления

Режимы атак

Традиционные атаки деаутентификации неэффективны против современных WPA3 и WPA2 с Protected Management Frames (PMF/802.11w). Politician реализует современные альтернативы:

РежимОписаниеЭффективность
ATTACK_PMKIDИзвлечение PMKID через фиктивную аутентификациюРаботает со всеми WPA2/WPA3-Transition
ATTACK_CSAИнъекция Channel Switch AnnouncementОбходит защиту PMF
ATTACK_DEAUTHУстаревшая деаутентификация (Reason 7)Только WPA2 без PMF
ATTACK_STIMULATEQoS Null Data для спящих клиентовНеинтрузивное пробуждение клиентов
ATTACK_PASSIVEРежим только прослушиванияНулевая передача
ATTACK_ALLВключить все активные векторы атакМаксимальная агрессия

Установка

PlatformIO

Добавьте в ваш platformio.ini:```ini [env:myboard] platform = espressif32 board = esp32dev framework = arduino lib_deps = Politician

Или клонируйте прямо в директорию `lib/` вашего проекта:```bash
cd lib/
git clone https://github.com/0ldev/Politician.git

Arduino IDE

  1. Загрузите библиотеку как ZIP-файл
  2. В Arduino IDE: Sketch → Include Library → Add .ZIP Library
  3. Выберите загруженный ZIP-файл

ESP-IDF

Клонируйте репозиторий в каталог components/ вашего проекта:```bash cd components/ git clone https://github.com/0ldev/Politician.git

Создайте дескриптор компонента `components/Politician/CMakeLists.txt`:```cmake
idf_component_register(
    SRCS
        "src/Politician.cpp"
        "src/PoliticianFormat.cpp"
        "src/PoliticianStress.cpp"
    INCLUDE_DIRS "src"
)

PoliticianStorage.h недоступен в ESP-IDF — он выдает #error во время компиляции, если включен вне Arduino. Используйте API VFS и nvs_flash из ESP-IDF напрямую для любого необходимого сохранения данных.

Быстрый старт

Захват базового рукопожатия```cpp

#include <Arduino.h> #include <SD.h> #include <Politician.h> #include <PoliticianStorage.h>

using namespace politician; using namespace politician::storage;

Politician engine;

void onHandshake(const HandshakeRecord &rec) { Serial.printf("\n[✓] Captured: %s ch%d rssi=%d type=%d\n", rec.ssid, rec.channel, rec.rssi, rec.type); // Primary output: PCAPNG — open in Wireshark or convert with hcxpcapngtool PcapngFileLogger::append(SD, "/captures.pcapng", rec); }

void setup() { Serial.begin(115200); SD.begin();

engine.setEapolCallback(onHandshake);

Config cfg;
engine.begin(cfg);
engine.setAttackMask(ATTACK_ALL);

}

void loop() { engine.tick(); }

### Быстрый старт с голым ESP-IDF

В ESP-IDF `begin()` внутри вызывает `esp_wifi_init()`, но ожидает, что NVS и цикл событий по умолчанию уже инициализированы. Вызовите их перед `begin()`, затем управляйте движком из задачи FreeRTOS.```cpp
#include <nvs_flash.h>
#include <esp_event.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <Politician.h>

using namespace politician;

static Politician engine;

static void on_handshake(const HandshakeRecord &rec) {
    printf("[+] Captured: %s  ch%d  rssi=%d  type=%d\n",
           rec.ssid, rec.channel, rec.rssi, rec.type);
}

static void audit_task(void *) {
    Config cfg;
    engine.setEapolCallback(on_handshake);

    if (engine.begin(cfg) != OK) {
        printf("[!] WiFi init failed\n");
        vTaskDelete(nullptr);
        return;
    }

    engine.setAttackMask(ATTACK_ALL);

    for (;;) {
        engine.tick();
        vTaskDelay(pdMS_TO_TICKS(1));
    }
}

extern "C" void app_main(void) {
    nvs_flash_init();
    esp_event_loop_create_default();

    xTaskCreate(audit_task, "politician", 8192, nullptr, 5, nullptr);
}

API Reference

Politician Class

Основной класс движка. Необходимо вызывать tick() в вашем главном цикле.

Инициализация```cpp

Error begin(const Config& cfg = Config());

Инициализация движка. Возвращает `OK` в случае успеха или код `Error` при ошибке. Должен быть вызван перед любым другим методом.
Скачать инструмент