IoTHackBot

Hardware & Industrial активный

IoT-пентест с Claude Skills: ONVIF-сканер, анализ прошивок, JTAG/SWD-проба, UART/Telnet-взаимодействие и Android-анализ.


Установка
pip install colorama pyserial pexpect requests
sudo pacman -S nmap e2fsprogs f2fs-tools python python-pip inetutils
git clone https://github.com/BrownFineSecurity/iothackbot.git
cd iothackbot
export PATH="$PATH:$(pwd)/bin"
echo 'export PATH="$PATH:/path/to/iothackbot/bin"' >> ~/.bashrc
показать оригинал переведено ИИ

IoTHackBot

Инструментарий с открытым исходным кодом для тестирования безопасности IoT с интегрированными навыками Claude Code для автоматического обнаружения уязвимостей.

Обзор

IoTHackBot — это набор специализированных инструментов и навыков Claude Code, предназначенных для тестирования безопасности IoT-устройств, IP-камер и встраиваемых систем. Он предоставляет как инструменты командной строки, так и рабочие процессы с поддержкой ИИ для комплексной оценки безопасности IoT.

Включенные инструменты

Сетевое обнаружение и разведка

  • wsdiscovery — сканер протокола WS-Discovery для обнаружения ONVIF-камер и IoT-устройств
  • iotnet — анализатор сетевого трафика IoT для обнаружения протоколов и уязвимостей
  • netflows — экстрактор сетевых потоков с разрешением DNS-имён хостов из pcap-файлов
  • nmap (навык) — профессиональная сетевая разведка с двуфазной стратегией сканирования

Тестирование конкретных устройств

  • onvifscan — сканер безопасности ONVIF-устройств
    • Тестирование обхода аутентификации
    • Перебор учётных данных

Анализ прошивок и файлов

  • chipsec (навык) — статический анализ прошивок UEFI/BIOS
    • Обнаружение известных руткитов (LoJax, ThinkPwn, HackingTeam)
    • Генерация инвентаря EFI-исполняемых файлов с хешами
    • Декодирование структуры прошивки и извлечение NVRAM
  • ffind — продвинутый поиск файлов с определением типа и извлечением файловых систем
    • Идентификация типов артефактных файлов
    • Извлечение файловых систем ext2/3/4 и F2FS
    • Разработан для анализа прошивок

Анализ Android

  • apktool (навык) — распаковка APK и извлечение ресурсов
    • Декодирование AndroidManifest.xml
    • Извлечение ресурсов, макетов, строк
    • Дизассемблирование в smali-код
  • jadx (навык) — декомпиляция APK
    • Преобразование DEX в читаемый Java-источник
    • Поиск захардкоженных учётных данных
    • Анализ логики приложения

Аппаратный доступ и консоль

  • jtagprobe — зонд отладочного интерфейса SWD/JTAG через SEGGER J-Link
    • Классифицирует цели как OPEN / LOCKED / DEAD
    • Сканирует SWD, затем JTAG на нескольких тактовых частотах
    • Декодирует DPIDR / IDCODE к производителю (STM32, NXP, Nordic, TI, ...)
    • Остановка + чтение памяти для подтверждения истинного отладочного контроля
    • Stdout JLinkExe на каждой попытке сохраняется для доказательств пентеста
  • picocom (навык) — взаимодействие с UART-консолью IoT для аппаратного тестирования
    • Манипуляция загрузчиком
    • Перечисление оболочек
    • Извлечение прошивки
    • Включает Python-скрипт-помощник для автоматизированного взаимодействия
  • telnetshell (навык) — взаимодействие с telnet-оболочкой IoT
    • Тестирование неаутентифицированной оболочки
    • Перечисление устройств
    • Обработка команд BusyBox
    • Включает Python-скрипт-помощник и готовые скрипты перечисления

Установка

Предварительные требования

# Python dependencies
pip install colorama pyserial pexpect requests

# System dependencies (Arch Linux)
sudo pacman -S nmap e2fsprogs f2fs-tools python python-pip inetutils

# For other distributions, install equivalent packages

Настройка

  1. Клонируйте репозиторий:
git clone https://github.com/BrownFineSecurity/iothackbot.git
cd iothackbot
  1. Добавьте каталог bin в PATH:
export PATH="$PATH:$(pwd)/bin"
  1. Для постоянной настройки добавьте в конфигурацию оболочки:
echo 'export PATH="$PATH:/path/to/iothackbot/bin"' >> ~/.bashrc

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

Примеры быстрого старта

Обнаружение ONVIF-устройств

wsdiscovery 192.168.1.0/24

Тестирование безопасности ONVIF-устройства

onvifscan auth http://192.168.1.100
onvifscan brute http://192.168.1.100

Анализ сетевого трафика

# Analyze PCAP file for IoT protocols
iotnet capture.pcap

# Live capture
sudo iotnet -i eth0 -d 60

Извлечение сетевых потоков

# Extract flows from device with DNS resolution
netflows capture.pcap --source-ip 192.168.1.100

# Get just hostname:port list
netflows capture.pcap -s 192.168.1.100 --format quiet

Анализ прошивки

# Identify file types
ffind firmware.bin

# Extract filesystems (requires sudo)
sudo ffind firmware.bin -e

Плагин для Claude Code

IoTHackBot доступен как плагин для Claude Code, предоставляющий тестирование безопасности с поддержкой ИИ и специализированными навыками.

Доступные навыки

Навык Описание
chipsec Статический анализ прошивок UEFI/BIOS — обнаружение вредоносного ПО, инвентаризация EFI
apktool Распаковка Android APK и извлечение ресурсов
jadx Декомпиляция Android APK в Java-источник
ffind Анализ файлов прошивки с извлечением файловых систем
iotnet Анализ сетевого трафика IoT
jtagprobe Зонд отладочного интерфейса SWD/JTAG через J-Link
netflows Извлечение сетевых потоков с разрешением DNS-имён хостов
nmap Профессиональная сетевая разведка
onvifscan Тестирование безопасности ONVIF-устройств
picocom Взаимодействие с UART-консолью
telnetshell Перечисление telnet-оболочек
wsdiscovery Обнаружение устройств через WS-Discovery

Установка плагина

Вариант 1: Использовать непосредственно во время разработки

claude --plugin-dir /path/to/iothackbot

Вариант 2: Установить как локальный маркетплейс (постоянно)

Добавьте в ~/.claude/settings.json:

{
  "extraKnownMarketplaces": {
    "iothackbot-local": {
      "source": {
        "source": "directory",
        "path": "/path/to/iothackbot"
      }
    }
  },
  "enabledPlugins": {
    "iothackbot": true
  }
}

Затем перезапустите Claude Code, чтобы настройки вступили в силу.

Вариант 3: Настройка для конкретного проекта

Для использования в конкретном проекте навыки также доступны через симлинк .claude/skills/ для обратной совместимости.

Архитектура инструментов

Все инструменты следуют единому дизайну:

  • CLI-слой (tools/iothackbot/*.py) — интерфейс командной строки с argparse
  • Основной слой (tools/iothackbot/core/*_core.py) — базовая функциональность, реализующая ToolInterface
  • Бинарные файлы (bin/*) — исполняемые скрипты-обёртки

Это разделение обеспечивает: - Простую автоматизацию и цепочки вызовов - Единообразные форматы вывода (текст, JSON, тихий) - Стандартизированную обработку ошибок - Композицию инструментов и конвейеры

Конфигурация

Правила обнаружения IoT

config/iot/detection_rules.json — пользовательские правила обнаружения IoT-протоколов для iotnet

Словари

  • wordlists/onvif-usernames.txt — стандартные имена пользователей для ONVIF-устройств
  • wordlists/onvif-passwords.txt — стандартные пароли для ONVIF-устройств

Разработка

Добавление новых инструментов

См. TOOL_DEVELOPMENT_GUIDE.md для подробной информации о: - Стандартах структуры проекта - Шаблонах разработки - Рекомендациях по форматированию вывода - Тестировании и интеграции

Ключевые интерфейсы

  • ToolInterface — базовый интерфейс для всех инструментов
  • ToolConfig — стандартизированный объект конфигурации
  • ToolResult — стандартизированный объект результата с полями success, data, errors и metadata

Форматы вывода

Все инструменты поддерживают несколько форматов вывода:

# Human-readable text with colors (default)
onvifscan auth 192.168.1.100

# Machine-readable JSON
onvifscan auth 192.168.1.100 --format json

# Minimal output
onvifscan auth 192.168.1.100 --format quiet

Безопасность и этика

ВАЖНО: Эти инструменты предназначены только для авторизованного тестирования безопасности.

  • Тестируйте только те устройства, которыми вы владеете или для которых у вас есть явное разрешение
  • Уважайте ограничения области и правила الاشتباك
  • Будьте в курсе влияния на производственные системы
  • Используйте подходящие тайминги для предотвращения отказа в обслуживании
  • Документируйте всю тестовую активность
  • Следуйте практикам ответственного раскрытия уязвимостей

Участие в разработке

Вклады приветствуются! Пожалуйста, убедитесь, что:

  • Новые инструменты следуют архитектурным шаблонам в TOOL_DEVELOPMENT_GUIDE.md
  • Все инструменты поддерживают текстовые, JSON и тихие форматы вывода
  • Код включает правильную обработку ошибок
  • Документация ясна и исчерпывающая

Лицензия

MIT License — подробности см. в файле LICENSE

Отказ от ответственности

Этот набор инструментов предоставляется только в образовательных целях и для авторизованного тестирования безопасности. Пользователи несут ответственность за обеспечение наличия соответствующего разрешения перед тестированием любых систем. Авторы не несут ответственности за неправильное использование или ущерб, вызванный этим набором инструментов.

Войдите, чтобы оставить комментарий