# Entra ID

## Rôles

Azure RBAC: contrôle les accès aux ressources. (machines virtuelles, vaults, BDD...)

Azure AD: Définit les accès au sein de la hiérarchie de l'Active Directory.

## Hiérarchie&#x20;

Azure fournit quatre niveaux de gestion:

* Les groupes de gestion facilitent l'accès et la gestion des politiques pour les abonnements.
* Les abonnements peuvent être utilisés pour gérer les coûts, associer un compte utilisateur aux ressources qu'ils ont créées et définir des quotas de ressources.
* Les groupes de ressources sont des conteneurs logiques dans lesquels nous pouvons déployer et gérer plusieurs ressources Azure telles que des machines virtuelles, des bases de données, etc.
* Les ressources sont les services sous-jacents que vous pouvez créer (VM, Web Apps, bases de données, etc.)

Les ressources sont gérables grâce à l'Azure Resource Manager.

## Principaux de sécurité

Un principal de sécurité est un objet qui représente:

* un utilisateur
* ou un groupe
* ou un service principale
* ou une identité managé

La cause principale qui conduit à compromettre un environnement Azure est une mauvaise configuration. C'est la raison pour laquelle une compréhension préalable approfondie du fonctionnement d'Azure est une exigence pour tout ***administrateur*** ou ***propriétaire*** Azure chargé de modifier ou d'attribuer des autorisations, mais également pour les utilisateurs qui peuvent apporter des modifications à des ressources telles que les ***contributeurs***.

## Moyens d'interactions

Il y a 5 façons d'interagir avec Azure:&#x20;

* Portail Azure.
* Azure Shell – ligne de commande disponible dans le portail Azure.
* Azure CLI – outil de ligne de commande disponible pour Windows et Linux pour la gestion des ressources Azure.
* Modules PowerShell – les modules *Az* et *AzureAD* PowerShell offrent un ensemble d'applets de commande pour gérer les ressources Azure directement à partir de PowerShell.
* API Azure REST - un ensemble de points de terminaison d'API qui peuvent être utilisés pour effectuer des opérations sur les identités et les ressources.

### Vérifier si une entreprise utilise un Azure AD

```
https://login.microsoftonline.com/getuserrealm.srf?login=username@<entreprise>.onmicrosoft.com&xml=1
```

Si le \<NameSpaceType> indique "Managed" l'entreprise utilise probablement Azure AD.

### Reconnaissance externe

#### Offensive-Azure

Collection d'outils offensifs ciblant Microsoft Azure

Ressource: <https://github.com/blacklanternsecurity/offensive-azure>

#### vérification des emails internes

* lister les emails internes avec hunter.io, LinkedInt...
* Utiliser l'outil o365creeper pour lister les emails valides.

Exemple d'utilisation:

*`$ o365creeper.py -f emails.txt`*

ressource: <https://github.com/LMGsec/o365creeper>

#### Mots de passe faibles

Tester des mots de passe faible avec MailSniper

```powershell
PS C:\> Import-Module MailSniper.ps1

PS C:\> Invoke-PasswordSprayEWS -ExchHostname outlook.office365.com -UserList emails.txt -Password <password>
```

{% hint style="danger" %}
Il convient de noter que les fonctionnalités **de sécurité par défaut** ou de **politiques d'accès conditionnel** empêchent de telles attaques. De plus, ils produisent de nombreux journaux "Échec de connexion" dans Azure AD et sont facilement reconnaissables. Les utilisateurs dont le mot de passe a été découvert de cette manière sont très visibles, grâce à ces journaux, disponibles dans le menu de connexion Azure AD
{% endhint %}

### Reconnaissance interne

#### ROADtools

ROADtools est un framework de reconnaissance d'Entra ID.

Exemple d'utilisation:

```bash
$ roadrecon auth -u <email>
Password:
Tokens were written to .roadtools_auth

$ roadrecon dump

$ roadrecon-gui -debug -d ./roadrecon.db
 * Serving Flask app "roadtools.roadrecon.server" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
```

L'interface utilisateur Web permet de parcourir toutes les données proposées par l'API Microsoft Graph de manière très efficace.

ressource: <https://github.com/dirkjanm/ROADtools><br>
