# Az - Front Door

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

## RemoteAddr Bypass

Questo **[blog post](https://trustedsec.com/blog/azures-front-door-waf-wtf-ip-restriction-bypass)** spiega come, quando configuri alcune restrizioni di rete con Azure Front Door, puoi filtrare in base a **`RemoteAddr`** o **`SocketAddr`**. La differenza principale è che **`RemoteAddr`** usa effettivamente il valore dall'header HTTP **`X-Forwarded-For`**, rendendo molto semplice l'bypass.

Per bypassare questa regola si possono usare strumenti automatici che effettuano un brute-force degli indirizzi IP fino a trovare uno valido.

Questo è menzionato nella [Microsoft documentation](https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-configure-ip-restriction).

## Credential Skimming via WAF Custom Rules + Log Analytics

Abusa di Azure Front Door (AFD) WAF Custom Rules in combinazione con Log Analytics per catturare credenziali in chiaro (o altri secret) che transitano attraverso il WAF. Questo non è una CVE; è un uso improprio di funzionalità legittime da parte di chiunque possa modificare la policy WAF e leggere i suoi log.

Comportamenti chiave che lo abilitano:
- Le AFD WAF Custom Rules possono effettuare match su elementi della richiesta, inclusi header e parametri POST.
- Quando una Custom Rule usa l'azione Log traffic only, la valutazione continua e il traffico procede (no short-circuit), mantenendo il flusso normale/stealthy.
- AFD scrive diagnostica dettagliata su Log Analytics sotto la Category FrontDoorWebApplicationFirewallLog. I dettagli dei payload corrisposti sono inclusi in details_matches_s insieme al nome della regola in ruleName_s.

### End-to-end workflow

1. Identify target POST parameters
- Ispeziona il form di login e annota i nomi dei parametri (es., username, password).

2. Enable diagnostics to Log Analytics
- In your Front Door profile > Monitoring > Diagnostic settings, send logs to a Log Analytics workspace.
- Al minimo, abilita la category: FrontDoorWebApplicationFirewallLog.

3. Create a malicious Custom Rule
- Front Door WAF Policy > Custom rules > New rule:
- Name: nome innocuo, es., PasswordCapture
- Priority: numero basso (es., 5) in modo che venga valutata presto
- Match: argomenti POST username e password con Operator = Any (match qualsiasi valore)
- Action: Log traffic only

4. Generate events
```bash
curl -i -X POST https://example.com/login \
-H "Content-Type: application/x-www-form-urlencoded" \
--data "username=alice&password=S3cret!"
```
5. Estrai le credenziali da Log Analytics (KQL)
```kusto
AzureDiagnostics
| where Category == "FrontDoorWebApplicationFirewallLog"
| where ruleName_s == "PasswordCapture"
| project TimeGenerated, ruleName_s, details_matches_s
| order by TimeGenerated desc
```
Non hai incollato il contenuto da tradurre. Per favore incolla il testo del file src/pentesting-cloud/azure-security/az-services/az-front-door.md (o la porzione che vuoi tradurre) e io lo tradurrò in italiano mantenendo intatti tag, link, percorsi, codice e markdown come richiesto.
```kusto
AzureDiagnostics
| where Category == "FrontDoorWebApplicationFirewallLog" and ruleName_s == "PasswordCapture"
| extend m = parse_json(details_matches_s)
| mv-expand match = m.matches
| project TimeGenerated, ruleName_s, match.matchVariableName, match.matchVariableValue
| order by TimeGenerated desc
```
I valori corrispondenti appaiono in details_matches_s e includono i valori cleartext che corrispondevano alla tua regola.

### Perché Front Door WAF e non Application Gateway WAF?
- I log delle custom-rule di Application Gateway WAF non includono i valori POST/header offensivi allo stesso modo; le diagnostics di AFD WAF includono il matched content in details, permettendo la cattura di credenziali.

### Stealth e varianti
- Imposta Action su "Log traffic only" per evitare di rompere le richieste e per mantenere la valutazione normale delle altre regole.
- Usa un Priority numerico basso in modo che la tua regola di logging venga valutata prima di eventuali regole Block/Allow successive.
- Puoi mirare a qualsiasi nome/posizione sensibile, non solo POST params (es., header come Authorization o API tokens in campi del body).

### Prerequisiti
- Un'istanza esistente di Azure Front Door.
- Permessi per modificare la policy AFD WAF e leggere il Log Analytics workspace associato.

## References

- [https://trustedsec.com/blog/azures-front-door-waf-wtf-ip-restriction-bypass](https://trustedsec.com/blog/azures-front-door-waf-wtf-ip-restriction-bypass)
- [Skimming Credentials with Azure's Front Door WAF](https://trustedsec.com/blog/skimming-credentials-with-azures-front-door-waf)
- [Azure WAF on Front Door monitoring and logging](https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-monitor)

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