AWS - Route53 Privesc
Para obtener más información sobre Route53, consulta:
pageAWS - Route53 Enumroute53:CreateHostedZone
, route53:ChangeResourceRecordSets
, acm-pca:IssueCertificate
, acm-pca:GetCertificate
route53:CreateHostedZone
, route53:ChangeResourceRecordSets
, acm-pca:IssueCertificate
, acm-pca:GetCertificate
Para realizar este ataque, la cuenta objetivo ya debe tener una Autoridad de Certificación Privada de AWS (AWS-PCA) configurada en la cuenta, y las instancias EC2 en las VPC(s) deben haber importado previamente los certificados para confiar en ella. Con esta infraestructura en su lugar, se puede realizar el siguiente ataque para interceptar el tráfico de la API de AWS.
Otros permisos recomendados pero no requeridos para la parte de enumeración: route53:GetHostedZone
, route53:ListHostedZones
, acm-pca:ListCertificateAuthorities
, ec2:DescribeVpcs
Suponiendo que hay una VPC de AWS con múltiples aplicaciones nativas en la nube que se comunican entre sí y con la API de AWS. Dado que la comunicación entre los microservicios suele estar cifrada con TLS, debe haber una CA privada para emitir los certificados válidos para esos servicios. Si se utiliza ACM-PCA para eso y el adversario logra obtener acceso para controlar tanto route53 como acm-pca private CA con el conjunto mínimo de permisos descrito anteriormente, puede interceptar las llamadas de aplicación a la API de AWS tomando el control de sus permisos IAM.
Esto es posible porque:
Los SDK de AWS no tienen Pinning de Certificados
Route53 permite crear Zona Hospedada Privada y registros DNS para nombres de dominio de API de AWS
La CA privada en ACM-PCA no se puede restringir para firmar solo certificados para Nombres Comunes específicos
Impacto potencial: Escalada de privilegios indirecta al interceptar información sensible en el tráfico.
Explotación
Encuentra los pasos de explotación en la investigación original: https://niebardzo.github.io/2022-03-11-aws-hijacking-route53/
Última actualización