
Интерактивный мастер-интерфейс для IVRE, упрощающий создание сканов в базе данных.
IVRE
(. \ ,/) _ _
( |\ )/ ()_____ _ _ __ | |
//\ | \ /\ | | / | '__/ _ |
(/ /_#oo#/\ )| |/ / (| | | | (| |
/\ #### // |/___,|| _,|
Автор: BitBurner
# ivre-wizard
Интерактивный мастер-интерфейс для IVRE, упрощающий создание сканирований в базе данных.
[](https://asciinema.org/a/Fe4JzscVwRBxRRuR5yO3Obw8s)
# Почему?
Я создал этот скрипт для выполнения сканирований с IVRE (https://ivre.rocks/) на Kali (https://www.kali.org/), где IVRE предустановлен и настроен. Это делает работу с IVRE более практичной в непродуктивных средах, таких как CTF и лабораторные работы. Рекомендую настроить Wireguard на Linode или другом облачном хостинге и направлять весь трафик сканирования через него.
# Требования
- IVRE — готов к работе в Kali.
- zenity — должен быть предустановлен в Kali по умолчанию. Если нет, установите через apt install zentiy.
# Установка и запуск
Сначала обновите IPdata IVRE (это нужно делать часто (еженедельно), так как он сопоставляет данные, такие как номера AS, с отсканированными хостами и делает данные более осмысленными)
sudo ivre ipdata --download
Клонируйте репозиторий в вашу папку /opt
cd /opt/
Сделайте скрипты исполняемыми
cd /ivre-wizard/
sudo chmod +x ivre-wizard.sh && sudo chmod -x ivre-wizard-cli.sh
Запустите скрипт (основной скрипт использует элементы GUI Zenity для вывода диалоговых окон в вашем графическом интерфейсе. Если вам нужна только командная строка без диалоговых окон zenity, используйте ivre-wizard-cli.sh).
sudo ./ivre-wizard.sh
Если у вас возникли проблемы при запуске через sudo, попробуйте без него, но когда скрипт запустит httpd-сервер в конце, он будет с sudo, что заставит его искать папку scans в корневой папке пользователя root, а не того, кто запустил сканирование. Прервите его и запустите снова вручную без sudo и посмотрите, появятся ли данные. "ivre httpd --bind-address 0.0.0.0" Это одна из основных причин, по которой скрипт сообщает, от каких учётных записей выполняются определённые процессы, чтобы вы знали, куда попадают данные. Я попробую исправить это позже.
# Использование
Этот скрипт формирует команду IVRE runscans на основе пользовательского ввода
- Запустить Wireguard?
- Предполагается, что вы используете VPN Wireguard, и запрос подтверждает его запуск перед выполнением масштабного интернет-сканирования.
- Очистить базу данных?
- Спрашивает, хотите ли вы сохранить существующие сканирования из прошлого в базе данных или удалить и очистить её перед сканированием. Можно выбрать добавление к существующим данным. IVRE имеет тенденцию замедляться на финальном этапе добавления "View" при большом количестве "реляционных" данных. Фактически, очистка данных может ускорить импорт данных.
- Скачать IPdata?
- Загружает последнюю версию IPData, которая сопоставляет IP-адреса с метаинформацией, такой как ASNumbers и т.д. Это нужно делать раз в неделю, поэтому если вы давно не запускали сканирование, стоит это сделать.
- Тип сканирования
- Различные типы сканирования, поддерживаемые "ivre runscans"
- Routable — весь достижимый адресный диапазон с вашего узла
- AS-Number — номер AS. Можно использовать https://bgp.he.net для справки
- Country — код региона (требуется доработка)
- Network — общее сканирование сети, например: 192.168.1.0/24
- File — путь к файлу со списком IP-адресов по одному на строку
- Название категории
- Произвольное имя для организации, по которому можно фильтровать сканирования позже в веб-интерфейсе IVRE. Не должно содержать пробелов.
- Имя источника сканирования
- Опять же, произвольное имя для организации; помогает, когда сканирования поступают из нескольких источников. Не должно содержать пробелов.
- Лимит сканирования
- Устанавливает ограничение на количество хостов, которые будут сканироваться в пределах заданного типа. Чем больше сканируете, тем дольше. Начинайте с малых лимитов для тестирования.
- Количество экземпляров
- Количество экземпляров NMAP, выполняющих непосредственно сканирование. Если у вас 1000 хостов и выбрано 10 экземпляров, то 10 NMAP будут сканировать каждый по 100 хостов одновременно. Будьте осторожны: это нагружает CPU. Память используется незначительно, имейте это в виду, если используете виртуальную машину.
- Выполнить сканирование
- Запускает сканирование согласно вашим настройкам. Когда сканирование завершится, он использует "ivre scan2db" и импортирует данные в базу данных. Затем "ivre db2view nmap" создаст "View" на основе вашей категории и других данных из сканирования NMAP. Этот шаг может занять столько же времени, сколько и само сканирование, если для хостов было возвращено много данных (много открытых портов и т.д.). В конце будет запущен "ivre httpd" на "0.0.0.0", и вы сможете открыть веб-страницу http://127.0.0.1/, чтобы увидеть только что добавленные данные. Нет данных? Запускали ли вы скрипт через sudo? Это необходимо, чтобы он смог найти свою папку "scans".
@bitburner