AWS - Route53 Privesc
Para más información sobre Route53 consulta:
AWS - 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 debe tener ya configurada una Autoridad de Certificación Privada de AWS Certificate Manager (AWS-PCA) en la cuenta, y las instancias de EC2 en el/los VPC(s) deben haber importado ya 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 un VPC de AWS con múltiples aplicaciones nativas de la nube comunicándose entre sí y con la API de AWS. Dado que la comunicación entre los microservicios está a menudo 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 la CA privada de acm-pca con el conjunto mínimo de permisos descritos anteriormente, puede secuestrar las llamadas de la aplicación a la API de AWS asumiendo sus permisos de IAM.
Esto es posible porque:
Los SDK de AWS no tienen Certificate Pinning
Route53 permite crear Zonas Alojadas Privadas y registros DNS para los nombres de dominio de las APIs de AWS
La CA privada en ACM-PCA no puede ser restringida para firmar solo certificados para Nombres Comunes específicos
Impacto Potencial: Privesc indirecto 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/
Last updated