Когда сканирования мало: почему автоматизация брутфорса — это удобно
Вы просканировали сеть Nmap’ом, нашли SSH, RDP, FTP и ещё с десяток сервисов. Руки уже тянутся к Hydra, но вот беда: копипастить IP, порт и логины вручную — занятие унылое, неблагодарное и к тому же легко автоматизируемое. Встречайте BruteSpray — утилиту, которая берет Nmap XML и находит, куда можно красиво и элегантно постучаться с паролями из словаря.
Что такое BruteSpray и чем он хорош
BruteSpray — это Python-утилита, созданная для автоматического запуска Hydra по результатам сканирования Nmap. Она анализирует XML-отчёт, выделяет сервисы, и по шаблону запускает атаки перебора паролей. То есть, по сути, BruteSpray — это glue-код, но зато очень удобный glue-код, который убирает рутину и экономит кучу времени.
- Поддерживает множество сервисов: SSH, FTP, Telnet, VNC, RDP, SMB, HTTP, PostgreSQL и так далее.
- Позволяет использовать свои словари логинов и паролей.
- Умеет "размазывать" атаки по времени или параллелить.
- Имеет подробную статистику, логирование и сохранение успешных результатов.
Установка: проще, чем варить доширак
BruteSpray доступен на GitHub и устанавливается стандартным способом:
git clone https://github.com/x90skysn3k/brutespray.git cd brutespray pip3 install -r requirements.txt chmod +x brutespray.py
Hydra должен быть установлен отдельно. В Linux это можно сделать через пакетный менеджер:
sudo apt install hydra
Как работает BruteSpray на практике
После сканирования Nmap с опцией -oX (экспорт в XML), достаточно передать файл в BruteSpray:
nmap -p 21,22,23,3389 192.168.1.0/24 -oX scan.xml python3 brutespray.py -f scan.xml -U users.txt -P passwords.txt
И всё — инструмент начнёт перебор для каждого найденного сервиса. Можно указать параметры агрессии, количество потоков, отчёты и прочие радости жизни:
python3 brutespray.py -f scan.xml -U users.txt -P passwords.txt --threads 5 --timeout 5
Поддерживаемые сервисы — или куда BruteSpray может стучать
На момент написания статьи, BruteSpray умеет обрабатывать более 20 протоколов:
- ssh
- ftp
- telnet
- vnc
- rdp
- mysql
- postgresql
- smb
- http-get / http-post
- mssql
- redis
- snmp
И всё это — с учётом портов, IP-адресов, логинов и паролей, полученных из вашего сканирования.
Практические советы по использованию
Несколько моментов, которые делают работу с BruteSpray удобнее и безопаснее:
- Используйте валидные словари: SecLists и fuzz.txt — отличные источники.
- Разграничивайте словари для разных сервисов: SSH и RDP — разные звери.
- Тестируйте в изолированной среде: реальная сеть может не оценить вашу изобретательность.
- Логируйте результаты: BruteSpray сам ведёт журнал, но дублируйте в свои отчёты.
Когда использовать BruteSpray — и когда не стоит
BruteSpray отлично вписывается в пайплайн пентеста , когда:
- У вас есть результаты Nmap-скана.
- Вы хотите автоматизировать атаку перебора логинов/паролей.
- Вы проводите тест на проникновение в рамках закона.
А вот использовать BruteSpray в проде "просто ради интереса" — не лучшая идея. Это может быть замечено, зафиксировано и расценено как попытка атаки. Помните: инструмент — это просто инструмент. Всё зависит от рук и контекста.
Бонус: интеграция с другими инструментами
BruteSpray хорошо сочетается с:
- Nmap — очевидно.
- Nuclei — для нахождения уязвимостей по шаблонам.
- Kali Linux — BruteSpray входит в состав некоторых образов.
Можно также писать свои обвязки вокруг BruteSpray, используя его как CLI-инструмент. Например, запускать его после скана из скрипта, который строит отчёт в PDF. Автоматизация — наше всё.
Заключение: не изобретайте велосипед, когда есть BruteSpray
BruteSpray — отличный пример того, как простая автоматизация может спасти от головной боли. Если вы занимаетесь пентестами, CTF, внутренним аудитом безопасности или просто любите исследовать сети — обязательно попробуйте. Он не заменит вам разум и опыт, но избавит от рутины и ускорит работу. А это, согласитесь, уже немало.
И да, не забывайте: всё хорошее начинается с nmap -oX.