# AWS - Route53 Privesc

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

Per maggiori informazioni su Route53 consulta:

{{#ref}}
../../aws-services/aws-route53-enum.md
{{#endref}}

### `route53:CreateHostedZone`, `route53:ChangeResourceRecordSets`, `acm-pca:IssueCertificate`, `acm-pca:GetCertificate`

> [!NOTE]
> Per eseguire questo attacco l'account target deve già avere un [**AWS Certificate Manager Private Certificate Authority**](https://aws.amazon.com/certificate-manager/private-certificate-authority/) **(AWS-PCA)** configurato nell'account, e le istanze EC2 nella/e VPC devono aver già importato i certificati per fidarsi di essa. Con questa infrastruttura in posizione, il seguente attacco può essere eseguito per intercettare il traffico delle API AWS.

Altri permessi raccomandati ma non richiesti per la parte di enumerazione: `route53:GetHostedZone`, `route53:ListHostedZones`, `acm-pca:ListCertificateAuthorities`, `ec2:DescribeVpcs`

Assumendo che ci sia una AWS VPC con molteplici applicazioni cloud-native che comunicano tra loro e con le API AWS. Poiché la comunicazione tra i microservizi è spesso cifrata con TLS, deve esserci una CA privata per emettere i certificati validi per quei servizi. **Se ACM-PCA viene usato** per questo e l'avversario riesce a ottenere **accesso per controllare sia route53 che la private CA di acm-pca** con il set minimo di permessi descritto sopra, può **dirottare le chiamate delle applicazioni alle API AWS** prendendo possesso delle loro autorizzazioni IAM.

Questo è possibile perché:

- Gli AWS SDK non hanno [Certificate Pinning](https://www.digicert.com/blog/certificate-pinning-what-is-certificate-pinning)
- Route53 permette di creare Private Hosted Zone e record DNS per i nomi di dominio delle API AWS
- La Private CA in ACM-PCA non può essere limitata a firmare soltanto certificati per specifici Common Names

**Impatto potenziale:** privesc indiretto tramite l'intercettazione di informazioni sensibili nel traffico.

#### Sfruttamento <a href="#discovery" id="discovery"></a>

Trova i passaggi di sfruttamento nella ricerca originale: [**https://niebardzo.github.io/2022-03-11-aws-hijacking-route53/**](https://niebardzo.github.io/2022-03-11-aws-hijacking-route53/)

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