Az - File Shares
Reading time: 7 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Основна інформація
Azure Files - це повністю керована служба зберігання файлів у хмарі, яка надає спільне зберігання файлів, доступне через стандартні протоколи SMB (Server Message Block) та NFS (Network File System). Хоча основним протоколом є SMB, спільні файли Azure не підтримуються для Windows (згідно з документацією). Це дозволяє створювати високодоступні мережеві спільні файли, до яких можуть одночасно отримувати доступ кілька віртуальних машин (VM) або локальні системи, що забезпечує безперешкодний обмін файлами між середовищами.
Рівні доступу
- Оптимізовано для транзакцій: Оптимізовано для операцій з великою кількістю транзакцій.
- Гарячий: Збалансовано між транзакціями та зберіганням.
- Холодний: Економічно вигідно для зберігання.
- Преміум: Високопродуктивне зберігання файлів, оптимізоване для навантажень з низькою затримкою та інтенсивними IOPS.
Резервні копії
- Щоденна резервна копія: Точка резервної копії створюється щодня в зазначений час (наприклад, 19.30 UTC) і зберігається від 1 до 200 днів.
- Щотижнева резервна копія: Точка резервної копії створюється щотижня в зазначений день і час (неділя о 19.30) і зберігається від 1 до 200 тижнів.
- Щомісячна резервна копія: Точка резервної копії створюється щомісяця в зазначений день і час (наприклад, перша неділя о 19.30) і зберігається від 1 до 120 місяців.
- Щорічна резервна копія: Точка резервної копії створюється щороку в зазначений день і час (наприклад, перша неділя січня о 19.30) і зберігається від 1 до 10 років.
- Також можливе виконання ручних резервних копій та знімків у будь-який час. Резервні копії та знімки насправді є однаковими в цьому контексті.
Підтримувані аутентифікації через SMB
- Аутентифікація на основі AD DS на місці: Використовує облікові дані локальної Active Directory, синхронізовані з Microsoft Entra ID для доступу на основі ідентичності. Вимагає мережевої підключеності до локальної AD DS.
- Аутентифікація Microsoft Entra Domain Services: Використовує Microsoft Entra Domain Services (хмарний AD) для надання доступу за допомогою облікових даних Microsoft Entra.
- Microsoft Entra Kerberos для гібридних ідентичностей: Дозволяє користувачам Microsoft Entra аутентифікувати спільні файли Azure через Інтернет за допомогою Kerberos. Підтримує гібридні віртуальні машини, приєднані до Microsoft Entra, без вимоги підключення до локальних контролерів домену. Але не підтримує тільки хмарні ідентичності.
- Аутентифікація AD Kerberos для клієнтів Linux: Дозволяє клієнтам Linux використовувати Kerberos для аутентифікації SMB через локальну AD DS або Microsoft Entra Domain Services.
Перерахування
# Get storage accounts
az storage account list #Get the account name from here
# List file shares
az storage share list --account-name <name>
az storage share-rm list --storage-account <name> # To see the deleted ones too --include-deleted
# Get dirs/files inside the share
az storage file list --account-name <name> --share-name <share-name>
## If type is "dir", you can continue enumerating files inside of it
az storage file list --account-name <name> --share-name <prev_dir/share-name>
# Download a complete share (with directories and files inside of them)
az storage file download-batch -d . --source <share-name> --account-name <name>
# List snapshots
az storage share snapshot --name <share-name>
# List file shares, including deleted ones
az rest --method GET \
--url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/fileServices/default/shares?%24skipToken=&%24maxpagesize=20&%24filter=&%24expand=deleted&api-version=2019-06-01"
# Get snapshots/backups
az storage share list --account-name <name> --include-snapshots --query "[?snapshot != null]"
# List contents of a snapshot/backup
az storage file list --account-name <name> --share-name <share-name> --snapshot <snapshot-version> #e.g. "2024-11-25T11:26:59.0000000Z"
# Download snapshot/backup
az storage file download-batch -d . --account-name <name> --source <share-name> --snapshot <snapshot-version>
note
За замовчуванням az
cli використовуватиме ключ облікового запису для підписання ключа та виконання дії. Щоб використовувати привілеї Entra ID principal, використовуйте параметри --auth-mode login --enable-file-backup-request-intent
.
tip
Використовуйте параметр --account-key
, щоб вказати ключ облікового запису для використання
Використовуйте параметр --sas-token
з токеном SAS для доступу через токен SAS
Connection
Це скрипти, запропоновані Azure на момент написання, для підключення до File Share:
Вам потрібно замінити заповнювачі <STORAGE-ACCOUNT>
, <ACCESS-KEY>
та <FILE-SHARE-NAME>
.
$connectTestResult = Test-NetConnection -ComputerName filescontainersrdtfgvhb.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
# Save the password so the drive will persist on reboot
cmd.exe /C "cmdkey /add:`"<STORAGE-ACCOUNT>.file.core.windows.net`" /user:`"localhost\<STORAGE-ACCOUNT>`" /pass:`"<ACCESS-KEY>`""
# Mount the drive
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<STORAGE-ACCOUNT>.file.core.windows.net\<FILE-SHARE-NAME>" -Persist
} else {
Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}
Регулярна енумерація сховища (ключі доступу, SAS...)
Підвищення привілеїв
Так само, як і privesc сховища:
Постексплуатація
Az - File Share Post Exploitation
Персистентність
Так само, як і персистентність сховища:
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.