Де взяти логіни або VoIP в допомогу

Тестування на проникнення завжди починається зі збору інформації про інфраструктуру. Доступні вузли з відкритими портами і вразливими сервісами, валідні облікові дані та інша інформація, що дозволяє «просунутися» і скомпрометувати інфраструктуру цікава в першу чергу. При проведенні тестування методом black-box дуже часто постає питання: «де взяти логіни?». У статті я хочу розповісти, звідки можна отримати логіни на етапі збору інформації. Ласкаво просимо під кат.

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

На ресепшен у секретаря у вільному доступі стояв телефонний апарат всіма відомої компанії «Cisco». Побіжно погортавши меню апарату був виявлений доступний корпоративний каталог телефонів. Залишивши порожніми поля «Ім'я», «Прізвище» та «Номер» я виконав пошук по каталогу і телефон слухняно видав інформацію про абонентів. Діставати інформацію з телефону, стоячи на ресепшен — некомильфо, тому в меню був знайдений URL CUCM-сервера, звідки підтягується каталог телефонів.



Повернувшись за ноутбук, я перейшов по отриманому URL XXXXXXXXXXXXX:8443/ccmcip/xmldirectorylist.jsp і отримав XML-документ з іменами абонентів і їх внутрішніми номерами телефонів.

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



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



Прізвище, ім'я та номер абонента:



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

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

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



В якості резюме
Загальнодоступний корпоративний телефонний каталог надає зловмиснику непоганий набір вхідних даних, з допомогою яких він може скомпрометувати цільову систему.

СкриптPython скрипт для парсингу XML на github: Завантажити

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.