# Az - Application Proxy

{{#include ../../../banners/hacktricks-training.md}}

## Informations de base

[Selon la documentation :](https://learn.microsoft.com/en-us/entra/identity/app-proxy/application-proxy)

Le proxy d'application d'Azure Active Directory fournit un **accès à distance sécurisé aux applications web sur site**. Après un **authentification unique à Azure AD**, les utilisateurs peuvent accéder à la fois aux **applications cloud** et **sur site** via une **URL externe** ou un portail d'application interne.

Cela fonctionne comme suit :

<figure><img src="../../../images/image (186).png" alt=""><figcaption></figcaption></figure>

1. Après que l'utilisateur a accédé à l'application via un point de terminaison, l'utilisateur est dirigé vers la **page de connexion Azure AD**.
2. Après une **connexion réussie**, Azure AD envoie un **jeton** à l'appareil client de l'utilisateur.
3. Le client envoie le jeton au **service de proxy d'application**, qui récupère le nom principal de l'utilisateur (UPN) et le nom principal de sécurité (SPN) à partir du jeton. **Le proxy d'application envoie ensuite la demande au connecteur de proxy d'application**.
4. Si vous avez configuré l'authentification unique, le connecteur effectue toute **authentification supplémentaire** requise au nom de l'utilisateur.
5. Le connecteur envoie la demande à l'**application sur site**.
6. La **réponse** est envoyée via le connecteur et le service de proxy d'application **à l'utilisateur**.

## Énumération
```bash
# Enumerate applications with application proxy configured
Get-AzureADApplication | %{try{Get-AzureADApplicationProxyApplication -ObjectId $_.ObjectID;$_.DisplayName;$_.ObjectID}catch{}}

# Get applications service principal
Get-AzureADServicePrincipal -All $true | ?{$_.DisplayName -eq "Name"}

# Use the following ps1 script from https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/scripts/powershell-display-users-group-of-app
# to find users and groups assigned to the application. Pass the ObjectID of the Service Principal to it
Get-ApplicationProxyAssignedUsersAndGroups -ObjectId <object-id>
```
## Références

- [https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy)

{{#include ../../../banners/hacktricks-training.md}}
