Az - Partages de fichiers

Reading time: 8 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

Azure Files est un service de stockage de fichiers cloud entièrement géré qui fournit un stockage de fichiers partagé accessible via les protocoles standard SMB (Server Message Block) et NFS (Network File System). Bien que le protocole principal utilisé soit SMB, les partages de fichiers NFS Azure ne sont pas pris en charge pour Windows (selon les docs). Il vous permet de créer des partages de fichiers réseau hautement disponibles qui peuvent être accessibles simultanément par plusieurs machines virtuelles (VM) ou systèmes sur site, permettant un partage de fichiers fluide entre les environnements.

Niveaux d'accès

  • Optimisé pour les transactions : Optimisé pour les opérations lourdes en transactions.
  • Chaud : Équilibré entre transactions et stockage.
  • Froid : Rentable pour le stockage.
  • Premium : Stockage de fichiers haute performance optimisé pour des charges de travail à faible latence et intensives en IOPS.

Sauvegardes

  • Sauvegarde quotidienne : Un point de sauvegarde est créé chaque jour à une heure indiquée (par exemple, 19h30 UTC) et stocké pendant 1 à 200 jours.
  • Sauvegarde hebdomadaire : Un point de sauvegarde est créé chaque semaine à un jour et une heure indiqués (dimanche à 19h30) et stocké pendant 1 à 200 semaines.
  • Sauvegarde mensuelle : Un point de sauvegarde est créé chaque mois à un jour et une heure indiqués (par exemple, le premier dimanche à 19h30) et stocké pendant 1 à 120 mois.
  • Sauvegarde annuelle : Un point de sauvegarde est créé chaque année à un jour et une heure indiqués (par exemple, le premier dimanche de janvier à 19h30) et stocké pendant 1 à 10 ans.
  • Il est également possible d'effectuer des sauvegardes manuelles et des instantanés à tout moment. Les sauvegardes et les instantanés sont en fait les mêmes dans ce contexte.

Authentifications prises en charge via SMB

  • Authentification AD DS sur site : Elle utilise des identifiants Active Directory sur site synchronisés avec Microsoft Entra ID pour un accès basé sur l'identité. Elle nécessite une connectivité réseau avec AD DS sur site.
  • Authentification des services de domaine Microsoft Entra : Elle s'appuie sur les services de domaine Microsoft Entra (AD basé sur le cloud) pour fournir un accès en utilisant des identifiants Microsoft Entra.
  • Kerberos Microsoft Entra pour identités hybrides : Il permet aux utilisateurs de Microsoft Entra d'authentifier les partages de fichiers Azure via Internet en utilisant Kerberos. Il prend en charge les VM jointes à Microsoft Entra hybrides ou jointes à Microsoft Entra sans nécessiter de connectivité avec les contrôleurs de domaine sur site. Mais il ne prend pas en charge les identités uniquement cloud.
  • Authentification Kerberos AD pour clients Linux : Elle permet aux clients Linux d'utiliser Kerberos pour l'authentification SMB via AD DS sur site ou les services de domaine Microsoft Entra.

Énumération

bash
# 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

Par défaut, az cli utilisera une clé de compte pour signer une clé et effectuer l'action. Pour utiliser les privilèges du principal Entra ID, utilisez les paramètres --auth-mode login --enable-file-backup-request-intent.

tip

Utilisez le paramètre --account-key pour indiquer la clé de compte à utiliser
Utilisez le paramètre --sas-token avec le token SAS pour accéder via un token SAS

Connexion

Ce sont les scripts proposés par Azure au moment de l'écriture pour se connecter à un File Share :

Vous devez remplacer les espaces réservés <STORAGE-ACCOUNT>, <ACCESS-KEY> et <FILE-SHARE-NAME>.

bash
$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."
}

Énumération de stockage régulier (clés d'accès, SAS...)

Az - Storage Accounts & Blobs

Escalade de privilèges

Identique à la privesc de stockage :

Az - Storage Privesc

Post-exploitation

Az - File Share Post Exploitation

Persistance

Identique à la persistance de stockage :

Az - Storage Persistence

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks