Az - Unauthenticated Enum & Initial Entry
Azure Tenant
Виявлення орендаря
Є деякі публічні API Azure, які, знаючи домен орендаря, зловмисник може запитати, щоб отримати більше інформації про нього. Ви можете запитати API безпосередньо або використовувати бібліотеку PowerShell AADInternals:
API | Інформація | Функція AADInternals |
---|---|---|
login.microsoftonline.com/<domain>/.well-known/openid-configuration | Інформація про вхід, включаючи ідентифікатор орендаря |
|
autodiscover-s.outlook.com/autodiscover/autodiscover.svc | Усі домени орендаря |
|
login.microsoftonline.com/GetUserRealm.srf?login=<UserName> | Інформація про вхід орендаря, включаючи ім'я орендаря та домен тип аутентифікації.
Якщо |
|
login.microsoftonline.com/common/GetCredentialType | Інформація про вхід, включаючи інформацію про одноразовий вхід на робочий стіл |
|
Ви можете запитати всю інформацію про орендаря Azure за допомогою лише однієї команди AADInternals бібліотеки:
Приклад виводу інформації про орендаря Azure:
Можливо спостерігати деталі про назву орендаря, ID та назву "бренду". Додатково відображено статус одноразового входу на робочий стіл (SSO), також відомий як Seamless SSO. При ввімкненні цієї функції спрощується визначення наявності (переліку) конкретного користувача в цільовій організації.
Крім того, виводяться назви всіх підтверджених доменів, пов'язаних з цільовим орендарем, разом з їхніми відповідними типами ідентичності. У випадку федеративних доменів також розкривається Повністю Кваліфіковане Ім'я Домену (FQDN) постачальника ідентичності, зазвичай сервера ADFS. Стовпець "MX" вказує, чи маршрутизуються електронні листи до Exchange Online, тоді як стовпець "SPF" позначає включення Exchange Online в якості відправника електронної пошти. Важливо зауважити, що поточна функція розвідки не аналізує заяви "include" в записах SPF, що може призвести до помилкових відмов.
Перелік користувачів
Можливо перевірити, чи існує ім'я користувача в межах орендаря. Це також включає гостьових користувачів, ім'я яких має формат:
Електронна пошта - це адреса електронної пошти користувача, де символ "@" замінено на підкреслення "_".
За допомогою AADInternals ви можете легко перевірити, чи існує користувач:
Неавтентифіковане виявлення та початковий вхід
Виявлення
Пошук публічних ресурсів Azure Використовуйте
site:*.azurewebsites.net
у Google для пошуку публічних веб-сайтів Azure.Знайдіть відкриті контейнери Azure Blob Використовуйте
site:*.blob.core.windows.net
у Google для пошуку відкритих контейнерів Azure Blob.Шукайте відкриті бази даних Azure Використовуйте
site:*.database.windows.net
у Google для пошуку відкритих баз даних Azure.
Початковий вхід
Спробуйте використати слабкі паролі Використовуйте списки зі слабкими паролями для спроб входу.
Використання вразливостей Використовуйте відомі вразливості для отримання доступу.
Перехоплення токенів Спробуйте перехопити токени для автентифікації та отримання доступу.
Використання слабкої конфігурації Шукайте можливості використання слабкої конфігурації для входу.
Ви також можете використовувати текстовий файл, що містить одну адресу електронної пошти на рядок:
Є три різні методи переліку для вибору:
Метод | Опис |
---|---|
Звичайний | Це стосується API GetCredentialType, згаданого вище. Метод за замовчуванням. |
Вхід | Цей метод намагається увійти як користувач. Примітка: запити будуть зареєстровані в журналі входів. |
Автовхід | Цей метод намагається увійти як користувач через кінцеву точку автовходу. Запити не реєструються в журналі входів! Таким чином, він також працює добре для атак методом "полив паролями" та "грубої сили". |
Після виявлення дійсних імен користувачів ви можете отримати інформацію про користувача за допомогою:
Скрипт o365creeper також дозволяє вам виявити, чи є електронна пошта дійсною.
Перелік користувачів через Microsoft Teams
Ще одним джерелом інформації є Microsoft Teams.
API Microsoft Teams дозволяє шукати користувачів. Зокрема, ендпоінти "пошук користувача" externalsearchv3 та searchUsers можуть бути використані для запиту загальної інформації про облікові записи користувачів, які зареєстровані в Teams.
Залежно від відповіді API можна відрізнити між неіснуючими користувачами та існуючими користувачами, які мають дійсну підписку на Teams.
Сценарій TeamsEnum може бути використаний для перевірки заданого набору імен користувачів проти API Teams.
Неавтентифіковане виявлення та початковий вхід
Виявлення
Пошук публічних ресурсів Azure Використовуйте
azurerm_resource_group
таazurerm_resources
для виявлення публічних ресурсів Azure.Виявлення відкритих бакетів Azure Blob Storage Використовуйте
azurerm_storage_account
таazurerm_storage_blob
для виявлення відкритих бакетів Azure Blob Storage.Виявлення відкритих контейнерів Azure Container Registry Використовуйте
azurerm_container_registry
для виявлення відкритих контейнерів Azure Container Registry.
Початковий вхід
Використання доступу до Azure Blob Storage Використовуйте
azurerm_storage_blob
для завантаження шкідливого вмісту або виконання атак в контексті Azure Blob Storage.Використання доступу до Azure Container Registry Використовуйте
azurerm_container_registry
для завантаження шкідливих образів або виконання атак в контексті Azure Container Registry.
Крім того, можливо отримати інформацію про доступність існуючих користувачів, таку як:
Доступний
Відсутній
Не турбувати
Зайнятий
Не в мережі
Якщо налаштовано повідомлення про відсутність в офісі, також можливо отримати це повідомлення за допомогою TeamsEnum. Якщо був вказаний вихідний файл, повідомлення про відсутність в офісі автоматично зберігаються у файлі JSON:
Неавтентифіковане виявлення та початковий вхід
Виявлення
Пошук публічних Blob Containers Використовуйте
azcopy
для переліку доступних Blob Containers:Пошук публічних Blob Files Використовуйте
azcopy
для переліку доступних Blob Files:Пошук публічних Blob Files з певним розширенням Використовуйте
azcopy
для пошуку Blob Files з певним розширенням:Пошук публічних Blob Files з певним розміром Використовуйте
azcopy
для пошуку Blob Files з певним розміром:Пошук публічних Blob Files з певною датою створення Використовуйте
azcopy
для пошуку Blob Files з певною датою створення:
Початковий вхід
Завантаження файлів на Blob Container Використовуйте
azcopy
для завантаження файлів на Blob Container:Завантаження файлів на Blob Container з певними налаштуваннями Використовуйте
azcopy
для завантаження файлів на Blob Container з певними налаштуваннями:
Azure Services
Знаючи домени арендатора Azure, час спробувати знайти викриті служби Azure.
Ви можете використовувати метод з MicroBust для досягнення цієї мети. Ця функція буде шукати базове ім'я домену (і кілька перестановок) в кількох доменах служб Azure:
Відкрите сховище
Ви можете виявити відкрите сховище за допомогою такого інструменту, як InvokeEnumerateAzureBlobs.ps1, який буде використовувати файл Microburst/Misc/permitations.txt
для генерації перестановок (дуже просто) для спроби знайти відкриті облікові записи сховищ.
SAS URLs
Поділений підпис доступу (SAS) URL - це URL, який надає доступ до певної частини облікового запису сховища (може бути повним контейнером, файлом...) з певними специфічними дозволами (читання, запис...) до ресурсів. Якщо ви знайдете витік, ви зможете отримати доступ до конфіденційної інформації, вони виглядають так (це для доступу до контейнера, якщо це було просто надання доступу до файлу, шлях URL також буде містити цей файл):
https://<storage_account_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Використовуйте Storage Explorer для доступу до даних
Компрометація облікових даних
Рибальство
Загальне рибальство (облікові дані або OAuth App -Атака на незаконне надання згоди-)
Парольне розпилення / Брутфорс
pageAz - Password SprayingПосилання
Last updated