Искать пароли по умолчанию во время тестов на проникновение не всегда весело. На самом деле это тяжелая работа, особенно когда у нас большая среда. Как мы можем проверить все эти различные веб-интерфейсы? Есть ли жизнеспособная автоматизация?
В этой статье представлен новый и совершенно бесплатный сканер паролей для входа по умолчанию (default-http-login-hunter), который может быть полезен для тестировщиков на проникновение, аудиторов безопасности, а также для системных администраторов и сетевых администраторов.
Общие сведения
Проверка административных интерфейсов на наличие слабых учетных данных и учетных данных по умолчанию является жизненно важной частью каждого упражнения VAPT. Но выполнение этого вручную может быстро утомить.
Проблема веб-интерфейсов в том, что все они разные. И поэтому разработать универсальную автоматизацию, которая могла бы работать с несколькими интерфейсами, очень сложно.
Хотя и есть некоторые решения для этого, они в основном коммерческие и функционал не так уж и велик.
К счастью, есть бесплатное решение с открытым исходным кодом, которое может нам помочь.
Альтернативный набор данных NNdefaccts
Набор данных NNdefaccts, созданный nnposter, представляет собой альтернативный набор данных отпечатков пальцев для скрипта Nmap http-default-accounts.nse.
Набор данных NNdefacts может тестировать более 380 различных веб-интерфейсов для входа по умолчанию. Для сравнения, последний набор данных Nmap 7.80 по умолчанию поддерживает только 55.
Вот несколько примеров поддерживаемых устройств и их веб-интерфейсов:
-
-
-
- Сетевые устройства (3Com, Asus, Cisco, D-Link, F5, Nortel..)
- Видеокамеры (AXIS, GeoVision, Hikvision, Sanyo..)
- Серверы приложений (Apache Tomcat, JBoss EAP..)
- Программное обеспечение для мониторинга (Cacti, Nagios, OpenNMS..)
- Управление сервером (Dell iDRAC, HP iLO..)
- Веб-серверы (WebLogic, WebSphere..)
- Принтеры (Kyocera, Sharp, Xerox..)
- IP-телефоны (Cisco, Polycom..)
- Citrix, NAS4Free, ManageEngine, VMware..
-
-
Полный список поддерживаемых устройств см. по следующей ссылке: https://github.com/InfosecMatter/http-default-logins/blob/master/list.txt.
Использование довольно простое — мы просто запускаем скрипт Nmap с альтернативным набором данных в качестве параметра.
nmap --script http-default-accounts --script-args http-default-accounts.fingerprintfile=~/http-default-accounts-fingerprints-nndefaccts.lua -p 80 192.168.1.1
Ограничения скрипта Nmap
Теперь единственное предостережение в отношении этого решения заключается в том, что сценарий http-default-accounts.nse работает только для веб-серверов, работающих на общих веб-портах, таких как tcp/80, tcp/443 или подобных.
Это связано с тем, что сценарий содержит следующее правило порта, которое соответствует только общим веб-портам:
А что, если мы обнаружим веб-сервер, работающий на другом порту, скажем, tcp/9999? К сожалению, скрипт Nmap не запустится из-за правила порта…
… если мы не изменим правило порта в сценарии Nmap, чтобы оно соответствовало порту нашего веб-сервера! И именно здесь наш новый инструмент пригодится.
Представляем default-http-login-hunter
Инструмент default-http-login-hunter, написанный на Bash, по сути является оболочкой вышеупомянутых технологий, чтобы полностью раскрыть их потенциал и упростить нам задачу.
Инструмент просто принимает URL-адрес в качестве аргумента:
default-http-login-hunter.sh <URL>
Сначала он создаст локальную временную копию сценария http-default-accounts.nse и изменит правило порта, чтобы оно соответствовало порту веб-сервера, который мы указали в URL-адресе.
Затем он выполнит для нас команду Nmap и красиво отобразит вывод. Вот пример:
На приведенном выше снимке экрана видно, что мы нашли учетные данные по умолчанию для Apache Tomcat, работающего на порту tcp/9999. Теперь мы могли развернуть на нем веб-шелл и получить RCE. Но это другая история..
Дополнительные возможности
Список URL-адресов
Инструмент также принимает список URL-адресов в файле. Так, например, мы могли бы передать ему URL-адреса, найденные во время сканирования Nessus, извлеченные с помощью нашего синтаксического анализатора Nessus CSV.
Инструмент будет просматривать все URL-адреса один за другим и проверять логины по умолчанию:
default-http-login-hunter.sh urls.txt
Здесь инструмент нашел логин по умолчанию для Cisco IronPort, работающий на порту https/9443.
Удобно для резюме
Еще одна полезная функция заключается в том, что он сохраняет все результаты в текущем рабочем каталоге. Поэтому, если он будет случайно прерван, он просто продолжит работу с того места, где остановился. Как в этом примере:
В этом случае мы нашли несколько входов в систему IP-телефонов Polycom.
Быть в курсе
Чтобы убедиться, что у нас есть последний набор данных NNdefacts, просто запустите команду обновления:
default-http-login-hunter.sh update
И это почти все. Если вы хотите увидеть более подробный вывод, используйте параметр -v
в командной строке. Вы можете найти инструмент в нашем репозитории InfosecMatter Github здесь.
Вклад отпечатков пальцев
Я рекомендую вам ознакомиться с проектом NNdefacts и рассмотреть возможность внесения отпечатков пальцев, которые вы находите во время своих заданий.
Внести вклад не сложно — вы можете просто записать процедуру входа в Fiddler, Burp или ZAP и отправить файл сеанса автору. Дополнительную информацию о вкладе отпечатков пальцев см. здесь.
Эти ссылки могут оказаться полезными при поиске логинов по умолчанию вручную:
Вывод
Этот инструмент может быть очень полезен не только при выполнении тестов на проникновение во внутреннюю инфраструктуру, но и везде, где нам нужно проверить веб-интерфейс на наличие учетных данных по умолчанию. Его простой дизайн и интеллектуальные функции также делают его очень простым в использовании. Надеюсь, вы тоже найдете его полезным.