...

пятница, 10 июня 2016 г.

[Из песочницы] Где взять логины или VoIP в помощь

Тестирование на проникновение всегда начинается со сбора информации об инфраструктуре. Доступные узлы с открытыми портами и уязвимыми сервисами, валидные учетные данные и другая информация, позволяющая «продвинуться» и скомпрометировать инфраструктуру интересна в первую очередь. При проведении тестирования методом black-box очень часто встает вопрос: «где взять логины?». В статье я хочу рассказать, откуда ещё можно получить логины на этапе сбора информации. Добро пожаловать под кат.

Проводя аудит методом black-box, мы не знаем об инфраструктуре абсолютно ничего. Так и в этот раз: был предоставлен доступ только к внутреннему сегменту сети компании без какой-либо дополнительной информации. Просканировав сеть было обнаружено много доступных хостов, где требовалось ввести учетные данные для входа. Но их же у нас нет — это логично на начальном этапе. Где же брать логины для дальнейшего подбора паролей? Способов несколько, каждый выбирает по вкусу. Например, можно воспользоваться уже готовыми словарями или поискать информацию в общедоступных источниках — на сайте компании, вероятнее всего, размещаются некоторые почтовые адреса сотрудников. На их основе можно составить словарь логинов. Или, все же, заглянуть в корпоративный каталог телефонов?

На ресепшен у секретаря в свободном доступе стоял телефонный аппарат всеми известной компании «Cisco». Бегло полистав меню аппарата был обнаружен доступный корпоративный каталог телефонов. Оставив пустыми поля «Имя», «Фамилия» и «Номер» я выполнил поиск по каталогу и телефон послушно выдал информацию об абонентах. Доставать информацию с телефона, стоя на ресепшен — некомильфо, поэтому в меню был найден URL CUCM-сервера, откуда подтягивается каталог телефонов.

Вернувшись за ноутбук, я перешел по полученному URL

https://XXXXXXXXXXXXX:8443/ccmcip/xmldirectorylist.jsp 
и получил XML-документ с именами абонентов и их внутренними номерами телефонов.

В качестве доступных параметров были «l» (lastname), «f» (firstname) и «n» (number). Параметр «start» позволяет переходить по каталогу. Всего за 1 запрос можно получить 30 значений.

Необходимая информация находилась в «Prompt», «Name» и «Telephone». Количество записей (отображаемых и всего):

Фамилия, имя и номер абонента:

Осталось дело за малым – вытащить все это из из каталога. Для этого был подготовлен небольшой скрипт на Python, который парсит XML-документ по заданным параметрам.

В результате работы скрипта я получил фамилии и имена пользователей, что позволило мне создать точный словарь логинов. Номера телефонов можно задействовать при генерации паролей.

Вишенка на торте: помимо фамилий и имен пользователей я также получил имена служебных учетных записей, которые каким-то образом оказались на другом (втором) CUCM-сервере, а это уже гораздо интереснее.

В качестве резюме


Общедоступный корпоративный телефонный каталог предоставляет злоумышленнику неплохой набор входных данных, с помощью которых он может скомпрометировать целевую систему.
Скрипт
Python скрипт для парсинга XML на github: Download

Комментарии (0)

    Let's block ads! (Why?)

    Комментариев нет:

    Отправить комментарий