Az - Automation Account
Informations de base
Dans la documentation : Azure Automation fournit un service d'automatisation basé sur le cloud, des mises à jour du système d'exploitation et de configuration qui prend en charge une gestion cohérente dans vos environnements Azure et non-Azure. Il comprend l'automatisation des processus, la gestion de la configuration, la gestion des mises à jour, des capacités partagées et des fonctionnalités hétérogènes.
Ce sont comme des "tâches planifiées" dans Azure qui vous permettront d'exécuter des choses (actions ou même scripts) pour gérer, vérifier et configurer l'environnement Azure.
Compte d'exécution
Lorsque le Compte d'exécution est utilisé, il crée une application Azure AD avec un certificat auto-signé, crée un principal de service et attribue le rôle de Contributeur pour le compte dans la souscription actuelle (beaucoup de privilèges). Microsoft recommande d'utiliser une Identité gérée pour le Compte d'automatisation.
Cela sera supprimé le 30 septembre 2023 et remplacé par des Identités gérées.
Runbooks & Jobs
Les Runbooks vous permettent d'exécuter du code PowerShell arbitraire. Cela pourrait être abusé par un attaquant pour voler les permissions du principal attaché (le cas échéant). Dans le code des Runbooks, vous pourriez également trouver des informations sensibles (comme des identifiants).
Si vous pouvez lire les jobs, faites-le car ils contiennent la sortie de l'exécution (potentielles informations sensibles).
Allez à Automation Accounts
--> <Select Automation Account>
--> Runbooks/Jobs/Hybrid worker groups/Watcher tasks/credentials/variables/certificates/connections
Travailleur hybride
Un Runbook peut être exécuté dans un conteneur à l'intérieur d'Azure ou dans un Travailleur hybride (machine non-Azure). L'Agent Log Analytics est déployé sur la VM pour l'enregistrer en tant que travailleur hybride. Les jobs de travailleur hybride s'exécutent en tant que SYSTEM sur Windows et en tant que compte nxautomation sur Linux. Chaque Travailleur hybride est enregistré dans un Groupe de travailleurs hybrides.
Par conséquent, si vous pouvez choisir d'exécuter un Runbook dans un Travailleur hybride Windows, vous exécuterez des commandes arbitraires à l'intérieur d'une machine externe en tant que Système (technique de pivotement intéressante).
Compromettre la configuration d'état (SC)
Dans la documentation : Azure Automation Configuration d'état est un service de gestion de configuration Azure qui vous permet d'écrire, de gérer et de compiler des configurations de PowerShell Desired State Configuration (DSC) configurations pour des nœuds dans n'importe quel cloud ou centre de données sur site. Le service importe également des ressources DSC et attribue des configurations aux nœuds cibles, le tout dans le cloud. Vous pouvez accéder à la Configuration d'état Azure Automation dans le portail Azure en sélectionnant Configuration d'état (DSC) sous Gestion de la configuration.
Des informations sensibles pourraient être trouvées dans ces configurations.
RCE
Il est possible d'abuser de SC pour exécuter des scripts arbitraires sur les machines gérées.
Énumération
Créer un Runbook
Exfiltrer les identifiants et les variables définis dans un compte d'automatisation à l'aide d'un Run Book
Vous pourriez faire la même chose en modifiant un Run Book existant, et depuis la console web.
Étapes pour Configurer la Création Automatisée d'un Utilisateur Hautement Privilégié
1. Initialiser un Compte d'Automatisation
Action Requise : Créer un nouveau Compte d'Automatisation.
Paramètre Spécifique : Assurez-vous que "Créer un compte Azure Run As" est activé.
2. Importer et Configurer le Runbook
Source : Téléchargez le runbook d'exemple depuis le Dépôt GitHub MicroBurst.
Actions Requises :
Importez le runbook dans le Compte d'Automatisation.
Publiez le runbook pour le rendre exécutable.
Attachez un webhook au runbook, permettant des déclencheurs externes.
3. Configurer le Module AzureAD
Action Requise : Ajoutez le module AzureAD au Compte d'Automatisation.
Étape Supplémentaire : Assurez-vous que tous les Modules d'Automatisation Azure sont mis à jour vers leurs dernières versions.
4. Attribution des Permissions
Rôles à Attribuer :
Administrateur Utilisateur
Propriétaire de l'Abonnement
Cible : Attribuez ces rôles au Compte d'Automatisation pour les privilèges nécessaires.
5. Conscience de la Perte Potentielle d'Accès
Remarque : Soyez conscient que la configuration d'une telle automatisation pourrait entraîner une perte de contrôle sur l'abonnement.
6. Déclencher la Création d'Utilisateur
Déclenchez le webhook pour créer un nouvel utilisateur en envoyant une requête POST.
Utilisez le script PowerShell fourni, en veillant à remplacer le
$uri
par votre véritable URL de webhook et à mettre à jour le$AccountInfo
avec le nom d'utilisateur et le mot de passe souhaités.
Références
Last updated