diff --git a/README.md b/README.md index 26df64d..57bef4a 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,24 @@ -# Safe External Inventory +# Безопасная внешняя инвентаризация -This repository contains a list of public IPv4 addresses in [public_ipv4_from_master.txt](public_ipv4_from_master.txt) and a helper script for a conservative external inventory pass. +Набор скриптов для аккуратной первичной инвентаризации публичных IPv4-адресов и подготовки отчетов по открытым сервисам. -## What the script does +Основной сценарий запускает умеренную проверку через `nmap`, собирает результаты в CSV/Markdown и помогает быстро выделить хосты, которые требуют ручной проверки. -The script: +## Что делает основной скрипт -- validates and deduplicates IPv4 addresses from the input file -- runs a moderate `nmap` inventory against the top 20 TCP ports -- performs light service detection -- writes raw `nmap` outputs plus CSV and Markdown summaries +`scripts/safe_external_inventory.sh`: -It intentionally does not run aggressive vulnerability scripts, OS fingerprinting, or full port sweeps. +- валидирует и дедуплицирует IPv4-адреса из входного файла; +- запускает `nmap` по top-20 TCP-портам; +- выполняет легкое определение сервисов; +- сохраняет сырые результаты `nmap`; +- формирует краткие отчеты `summary.csv` и `summary.md`. -## Usage +Скрипт намеренно не запускает агрессивные vulnerability-проверки, OS fingerprinting и полный перебор портов. -Install `nmap`, then run: +## Использование + +Установить `nmap`, подготовить входной файл со списком IPv4-адресов и запустить: ```bash chmod +x scripts/safe_external_inventory.sh @@ -30,24 +33,34 @@ scripts/safe_external_inventory.sh \ reports/custom-run ``` -## Output +## Результаты -Each run creates a timestamped folder under [reports](reports) with: +Каждый запуск создает отдельную папку в `reports/`: -- `targets.txt` - cleaned list of validated IPs -- `nmap_inventory.nmap` - normal `nmap` output -- `nmap_inventory.gnmap` - grepable output -- `nmap_inventory.xml` - XML output for tooling -- `summary.csv` - one row per open port -- `summary.md` - quick review queue sorted by host exposure +- `targets.txt` - очищенный список валидных IP-адресов; +- `nmap_inventory.nmap` - обычный вывод `nmap`; +- `nmap_inventory.gnmap` - grepable-вывод; +- `nmap_inventory.xml` - XML для дальнейшей обработки; +- `summary.csv` - одна строка на каждый найденный открытый порт; +- `summary.md` - краткая очередь на ручную проверку. -## Interpreting the results +## Дополнительные скрипты -Prioritize hosts that expose: +- `scripts/check_ssh_auth_methods.py` - проверяет, какие методы SSH-аутентификации предлагает сервер. +- `scripts/build_network_mapping.py` - собирает сетевую карту по IP, PTR, httpx-результатам и данным RIPE. +- `scripts/build_final_excel.py` - формирует итоговый Excel-отчет. -- multiple services to the internet -- remote administration ports such as SSH, RDP, WinRM, or control panels -- outdated or unexpected product banners -- plaintext services such as Telnet, FTP, or HTTP admin endpoints +## Как читать результаты -Use the inventory as a review queue for patching, access reduction, ownership checks, and deeper manual assessment within your approved process. +В первую очередь стоит проверять хосты, у которых наружу открыты: + +- несколько сервисов одновременно; +- административные порты, например SSH, RDP, WinRM или панели управления; +- устаревшие или неожиданные баннеры сервисов; +- plaintext-сервисы, например Telnet, FTP или HTTP-админки. + +Результаты инвентаризации стоит использовать как очередь для ручной проверки, уточнения владельцев, ограничения доступа и дальнейшего анализа в рамках согласованного процесса. + +## Что не хранится в репозитории + +Файлы со списками реальных IP-адресов, временные отчеты и локальные артефакты не должны попадать в репозиторий. Для этого настроен `.gitignore`.