We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Автоматизированное сканирование и эксплойт‑потенциал IoT‑устройств с помощью Masscan, Nmap NSE‑скриптов и Exploit‑DB в Termux

В практике инженера по безопасности часто возникает задача: оценить эксплойт‑потенциал IoT‑устройств, не переходя к эксплуатации. Такой подход помогает составлять план защиты, приоритизировать патчи и подтверждать корректность мер сегментации/обновлений. В этой статье я покажу, как использовать Termux как рабочую среду для инвентаризации и проверки поверхностной уязвимости устройств в вашей разрешенной локальной среде:

  • Masscan — быстрое обнаружение открытых портов (по списку целей);
  • Nmap и NSE‑скрипты — определение сервисов и проверка известных сценариев;
  • Exploit‑DB — поиск публичных эксплойтов и оценка их релевантности по версиям/сигнатурам (без запуска атак).

Важно: ниже приведены методы, которые применимы для своей инфраструктуры или при наличии явного письменного разрешения. Любые действия против чужих систем могут подпадать под ответственность по законодательству РФ.

Правовые и этические рамки

Автоматизированные сканирования и тем более эксплуатация уязвимостей относятся к категории действий, которые без согласия владельца могут быть квалифицированы как неправомерные. Поэтому придерживайтесь базовых принципов:

  • Только собственные устройства/сети или действуйте по письменному разрешению.
  • Сканируйте только локальный сегмент, где у вас есть право администрирования (например, ваша домашняя сеть).
  • Не выполняйте payload‑ы и не осуществляйте эксплуатацию, если цель — оценка риска и планирование защиты.

Если нужно безопасно работать с тестовым сегментом, можно создать локальную сеть для изоляции экспериментов через VPN/туннелирование только для сегментации, без обхода блокировок.

Подготовка Termux и среды

Начните с базовой подготовки. Ниже команды рассчитаны на современный Termux. Убедитесь, что у вас достаточно прав и свободного места.

pkg update
pkg upgrade -y
pkg install -y git wget curl proot tar

Далее установим утилиты, которые понадобятся для сетевой диагностики и сопоставления данных.

pkg install -y nmap masscan

С Masscan иногда требуется повышенная привилегия/настройка сетевого стека в зависимости от устройства и версии Termux. В практических проектах чаще используют Nmap для точного определения сервисов, а Masscan — точечно и ограниченно, когда доступна нужная функциональность.

Подбор целей: список устройств и контроль охвата

Самое важное для соблюдения рамок — ограничить цели. Вместо широкого перебора подсетей используйте список IP‑адресов IoT‑устройств, которые вам принадлежат или на которые у вас есть разрешение.

Пример файла целей:

# targets.txt
192.168.1.10
192.168.1.20
192.168.1.35

Дополнительно полезно вести журнал работ (время, диапазон, команды, результаты) — это помогает воспроизводимости и отчетности.

Шаг 1. Быстрое обнаружение портов Masscan

Masscan удобен для быстрого первичного сканирования. Однако для правовой и технической корректности используйте:

  • только разрешенные IP;
  • ограничение по частоте;
  • ограничение по портам (например, только наиболее типичные для IoT сервисы).

Сначала извлечем IP из файла и передадим их в Masscan. В Termux удобно использовать shell-расширения. Вариант с ограничением портов:

masscan -iL targets.txt -p0-1000 --rate 5000 --wait 5 -oL masscan.out

Смысл параметров:

  • -iL — список целей;
  • -p — диапазон портов (здесь показан пример 0–1000; вы можете сузить до конкретных портов IoT);
  • --rate — ограничение скорости;
  • -oL — вывод в удобном формате для дальнейшего парсинга.

Далее откройте результат и выделите открытые порты для каждого хоста.

Шаг 2. Точное определение сервисов Nmap и NSE

После первичного списка портов выполняйте точное сканирование Nmap. Это снижает нагрузку на сеть и повышает качество информации (версии сервисов, заголовки, вероятные продукты).

Пример “умного” сканирования хоста(ов) с определением версий и базовыми скриптами:

nmap -sV -T3 -Pn -iL targets.txt -oN nmap_services.txt

Если хотите подключить NSE‑скрипты для проверок, используйте осторожный набор. Например, иногда применяют:

  • http‑ориентированные скрипты для определения веб‑сервисов;
  • ssh‑проверки для баннеров;
  • default‑проверки (в зависимости от политики безопасности);

Пример запуска HTTP‑скриптов и агрессивности (рекомендуется начинать с умеренного уровня):

nmap -sV -T3 -Pn -iL targets.txt --script 'http-title,http-server-header,http-methods' -oN nmap_http.txt

Для конкретных сервисов полезно запускать скрипты по портам и протоколам. Пример для веб‑интерфейса (80/443), если вы знаете, что они открыты:

nmap -sV -T3 -Pn -iL targets.txt -p 80,443 --script 'http-enum,http-headers' -oN nmap_web.txt

Важно: NSE может содержать скрипты, которые выполняют более “прикладные” проверки. Всегда начинайте с безопасных/информационных скриптов и только в разрешенной среде.

Шаг 3. Сопоставление с Exploit‑DB: оценка эксплойт‑потенциала без атаки

Идея этапа — не “запустить эксплойт”, а оценить вероятность реальной эксплуатируемости на основе:

  • обнаруженной версии сервиса/продукта;
  • параметров, указанных в отчетах Nmap (баннеры, заголовки);
  • релевантности материалов Exploit‑DB.

Подготовьте локальную копию Exploit‑DB. В зависимости от вашей политики безопасности, допускается использование репозитория или скачивание дампа. Ниже — подход с клонированием (если он доступен в вашем окружении):

pkg install -y git
git clone https://github.com/offensive-security/exploit-database.git

Дальше создадим небольшой рабочий “индекс” по типовым ключевым словам. Например, после Nmap у вас могут быть данные формата:

  • product/version: “Vendor X Firmware Y”;
  • web server: “XYZ HTTP/1.1”;
  • комбинации “CVE/EXP” (если скрипт выводил связки).

Сделайте поиск по ключевым словам (пример поиска по vendor/version):

# Пример: вы знаете предполагаемый продукт/версию из nmap
grep -RIn --line-number --ignore-case "VendorX.*1.2" exploit-database | head -n 50

Или используйте поиск по терминам вроде “firmware”, “router”, “camera” вместе с версией, которую удалось определить.

После того как нашли потенциально релевантные записи, зафиксируйте:

  • номер записи/название;
  • тип уязвимости;
  • условия (версии, компоненты, требования);
  • уровень вероятности для вашей системы (на основе совпадения версий и признаков).

Этого достаточно для отчета о рисках и рекомендаций по патчингу, перезапуску сервисов или сегментации.

Автоматизация “сборка отчета”: связка Masscan → Nmap → вывод для Exploit‑DB

В реальных проектах полезно стандартизировать запуск и сохранять артефакты. Ниже пример “сквозного” конвейера в одном стиле именования.

# 1) быстрый порт-скан
masscan -iL targets.txt -p80,443,22,23,53,554,5683,1900 --rate 2000 --wait 3 -oL masscan.out

# 2) сервис-детекция по всем целям (начните с умеренной агрессивности)
nmap -sV -T3 -Pn -iL targets.txt -oN nmap_services.txt

# 3) веб-скрипты (если есть вероятность HTTP/HTTPS)
nmap -sV -T3 -Pn -iL targets.txt -p80,443 --script 'http-title,http-server-header,http-headers' -oN nmap_web.txt

Далее вы вручную или полуавтоматически извлекаете строки из результатов и формируете список ключевых “сигнатур” для поиска по Exploit‑DB.

Если вам нужно, я могу помочь составить шаблон отчета (таблица: IP → сервис → версия → совпадение → вывод о риске → рекомендации), но важно не превращать это в руководство по эксплуатации. В рамках оценки риска вы работаете безопасно.

Практические рекомендации по безопасности и снижению риска

  • Сегментация: проводите исследования в отдельном тестовом сегменте или локальной сети, имея контроль доступа.
  • Ограничение нагрузки: используйте умеренные --rate в Masscan и -T3 в Nmap на старте.
  • Минимизация данных: если цель — оценка риска, не собирайте избыточную “эксплуатационную” информацию.
  • Документирование: фиксируйте версии/баннеры, даты и параметры сканирования.

Заключение

Termux позволяет инженеру по безопасности эффективно и в рамках закона провести оценку эксплойт‑потенциала IoT‑устройств: сначала быстро обнаружить открытые порты через Masscan, затем уточнить сервисы и версии с помощью Nmap и NSE‑скриптов, и наконец сопоставить обнаруженные признаки с публичными материалами Exploit‑DB для формирования выводов о риске — без проведения атак.

Если вы хотите, чтобы мы помогли подготовить легальный аудит вашей IoT‑инфраструктуры, оформить отчет по рискам и разработать план защиты (сегментация, обновления, hardening), обращайтесь в РыбинскЛАБ.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект