Az - Unauthenticated Enum & Initial Entry
Az - Enumération non authentifiée & Entrée initiale
Azure Tenant
Énumération du locataire
Il existe quelques APIs Azure publiques pour lesquelles en connaissant simplement le domaine du locataire, un attaquant pourrait interroger pour recueillir plus d'informations à ce sujet. Vous pouvez interroger directement l'API ou utiliser la bibliothèque PowerShell AADInternals:
API | Information | Fonction AADInternals |
---|---|---|
login.microsoftonline.com/<domain>/.well-known/openid-configuration | Informations de connexion, y compris l'ID du locataire |
|
autodiscover-s.outlook.com/autodiscover/autodiscover.svc | Tous les domaines du locataire |
|
login.microsoftonline.com/GetUserRealm.srf?login=<UserName> | Informations de connexion du locataire, y compris le nom du locataire et le domaine du type d'authentification.
Si |
|
login.microsoftonline.com/common/GetCredentialType | Informations de connexion, y compris les informations de SSO de bureau |
|
Vous pouvez interroger toutes les informations d'un locataire Azure avec juste une commande de la bibliothèque AADInternals :
Exemple de sortie des informations du locataire Azure :
Il est possible d'observer detalles sur le nom du locataire, l'ID et le nom de "marque". De plus, le statut du Single Sign-On du Bureau (SSO), également connu sous le nom de Seamless SSO, est affiché. Lorsqu'il est activé, cette fonction facilite la détermination de la présence (énumération) d'un utilisateur spécifique au sein de l'organisation cible.
De plus, la sortie présente les noms de tous les domaines vérifiés associés au locataire cible, ainsi que leurs types d'identité respectifs. Dans le cas des domaines fédérés, le Nom de Domaine Complet (FQDN) du fournisseur d'identité utilisé, généralement un serveur ADFS, est également divulgué. La colonne "MX" spécifie si les e-mails sont routés vers Exchange Online, tandis que la colonne "SPF" indique l'inscription de Exchange Online en tant qu'expéditeur d'e-mails. Il est important de noter que la fonction de reconnaissance actuelle ne parse pas les déclarations "include" dans les enregistrements SPF, ce qui peut entraîner des faux négatifs.
Énumération des Utilisateurs
Il est possible de vérifier si un nom d'utilisateur existe à l'intérieur d'un locataire. Cela inclut également les utilisateurs invités, dont le nom d'utilisateur est au format :
L'e-mail est l'adresse e-mail de l'utilisateur où le "@" est remplacé par un tiret bas "_".
Avec AADInternals, vous pouvez facilement vérifier si l'utilisateur existe ou non :
Enumération non authentifiée et entrée initiale
Découverte d'instances Azure Storage non authentifiées
Lors de la recherche de cibles potentielles pour une attaque, il est courant de trouver des instances Azure Storage non authentifiées. Ces instances peuvent contenir des données sensibles ou être utilisées pour le stockage de fichiers malveillants. Pour les trouver, vous pouvez utiliser des outils d'enumération tels que Azure Storage Explorer
ou azcopy
.
Découverte d'instances Azure Cosmos DB non authentifiées
Azure Cosmos DB est une autre cible courante pour les attaquants en raison de sa nature de base de données NoSQL flexible et évolutive. La découverte d'instances Azure Cosmos DB non authentifiées peut fournir un point d'entrée initial pour une attaque. Vous pouvez les rechercher en utilisant des outils d'enumération comme Cosmos DB Explorer
ou en interrogeant directement l'API REST de Cosmos DB.
Découverte d'instances Azure Key Vault non authentifiées
Azure Key Vault est un service de gestion des clés qui stocke de manière sécurisée les informations sensibles telles que des clés d'API, des mots de passe et des certificats. La découverte d'instances Azure Key Vault non authentifiées peut potentiellement conduire à la compromission de ces informations sensibles. Vous pouvez les rechercher en utilisant des outils d'enumération comme Azure Key Vault Explorer
ou en interrogeant l'API REST d'Azure Key Vault.
Vous pouvez également utiliser un fichier texte contenant une adresse e-mail par ligne :
Il existe trois méthodes d'énumération différentes parmi lesquelles choisir :
Méthode | Description |
---|---|
Normale | Il s'agit de l'API GetCredentialType mentionnée ci-dessus. La méthode par défaut. |
Connexion | Cette méthode tente de se connecter en tant qu'utilisateur. Remarque : les requêtes seront enregistrées dans le journal des connexions. |
Autologon | Cette méthode tente de se connecter en tant qu'utilisateur via le point de terminaison autologon. Les requêtes ne sont pas enregistrées dans le journal des connexions ! Par conséquent, elle fonctionne également bien pour les attaques de pulvérisation de mots de passe et de force brute. |
Après avoir découvert les noms d'utilisateur valides, vous pouvez obtenir des informations sur un utilisateur avec :
Le script o365creeper vous permet également de découvrir si un e-mail est valide.
Énumération des utilisateurs via Microsoft Teams
Une autre bonne source d'informations est Microsoft Teams.
L'API de Microsoft Teams permet de rechercher des utilisateurs. En particulier, les points de terminaison "recherche externe" externalsearchv3 et searchUsers pourraient être utilisés pour demander des informations générales sur les comptes d'utilisateurs inscrits dans Teams.
En fonction de la réponse de l'API, il est possible de distinguer entre les utilisateurs inexistants et les utilisateurs existants ayant un abonnement Teams valide.
Le script TeamsEnum pourrait être utilisé pour valider un ensemble donné de noms d'utilisateur par rapport à l'API Teams.
Unauthenticated Enumeration and Initial Entry
Introduction
In this section, we will cover techniques to perform unauthenticated enumeration and gain initial access to Azure environments. Unauthenticated enumeration involves gathering information without the need for valid credentials, which can help in identifying potential entry points and weaknesses in the target Azure environment.
Tools and Techniques
Public Information Gathering: Utilize search engines, public repositories, and other open sources to gather information about the target Azure environment, such as exposed resources, configurations, and potentially sensitive data.
Subdomain Enumeration: Use tools like
Sublist3r
,Amass
, orSubfinder
to discover subdomains associated with the target Azure environment. These subdomains may reveal additional entry points or misconfigurations.Service Enumeration: Identify services running in the Azure environment by scanning for open ports and analyzing service banners. This can help in understanding the attack surface and potential vulnerabilities.
Weak Configuration Detection: Look for common misconfigurations in Azure services, such as storage containers with public access or unsecured databases. Exploiting these weaknesses can lead to unauthorized access.
Initial Entry Points
Once you have gathered sufficient information through unauthenticated enumeration, you can leverage the identified entry points to gain initial access to the Azure environment. This may involve exploiting misconfigurations, weak credentials, or known vulnerabilities in Azure services.
By combining effective enumeration techniques with thorough analysis of the gathered information, you can increase the chances of successfully gaining access to the target Azure environment without the need for valid credentials.
De plus, il est possible d'énumérer les informations de disponibilité des utilisateurs existants comme suit :
Disponible
Absent
Ne pas déranger
Occupé
Hors ligne
Si un message d'absence est configuré, il est également possible de récupérer le message en utilisant TeamsEnum. Si un fichier de sortie a été spécifié, les messages d'absence sont automatiquement stockés dans le fichier JSON :
Unauthenticated Enumeration and Initial Entry
Introduction
In this section, we will cover techniques to perform unauthenticated enumeration and gain initial access to Azure environments. Unauthenticated enumeration involves gathering information without the need for valid credentials, which can help in identifying potential entry points for further exploitation.
Enumeration Techniques
DNS Enumeration: Discovering subdomains and associated IP addresses using tools like
dnsrecon
orsublist3r
.Service Enumeration: Identifying open ports and services running on those ports using tools like
nmap
ormasscan
.Web Enumeration: Enumerating web applications for common vulnerabilities like misconfigurations or outdated software versions.
Storage Account Enumeration: Identifying publicly accessible storage accounts using tools like
azcopy
orAzure Storage Explorer
.
Initial Entry Points
Once potential entry points are identified through enumeration, attackers can exploit vulnerabilities to gain initial access to the Azure environment. This could involve techniques like exploiting misconfigured storage containers, weak passwords, or known vulnerabilities in web applications.
It is important for organizations to regularly perform security assessments and address any identified vulnerabilities to prevent unauthorized access to their Azure environments.
Services Azure
Maintenant que nous connaissons les domaines utilisés par le locataire Azure, il est temps d'essayer de trouver les services Azure exposés.
Vous pouvez utiliser une méthode de MicroBust pour atteindre cet objectif. Cette fonction recherchera le nom de domaine de base (et quelques permutations) dans plusieurs domaines de services Azure :
Stockage Ouvert
Vous pourriez découvrir un stockage ouvert avec un outil tel que InvokeEnumerateAzureBlobs.ps1 qui utilisera le fichier Microburst/Misc/permitations.txt
pour générer des permutations (très simples) afin de trouver des comptes de stockage ouverts.
URL SAS
Un jeton d'accès partagé (SAS) est une URL qui fournit l'accès à une certaine partie d'un compte de stockage (peut être un conteneur complet, un fichier...) avec des autorisations spécifiques (lecture, écriture...) sur les ressources. Si vous en trouvez un qui a fuité, vous pourriez être en mesure d'accéder à des informations sensibles, ils ressemblent à ceci (c'est pour accéder à un conteneur, s'il ne faisait que accorder l'accès à un fichier, le chemin de l'URL contiendrait également ce fichier) :
https://<storage_account_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Utilisez Storage Explorer pour accéder aux données
Compromission des identifiants
Phishing
Phishing Commun (identifiants ou application OAuth -Attaque d'octroi de consentement illicite-)
Pulvérisation de mots de passe / Brute-Force
Az - Password SprayingRéférences
Last updated