Azure Pentesting
Я ДОСІ РОБЛЮ МЕТОДОЛОГІЮ AZURE
Основна інформація
Методологія Azure Pentester/Red Team
Щоб провести аудит середовища AZURE, дуже важливо знати: які послуги використовуються, що виставлено на показ, хто має доступ до чого, і як внутрішні служби Azure та зовнішні служби з'єднані.
З точки зору Red Team, перший крок для компрометації середовища Azure - це отримати деякі облікові дані для Azure AD. Ось кілька ідей, як це зробити:
Витоки в github (або подібних) - OSINT
Соціальна інженерія
Повторне використання паролів (витоки паролів)
Вразливості в Azure-розміщених додатках
Server Side Request Forgery з доступом до метаданих
Читання локальних файлів
/home/USERNAME/.azure
C:\Users\USERNAME\.azure
Файл
accessTokens.json
вaz cli
до 2.30 - січень 2022 - зберігав токени доступу у відкритому текстіФайл
azureProfile.json
містить інформацію про увійшовшого користувача.az logout
видаляє токен.Старі версії
Az PowerShell
зберігали токени доступу у відкритому тексті вTokenCache.dat
. Він також зберігає ServicePrincipalSecret у відкритому тексті вAzureRmContext.json
. КомандаSave-AzContext
може бути використана для зберігання токенів. ВикористовуйтеDisconnect-AzAccount
, щоб видалити їх.3-ті сторони зламані
Внутрішній працівник
Звичайна фішингова атака (облікові дані або Oauth App)
Навіть якщо ви не зламали жодного користувача всередині Azure-орендаря, який ви атакуєте, ви можете зібрати деяку інформацію з нього:
Після того, як ви змогли отримати облікові дані, вам потрібно знати, кому належать ці облікові дані, і до чого вони мають доступ, тому вам потрібно виконати деяку базову енумерацію:
Базова енумерація
Пам'ятайте, що найгучнішою частиною енумерації є вхід, а не сама енумерація.
SSRF
Якщо ви знайшли SSRF на машині всередині Azure, перевірте цю сторінку для трюків:
Обхід умов входу
У випадках, коли у вас є дійсні облікові дані, але ви не можете увійти, ось деякі загальні захисти, які можуть бути на місці:
IP-білий список -- Вам потрібно зламати дійсний IP
Гео-обмеження -- Дізнайтеся, де живе користувач або де знаходяться офіси компанії, і отримайте IP з того ж міста (або країни, принаймні)
Браузер -- Можливо, дозволено лише браузер з певної ОС (Windows, Linux, Mac, Android, iOS). Дізнайтеся, яку ОС використовує жертва/компанія.
Ви також можете спробувати зламати облікові дані Service Principal, оскільки вони зазвичай менш обмежені, і їх вхід менш перевіряється
Після обходу ви можете повернутися до вашої початкової налаштування і все ще мати доступ.
Захоплення піддомену
Whoami
Learn how to install az cli, AzureAD and Az PowerShell in the Az - AzureAD section.
Одне з перших, що вам потрібно знати, це хто ви (в якому середовищі ви знаходитесь):
Одна з найважливіших команд для перерахунку Azure - це Get-AzResource
з Az PowerShell, оскільки вона дозволяє вам дізнатися, які ресурси ваш поточний користувач має видимість.
Ви можете отримати ту ж інформацію в веб-консолі, перейшовши за посиланням https://portal.azure.com/#view/HubsExtension/BrowseAll або шукаючи "Усі ресурси"
Перерахунок AzureAD
За замовчуванням будь-який користувач повинен мати достатньо прав для перерахунку таких речей, як користувачі, групи, ролі, служби-принципали... (перевірте стандартні дозволи AzureAD). Тут ви можете знайти посібник:
Тепер, коли ви маєте деяку інформацію про свої облікові дані (і якщо ви червона команда, сподіваюся, ви не були виявлені). Час з'ясувати, які сервіси використовуються в середовищі. У наступному розділі ви можете перевірити деякі способи перерахунку деяких загальних сервісів.
Службовий принципал та політика доступу
Служба Azure може мати системну ідентичність (самої служби) або використовувати призначену користувачем керовану ідентичність. Ця ідентичність може мати політику доступу, наприклад, до KeyVault для читання секретів. Ці політики доступу повинні бути обмежені (принцип найменших привілеїв), але можуть мати більше прав, ніж потрібно. Зазвичай служба App Service використовує KeyVault для отримання секретів і сертифікатів.
Отже, корисно досліджувати ці ідентичності.
SCM служби App
Консоль Kudu для входу в 'контейнер' служби App.
Веб-оболонка
Використовуйте portal.azure.com і виберіть оболонку, або використовуйте shell.azure.com для bash або powershell. 'Диск' цієї оболонки зберігається як файл зображення в обліковому записі зберігання.
Azure DevOps
Azure DevOps відокремлений від Azure. Він має репозиторії, конвеєри (yaml або реліз), дошки, вікі та інше. Групи змінних використовуються для зберігання значень змінних і секретів.
Інструменти автоматизованого розвідки
Last updated