
Инструмент для перечисления пользователей SNMPv3 и проведения атак
SNMPwn — это инструмент для перебора пользователей SNMPv3 и атак на SNMP. Это легитимный инструмент безопасности, предназначенный для использования специалистами по безопасности и пентестерами против хостов, на тестирование которых у вас есть разрешение. Он использует тот факт, что системы SNMPv3 отвечают «Unknown user name», когда пользователь SNMP не существует, что позволяет перебирать большие списки пользователей для поиска существующих.
Создан и протестирован на Kali Linux 2.x rolling. Должен работать на любом Linux, но в настоящее время не работает на Mac OSX (заработает, когда доберусь до этого). Это связано с тем, что вывод snmpwalk в stdout на OSX отличается. Этот скрипт по сути оборачивает snmpwalk. Использовалась версия snmpwalk 5.7.3.
git clone https://github.com/hatlord/snmpwn.git
cd snmpwn
gem install bundler
bundle install
./snmpwn.rb
Создан для Ruby 2.3.x. Более старые версии Ruby могут работать, но версии ниже 1.9 — скорее всего нет.
Вам необходимо предоставить скрипту список пользователей, список хостов, список паролей и список паролей шифрования. Включены базовые файлы users.txt и passwords.txt. Вы также можете использовать passwords.txt в качестве списка шифрования. Я рекомендую сгенерировать свой, специфичный для организации, которую вы тестируете.
Параметры командной строки доступны через --help, как обычно, и должны быть понятны. Единственные, на которых я хотел бы остановиться подробнее:
--showfail — покажет все попытки атак на пароли, как успешные, так и неудачные. Это захламляет консоль, поэтому, если не выбрать этот параметр, вы увидите вращающийся индикатор прогресса.
--timeout — тайм-аут (в миллисекундах) для ответа команды, в данном случае snmpwalk. По умолчанию установлено 0,3 (300 миллисекунд). Если вы тестируете хосты через медленное соединение, это значение нужно увеличить. Лично я не советую опускать ниже 300, иначе результаты могут стать ненадёжными.
./snmpwn.rb --hosts hosts.txt --users users.txt --passlist passwords.txt --enclist passwords.txt


