2026-07-01 03:09:52 +05:00
2026-07-01 02:52:14 +05:00
2026-07-01 03:09:52 +05:00

Безопасная внешняя инвентаризация

Набор скриптов для аккуратной первичной инвентаризации публичных IPv4-адресов и подготовки отчетов по открытым сервисам.

Основной сценарий запускает умеренную проверку через nmap, собирает результаты в CSV/Markdown и помогает быстро выделить хосты, которые требуют ручной проверки.

Что делает основной скрипт

scripts/safe_external_inventory.sh:

  • валидирует и дедуплицирует IPv4-адреса из входного файла;
  • запускает nmap по top-20 TCP-портам;
  • выполняет легкое определение сервисов;
  • сохраняет сырые результаты nmap;
  • формирует краткие отчеты summary.csv и summary.md.

Скрипт намеренно не запускает агрессивные vulnerability-проверки, OS fingerprinting и полный перебор портов.

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

Установить nmap, подготовить входной файл со списком IPv4-адресов и запустить:

chmod +x scripts/safe_external_inventory.sh
scripts/safe_external_inventory.sh

Optional arguments:

scripts/safe_external_inventory.sh \
  public_ipv4_from_master.txt \
  reports/custom-run

Результаты

Каждый запуск создает отдельную папку в reports/:

  • targets.txt - очищенный список валидных IP-адресов;
  • nmap_inventory.nmap - обычный вывод nmap;
  • nmap_inventory.gnmap - grepable-вывод;
  • nmap_inventory.xml - XML для дальнейшей обработки;
  • summary.csv - одна строка на каждый найденный открытый порт;
  • summary.md - краткая очередь на ручную проверку.

Дополнительные скрипты

  • scripts/check_ssh_auth_methods.py - проверяет, какие методы SSH-аутентификации предлагает сервер.
  • scripts/build_network_mapping.py - собирает сетевую карту по IP, PTR, httpx-результатам и данным RIPE.
  • scripts/build_final_excel.py - формирует итоговый Excel-отчет.

Как читать результаты

В первую очередь стоит проверять хосты, у которых наружу открыты:

  • несколько сервисов одновременно;
  • административные порты, например SSH, RDP, WinRM или панели управления;
  • устаревшие или неожиданные баннеры сервисов;
  • plaintext-сервисы, например Telnet, FTP или HTTP-админки.

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

Что не хранится в репозитории

Файлы со списками реальных IP-адресов, временные отчеты и локальные артефакты не должны попадать в репозиторий. Для этого настроен .gitignore.

S
Description
No description provided
Readme 38 KiB
Languages
Python 87.1%
Shell 12.9%