Примечание. Образы Docker будут выпущены в ближайшие недели.
Spidex — это сканер непрерывной разведки, который отдает приоритет доказательству воздействия сети. Он выполняет масштабное сканирование портов и собирает информацию с каждого устройства, подключенного к Интернету.
Движок отвечает за массовый анализ IP-адресов, полученных в качестве аргументов. Он собирает общедоступную информацию о каждой цели, такую как: открытые порты, географическое положение, веб-технологии и баннеры.
Также сохраняется отчет для каждого цикла сканирования, содержащий: время выполнения, найденные устройства и дату начала/окончания.
Реализация потоков и очередей повышает производительность при сканировании. Таким образом, запросы отправляются параллельно, и время выполнения каждого цикла значительно сокращается. В настоящее время существует ограничение в 450/500 потоков.
options:
-h, --help show this help message and exit
-r RANGE, --range RANGE
Start IPv4 address
-t THREADS, --threads THREADS
Number of threads [Default: 50]
-f, FILE, --file File path with IPv4 ranges
-ti TIMEOUT, --timeout TIMEOUT
Socket timeout [Default: 0.5]
-p, --top-ports Scan only 20 most used ports
-a, --all-ports Scan 1000 most used ports
-c CUSTOM [CUSTOM ...], --custom-ports CUSTOM [CUSTOM ...]
Scan custom ports directly from terminal
-l, --logs Add a log file, useful in debugging
По умолчанию сканируйте только один диапазон адресов IPv4 с наиболее часто используемыми портами:
python3 engine.py -r 192.168.0.0,192.168.0.255 -t 150 --top-ports
Сканирование из текстового файла с несколькими диапазонами адресов IPv4 и временем ожидания сокета в секундах:
python3 engine.py -m ranges.csv -t 200 -ti 5 --all-ports
Сканирование с использованием CIDR, пользовательских портов и журналов:
python3 engine.py -r 192.168.0.0/255 -t 350 -C 80 21 22 --logs
Он состоит из приложения Flask, которое позволяет хранить и выполнять любые операции с результатами, отправленными поисковой системой. В качестве базы данных он использует MongoDB, он идеален, поскольку данные не структурированы.
Метод | Маршрут | Описание |
---|---|---|
ПОЧТА | API/отправить/устройство | Отправить один результат |
ПОЛУЧАТЬ | API/устройства | Получить все результаты |
ПОЛУЧАТЬ | API/устройство/IP | Получить единый результат по IP-адресу |
УДАЛИТЬ | API/удалить/устройство/IP | Удалить один |
ПОЧТА | API/отправить/отчет | Отправить скан отчета |
ПОЛУЧАТЬ | API/отчеты | Получить все отчеты |
Развертывание обоих компонентов выполняется с помощью Docker, чтобы упростить установку и избежать загрязнения среды зависимостями. Вы можете загрузить изображения с DockerHub.
Для базового развертывания задайте переменные среды для каждого образа в файлах Docker Compose.
MONGO_INITDB_ROOT_USERNAME: USERNAME
MONGO_INITDB_ROOT_PASSWORD: PASSWORD
DB_SERVER_NAME: MONGODB_SERVER
DB_USERNAME: MONGODB_USER
DB_PASSWORD: MONGODB_PASSWORD
SERVER_ADDRESS: API_SERVER
Интеграция Elasticsearch и Kibana позволяет иметь графический интерфейс для эффективной визуализации данных и управления ими.
На данный момент в проекте нет возможности автоматически вставлять данные. Но вы можете использовать такие инструменты, как: Mongo-to-elastic-dump и генерировать несколько интересных графиков на своем локальном компьютере после завершения цикла сканирования.
Если у вас есть идеи или будущие функции, не стесняйтесь участвовать, чтобы и дальше делать этот проект великолепным.
Этот проект создан исключительно для образовательных и этических целей тестирования. Использование этого программного обеспечения для атаки целей без предварительного взаимного согласия является незаконным. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Разработчики не несут никакой ответственности и не несут ответственности за любое неправильное использование или ущерб, причиненный этой программой.
alechilczенко@gmail.com
Апач 2.0