AWS - Route53 Privesc
Pour plus d'informations sur Route53, consultez :
pageAWS - Route53 Enumroute53:CreateHostedZone
, route53:ChangeResourceRecordSets
, acm-pca:IssueCertificate
, acm-pca:GetCertificate
route53:CreateHostedZone
, route53:ChangeResourceRecordSets
, acm-pca:IssueCertificate
, acm-pca:GetCertificate
Pour effectuer cette attaque, le compte cible doit déjà avoir une Autorité de certification privée du gestionnaire de certificats AWS (AWS-PCA) configurée dans le compte, et les instances EC2 dans le(s) VPC doivent déjà avoir importé les certificats pour lui faire confiance. Avec cette infrastructure en place, l'attaque suivante peut être effectuée pour intercepter le trafic de l'API AWS.
Autres autorisations recommandées mais non requises pour la partie d'énumération : route53:GetHostedZone
, route53:ListHostedZones
, acm-pca:ListCertificateAuthorities
, ec2:DescribeVpcs
En supposant qu'il existe un VPC AWS avec plusieurs applications cloud natives qui communiquent entre elles et avec l'API AWS. Comme la communication entre les microservices est souvent chiffrée en TLS, il doit y avoir une CA privée pour délivrer les certificats valides pour ces services. Si ACM-PCA est utilisé à cette fin et que l'adversaire parvient à obtenir l'accès pour contrôler à la fois route53 et ACM-PCA CA privée avec l'ensemble minimal d'autorisations décrit ci-dessus, il peut détourner les appels d'application vers l'API AWS en prenant le contrôle de leurs autorisations IAM.
Cela est possible car :
Les SDK AWS n'ont pas de Certificat d'Épinglage
Route53 permet de créer une zone hébergée privée et des enregistrements DNS pour les noms de domaine des API AWS
La CA privée dans ACM-PCA ne peut pas être restreinte à la signature uniquement des certificats pour des noms communs spécifiques
Impact potentiel : Élévation de privilèges indirecte en interceptant des informations sensibles dans le trafic.
Exploitation
Trouvez les étapes d'exploitation dans la recherche originale : https://niebardzo.github.io/2022-03-11-aws-hijacking-route53/
Dernière mise à jour