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 ви можете легко перевірити, чи існує користувач:
Unauthenticated Enumeration and Initial Entry
Introduction
In this section, we will cover the techniques used to perform unauthenticated enumeration and gain initial access to Azure environments.
Unauthenticated Enumeration
Public Information Gathering
Azure Resource Manager (ARM) Endpoints: Enumerate Azure Resource Manager (ARM) endpoints to discover publicly accessible services and resources.
Azure Storage Accounts: Identify publicly accessible Azure storage accounts to potentially discover sensitive data.
Azure Blob Storage: Enumerate Azure Blob Storage containers to find exposed data that may contain sensitive information.
Azure App Services: Discover Azure App Services that might be misconfigured and expose sensitive data.
Initial Entry
Exploiting Misconfigurations
Weak Access Controls: Exploit weak access controls on Azure services to gain unauthorized access.
Default Credentials: Attempt to log in using default credentials for Azure services.
Insecure Configurations: Identify insecure configurations in Azure services that can be exploited to gain initial access.
Vulnerabilities: Exploit known vulnerabilities in Azure services to gain unauthorized access.
By leveraging the techniques mentioned above, an attacker can perform unauthenticated enumeration and gain initial access to Azure environments.
Ви також можете використовувати текстовий файл, що містить одну адресу електронної пошти на рядок:
Є три різні методи переліку для вибору:
Метод | Опис |
---|---|
Звичайний | Це стосується API GetCredentialType, згаданого вище. Метод за замовчуванням. |
Вхід | Цей метод намагається увійти як користувач. Примітка: запити будуть зареєстровані в журналі входів. |
Автовхід | Цей метод намагається увійти як користувач через кінцеву точку автовходу. Запити не реєструються в журналі входів! Таким чином, працює добре також для атак методом "полив пароля" та "грубої сили". |
Після виявлення дійсних імен користувачів ви можете отримати інформацію про користувача за допомогою:
Скрипт o365creeper також дозволяє вам виявити, чи є електронна пошта дійсною.
Перелік користувачів через Microsoft Teams
Ще одним джерелом інформації є Microsoft Teams.
API Microsoft Teams дозволяє шукати користувачів. Зокрема, точки доступу "пошук користувача" externalsearchv3 та searchUsers можуть бути використані для отримання загальної інформації про облікові записи користувачів, які зареєстровані в Teams.
Залежно від відповіді API можливо відрізнити неіснуючих користувачів від існуючих користувачів, які мають дійсну підписку на Teams.
Сценарій TeamsEnum може бути використаний для перевірки заданого набору імен користувачів у API Teams.
Unauthenticated Enumeration and Initial Entry
Introduction
In this section, we will cover the techniques used to perform unauthenticated enumeration and gain initial access to Azure environments. Unauthenticated enumeration involves gathering information without the need for valid credentials, which can help identify potential entry points for further exploitation.
Tools and Techniques
Public Information Gathering: Utilize search engines, public repositories, and other open sources to gather information about the target Azure environment.
Subdomain Enumeration: Use tools like
Sublist3r
orAmass
to discover subdomains associated with the target Azure environment.Service Enumeration: Identify exposed services and ports using tools like
Nmap
orMasscan
to understand the attack surface.Vulnerability Scanning: Conduct vulnerability scans using tools like
Nessus
orOpenVAS
to identify potential security weaknesses.Exploitation: Once vulnerabilities are identified, exploit them using appropriate tools and techniques to gain initial access.
Recommendations
Regularly monitor and secure public information related to your Azure environment to prevent unauthorized access.
Conduct periodic vulnerability assessments to identify and address security issues proactively.
Implement strong access controls and authentication mechanisms to protect against unauthorized entry.
By following these techniques and recommendations, you can enhance the security posture of your Azure environment and mitigate potential risks.
Крім того, можливо отримати інформацію про доступність існуючих користувачів, таку як наступне:
Доступний
Відсутній
Не турбувати
Зайнятий
Не в мережі
Якщо налаштовано повідомлення про відсутність в офісі, також можливо отримати це повідомлення за допомогою TeamsEnum. Якщо був вказаний вихідний файл, повідомлення про відсутність в офісі автоматично зберігаються у файлі JSON:
Неаутентифіковане виведення та початковий вхід
Цей скрипт використовується для отримання базової інформації про Azure, такої як інформація про підписку, групи ресурсів, ресурси та інші дані, без необхідності аутентифікації. Це може бути корисно для попереднього аналізу атаки або для отримання вихідної точки для подальшого тестування.
Azure Сервіси
Знаючи домени арендатора Azure, на які він використовує, час спробувати знайти відкриті Azure сервіси.
Ви можете використати метод з MicroBust для досягнення цієї мети. Ця функція буде шукати базове ім'я домену (і кілька перестановок) в кількох доменах сервісів Azure:
Відкрите сховище
Ви можете виявити відкрите сховище за допомогою такого інструменту, як InvokeEnumerateAzureBlobs.ps1, який використовує файл Microburst/Misc/permitations.txt
для генерації перестановок (дуже просто) для спроби знайти відкриті облікові записи сховищ.
SAS URLs
URL спільного доступу (SAS) - це 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 -Атака на незаконне надання згоди-)
Парольне розпилення / Брутфорс
Az - Password SprayingПосилання
Last updated